背景
了解深度学习中的梯度爆炸与消失的原因,及如何处理梯度爆炸与消失。
梯度消失
梯度消失是激活函数和权重矩阵初始化值,这两个因素决定的。
sigmoid函数,求导的最大值为0.25
根据链式求导法则:导数小于0.25,如果初始化的W值,再小于1,这样逐个相乘后,会导致偏差为0,最终导致网路中的参数无法优化
梯度爆炸
依然根据链式求导法则:如果初始化的W值>10,则每一层的乘积大于1,这样逐个相乘后,会导致一个非常大权重更新,这就是梯度爆炸
解决方案
- 好的参数初始化方式,如He初始化
- 非饱和激活函数 ReLU
- 批量规范化
- 梯度截断
- 更快的优化器
参考