TensorFlow2 Python深度学习 - 使用Dropout层解决过拟合问题

锋哥原创的TensorFlow2 Python深度学习视频教程:

https://www.bilibili.com/video/BV1X5xVz6E4w/

课程介绍

本课程主要讲解基于TensorFlow2的Python深度学习知识,包括深度学习概述,TensorFlow2框架入门知识,以及卷积神经网络(CNN),循环神经网络(RNN),生成对抗网络(GAN),模型保存与加载等。

TensorFlow2 Python深度学习 - 使用Dropout层解决过拟合问题

之前的Fashion MINIST示例,我们会发现一个问题,训练数据准确率效果挺好,但是到了测试验证准确率就相对变差。这个其实就是过拟合了,原因就是训练过来的模型过于复杂。

我们在之前学习机器学习的时候,学过过拟合和欠拟合。

简单总结:

过拟合是模型过于复杂,导致训练数据表现好,但是测试数据表现就差。

欠拟合是模型过于简单,导致训练数据和测试数据表现都不好。

在神经网络里面,欠拟合问题很好解决,我们只需要增加层,增加每层的神经元,以及增加轮训训练次数即可。

解决过拟合的话,我们也有多种解决方案,适当的减少层,降低神经元数,以及我们今天要介绍的,使用Dropout丢弃层。

只需要在全连接之前,加一个Dropout丢弃层即可。

Dropout丢弃层是一种神经网络正则化技术,通过在训练阶段随机丢弃部分神经元,防止模型过拟合并提升泛化能力。

复制代码
layers.Dropout(0.5),  # 添加Dropout层来防止过拟合 随机丢弃50%的节点

我们重新运行测试,发现训练数据和验证数据效果都好很多了。

相关推荐
Java后端的Ai之路8 小时前
【Python 教程15】-Python和Web
python
冬奇Lab10 小时前
一天一个开源项目(第15篇):MapToPoster - 用代码将城市地图转换为精美的海报设计
python·开源
心疼你的一切12 小时前
昇腾CANN实战落地:从智慧城市到AIGC,解锁五大行业AI应用的算力密码
数据仓库·人工智能·深度学习·aigc·智慧城市·cann
二十雨辰12 小时前
[python]-AI大模型
开发语言·人工智能·python
Yvonne爱编码12 小时前
JAVA数据结构 DAY6-栈和队列
java·开发语言·数据结构·python
chian-ocean12 小时前
量化加速实战:基于 `ops-transformer` 的 INT8 Transformer 推理
人工智能·深度学习·transformer
水月wwww12 小时前
【深度学习】卷积神经网络
人工智能·深度学习·cnn·卷积神经网络
杜子不疼.12 小时前
CANN_Transformer加速库ascend-transformer-boost的大模型推理性能优化实践
深度学习·性能优化·transformer
前端摸鱼匠13 小时前
YOLOv8 环境配置全攻略:Python、PyTorch 与 CUDA 的和谐共生
人工智能·pytorch·python·yolo·目标检测
renhongxia113 小时前
如何基于知识图谱进行故障原因、事故原因推理,需要用到哪些算法
人工智能·深度学习·算法·机器学习·自然语言处理·transformer·知识图谱