深层神经网络难以训练的原因
目录
梯度消失
梯度爆炸
权重矩阵的退化导致模型的有效自由度减少
解决梯度消失的方法
解决梯度爆炸的方法
梯度消失
梯度消失:前面隐藏层的学习速度显著低于后面隐藏层
梯度消失的根本原因:
梯度爆炸
梯度爆炸的根本原因:当,前面的网络层比后面的网络层梯度变化更快。
权重矩阵的退化导致模型的有效自由度减少
参数空间中学习的退化速度减慢,导致减少了模型的有效维数;有效自由度减少,随着模型深度的增加,退化速度会越来越快,网络会变得敏感。
学习率:大:训练速度加快,精度降低;
小:精度增加,训练速度减慢
退化学习率:刚开始使用大的学习率加快训练速度,后减小学习率提高精度
解决梯度消失的方法
梯度消失和梯度爆炸问题都是因为网络太深,网络权值更新不稳定造成的,本质上是因为梯度反向传播中的连乘效应。
1.用ReLU、Leaky-ReLU、P-ReLU、R-ReLU、Maxout等替代sigmoid函数。
2.用Batch Normalization。
3.LSTM的结构设计也可以改善RNN中的梯度消失问题。
解决梯度爆炸的方法
1、预训练+微调
2、梯度剪切、权重正则
3、使用不同的激活函数
4、使用残差结构,为模型增加了一个shortcut,这种shortcut可以动态的调整模型的复杂度,类似于LSTM中的门结构。
5、用Batch Normalization。
最后如果转载,麻烦留个本文的链接,因为如果读者或我自己发现文章有错误,我会在这里更正,留个本文的链接,防止我暂时的疏漏耽误了他人宝贵的时间。
深层神经网络难以训练的原因相关推荐
- 为什么深层神经网络难以训练_“用魔法击败魔法”?一群计算神经学家正借神经网络解释大脑...
原文:Deep Neural Networks Help to Explain Living Brains [1] 作者:Anil Ananthaswamy(科普作家) 译者:Yang 2011 年冬 ...
- 为什么深层神经网络难以训练_深度学习与统计力学(III) :神经网络的误差曲面...
谷歌和斯坦福最新合作综述报告,发表在物理学的顶级期刊"凝聚态物理年鉴"(Annual Review of Condensed Matter Physics).作者Yasaman B ...
- 为什么深层神经网络难以训练_为什么神经网络难以理解生命游戏?
导语 生命游戏是一种简单的符号表示模型,却可以产生复杂的结果.我们可以发现对生命游戏显然有效的,几组神经网络的初始参数解:但随机输入初始参数和选择样本的神经网络,却极难理解生命游戏,成功收敛到最优解需 ...
- 基于机器学习的Adam 优化算法来提高深层神经网络的训练速度
在人工智能深度学习领域,我们经常使用梯度下降法来完成神经网络的训练任务,梯度下降算法是当前神经网络的应用最为广泛的算法之一,但是这个算法存在一些问题,就是在梯度下降的过程中存在一些波动的情况,从而导致 ...
- ApacheCN《Sklearn 与 TensorFlow 机器学习实用指南》 第11章 项目训练深层神经网络(梯度消失与梯度爆炸,选择初始化,选择激活函数)
原文:https://www.jishux.com/p/52b468ceb5722ca5 第11章 训练深层神经网络 来源:ApacheCN<Sklearn 与 TensorFlow 机器学习实 ...
- 【翻译】Sklearn 与 TensorFlow 机器学习实用指南 —— 第11章 训练深层神经网络(中)...
梯度裁剪 减少梯度爆炸问题的一种常用技术是在反向传播过程中简单地剪切梯度,使它们不超过某个阈值(这对于递归神经网络是非常有用的:参见第 14 章). 这就是所谓的梯度裁剪.一般来说,人们更喜欢批量标准 ...
- 《Scikit-Learn与TensorFlow机器学习实用指南》第11章 训练深层神经网络
第11章 训练深层神经网络 来源:ApacheCN<Sklearn 与 TensorFlow 机器学习实用指南>翻译项目 译者:@akonwang @飞龙 校对:@飞龙 @Zeyu Zho ...
- 1.1 训练/开发/测试集-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授
←上一篇 ↓↑ 下一篇→ 4.9 总结习题 (第一课) 回到目录 1.2 偏差/方差 训练/开发/测试集 (Train/Dev/Test Sets) 大家可能已经了解了,那么本周,我们将继续学习如何有 ...
- 深层神经网络与优化算法
深层神经网络与优化算法 为什么使用深层网络 对于人脸识别等应用,神经网络的第一层从原始图片中提取人脸的轮廓和边缘,每个神经元学习到不同边缘的信息:网络的第二层将第一层学得的边缘信息组合起来,形成人脸的 ...
最新文章
- 数据通信技术(四:链路聚合)
- Matlab中bwlabel函数的使用
- 选择您的Java EE 6应用服务器
- CSS--居中方式总结
- kratos的返回值问题与错误返回问题
- java易错_java易错基础知识点
- python知识:json格式文本;异常处理;字符串处理;unicode类型和str类型转换
- echarts Map(地图) 不同颜色区块显示
- matlab函数sinh,matlab sinh 使用方法
- LQ-1600K打印机色带传动故障分析
- 常见计算机密码破解实用手册
- android listview 获取viewholder,Android ViewHolder 的基本使用
- 双击计算机显示远程调用失败,win10提示远程调用过程失败且未执行的修复办法...
- 中级软件工程师资格证_软件工程师资格等级:初级,中级和高级
- IOS越狱--修复Cydia闪退(或打不开)的办法
- 砸蛋程序php,砸金蛋:jQuery+PHP实现的砸金蛋中奖程序
- Windows10系统以太网显示“未识别的网络”如何解决
- 地理位置与经纬度之间相互转换(基于python调用百度API)
- HTML 与HTML5 常用标签
- 7 款开源 Java 反编译工具