深度网络训练技巧|深度学习(李宏毅)(三)

简介: 深度网络训练技巧|深度学习(李宏毅)(三)

一、过拟合和欠拟合


  • 过拟合:训练集效果好,测试集效果不好。


  1. 提前停止
  2. 正则化
  3. Dropout


  • 欠拟合:训练集与测试集效果都不好。


  1. 切换激活函数
  2. 自适应学习率


二、 梯度消失问题


  问题:随着越来越多的激活函数加到神经网络中,损失函数的梯度趋近于0,使得网络结构很难训练。


  举个例子,如下图所示,神经网络使用sigmoid函数作为激活函数,由于sigmoid函数将函数的输入压缩到0和1之间,所以导致到浅层网络处的w变化很大时loss变化很小,即损失函数对w的梯度几乎为0。


QQ图片20220531180234.png


三、ReLU激活函数


  ReLU激活函数图像如下:


QQ图片20220531180231.png



  应注意ReLU激活函数不是线性函数。ReLU激活函数不像sigmoid函数那样压缩输入,可以有效地缓解梯度消失问题,但是ReLU也有可能产生梯度消失问题,在z小于0的时候,激活函数梯度为零,梯度消失,神经元不更新,变成了死亡节点。


  ReLU激活函数也有其他多个变种:


      1. Leaky ReLU


QQ图片20220531180228.png




      2. Parametric ReLU



QQ图片20220531180225.png


四、Maxout


  使用Maxout使得激活函数不是定义的激活函数,而是通过神经网络自己学习到的激活函数。在使用Maxout的隐藏层中将神经元进行分组,每组输出该组内神经元输出值的最大值作为Maxout层的输出。


  在下图中可以看到该种情况下(有一个神经元对应的权重和偏量均为零)相当于使用了ReLU作为激活函数。


QQ图片20220531180220.png



  当所有的神经元的权重和偏量值均不为零的时候就相当于激活函数是通过学习来得到的。下图展示了当组内神经元数为2或3时的激活函数的图像。


QQ图片20220531180218.png


五、自适应学习率


参考链接:回归|深度学习(李宏毅)笔记(一)


六、早停法



QQ图片20220531180215.png


七、正则化


QQ图片20220531180212.png


  L2正则化会在每次梯度更新时将权重乘以一个小于1但接近1的数实现权重衰减,权重越大则减得越多,而L1正则化则会在每次梯度更新时将权重减去一个固定大小的值。


八、Dropout


  在训练时设置每个神经元有p%的概率被丢掉,即将输出设置为零,相当于从神经网络中去掉该神经元。在测试时将每个权重乘以1-p%。


  Dropout相当于训练多个不同网络结构的神经网络,每一个mini-batch就会训练一种结构的神经网络,但是在这些不同的神经网络中参数是共享的。


QQ图片20220531180209.png



  关于测试时权重乘以1-p%的解释:QQ图片20220531180206.png

相关文章
|
3天前
|
机器学习/深度学习 人工智能 算法
海洋生物识别系统+图像识别+Python+人工智能课设+深度学习+卷积神经网络算法+TensorFlow
海洋生物识别系统。以Python作为主要编程语言,通过TensorFlow搭建ResNet50卷积神经网络算法,通过对22种常见的海洋生物('蛤蜊', '珊瑚', '螃蟹', '海豚', '鳗鱼', '水母', '龙虾', '海蛞蝓', '章鱼', '水獭', '企鹅', '河豚', '魔鬼鱼', '海胆', '海马', '海豹', '鲨鱼', '虾', '鱿鱼', '海星', '海龟', '鲸鱼')数据集进行训练,得到一个识别精度较高的模型文件,然后使用Django开发一个Web网页平台操作界面,实现用户上传一张海洋生物图片识别其名称。
68 7
海洋生物识别系统+图像识别+Python+人工智能课设+深度学习+卷积神经网络算法+TensorFlow
|
3天前
|
机器学习/深度学习 人工智能 算法
【昆虫识别系统】图像识别Python+卷积神经网络算法+人工智能+深度学习+机器学习+TensorFlow+ResNet50
昆虫识别系统,使用Python作为主要开发语言。通过TensorFlow搭建ResNet50卷积神经网络算法(CNN)模型。通过对10种常见的昆虫图片数据集('蜜蜂', '甲虫', '蝴蝶', '蝉', '蜻蜓', '蚱蜢', '蛾', '蝎子', '蜗牛', '蜘蛛')进行训练,得到一个识别精度较高的H5格式模型文件,然后使用Django搭建Web网页端可视化操作界面,实现用户上传一张昆虫图片识别其名称。
85 7
【昆虫识别系统】图像识别Python+卷积神经网络算法+人工智能+深度学习+机器学习+TensorFlow+ResNet50
|
3天前
|
机器学习/深度学习 人工智能 算法
【球类识别系统】图像识别Python+卷积神经网络算法+人工智能+深度学习+TensorFlow
球类识别系统,本系统使用Python作为主要编程语言,基于TensorFlow搭建ResNet50卷积神经网络算法模型,通过收集 '美式足球', '棒球', '篮球', '台球', '保龄球', '板球', '足球', '高尔夫球', '曲棍球', '冰球', '橄榄球', '羽毛球', '乒乓球', '网球', '排球'等15种常见的球类图像作为数据集,然后进行训练,最终得到一个识别精度较高的模型文件。再使用Django开发Web网页端可视化界面平台,实现用户上传一张球类图片识别其名称。
77 7
【球类识别系统】图像识别Python+卷积神经网络算法+人工智能+深度学习+TensorFlow
|
5天前
|
机器学习/深度学习 网络协议 网络性能优化
[计算机网络]深度学习传输层TCP协议
[计算机网络]深度学习传输层TCP协议
11 1
|
6天前
|
机器学习/深度学习 人工智能 Serverless
【深度学习】神经网络中的激活函数:释放非线性的力量
【深度学习】神经网络中的激活函数:释放非线性的力量
17 1
|
6天前
|
机器学习/深度学习 搜索推荐 算法
基于深度学习神经网络协同过滤模型(NCF)的图书推荐系统
登录注册 热门图书 图书分类 图书推荐 借阅图书 购物图书 个人中心 可视化大屏 后台管理
8136 0
基于深度学习神经网络协同过滤模型(NCF)的图书推荐系统
|
5天前
|
机器学习/深度学习 安全 数据安全/隐私保护
【计算机网络】深度学习HTTPS协议
【计算机网络】深度学习HTTPS协议
7 0
|
5天前
|
机器学习/深度学习 前端开发 JavaScript
【计算机网络】深度学习使用应用层的HTTP协议
【计算机网络】深度学习使用应用层的HTTP协议
7 0
|
6天前
|
机器学习/深度学习 自然语言处理 TensorFlow
深入浅出:理解和实现深度学习中的卷积神经网络(CNN)
在当今的数据驱动世界,深度学习已经成为许多领域的关键技术。本文将深入探讨卷积神经网络(CNN)的原理、结构和应用,旨在帮助读者全面理解这项强大的技术,并提供实际的实现技巧。
25 0
|
12天前
|
机器学习/深度学习 自然语言处理 前端开发
深度学习-[源码+数据集]基于LSTM神经网络黄金价格预测实战
深度学习-[源码+数据集]基于LSTM神经网络黄金价格预测实战