梯度消失和梯度爆炸

1、简介
在反向传播的过程中,需要对激活函数进行求导,如果导数大于1,那么会随着网络层数的增加梯度更新将会朝着指数爆炸的方式增加,这就是梯度爆炸。同样,如果导数小于1,那么随着网络层数的增加梯度更新信息会朝着指数衰减的方式减少,这就是梯度消失。梯度消失和梯度爆炸的根本原因在于反向传播训练法,属于先天不足。

2、解决方法
1)预训练加微调。先对整个网络逐层预训练,预训练完成之后再微调。(应用的不是很多)
2)梯度剪切。主要是针对梯度爆炸的问题提出的,基本思想是对梯度设置一个阈值,然后更新梯度的时候,如果梯度超过这个阈值,那么将其强制限制在这个范围之内。正则化可以通过对权重做正则限制过拟合,从而限制梯度爆炸的发生。
3)relu等激活函数。relu:如果激活导数为1,那么不存在梯度消失和爆炸了。
4)batch norm。通过对每一层的输出规范为均值方差一致的方法,消除了权重带来的放大缩小的影响。
5)残差网络

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容