什么是梯度消失和梯度爆炸及如何解决

原因

  • 梯度消失 (Vanishing Gradients)
    在梯度下降中, 随着算法反向的反馈, 梯度会越来越小,最终没有变化,此时并没有收敛到比好的解,这就是梯度消失的问题。
  • 梯度爆炸
    梯度爆炸原理跟梯度消失一样,反向传播时,导数大于1,导致梯度增加。

解决方法

  • **函数

什么是梯度消失和梯度爆炸及如何解决

更换**函数
ELU > leaky ReLU > ReLU > tanh > logistic

  • 添加BN层
    Batch Normalization的作用
    (1)允许较大的学习率
    (2)减弱对初始化的强依赖性
    (3)保持隐藏层中数值的均值、方差不变,让数值更稳定,为后面网络提供坚实的基础
    (4)有轻微的正则化作用(相当于给隐藏层加入噪声,类似Dropout)

  • ResNet残差网络
    https://www.jianshu.com/p/ebc3e242147e

  • LSTM结构

  • 梯度裁剪
    主要针对梯度爆炸问题,设置一个阈值,当梯度查过这个阈值之后将它限制在这个范围之内

  • 权重正则化,L1和L2正则化
    L1正则化可以产生稀疏权值矩阵,即产生一个稀疏模型,可以用于特征选择,一定程度上,L1也可以防止过拟合
    L2正则化可以防止模型过拟合(overfitting)