机器学习(自然语言处理)-2-梯度消失和梯度爆炸

机器学习(自然语言处理)-2-梯度消失和梯度爆炸

反向传播

在看梯度消失和梯度爆炸之前,首先应了解反向传播的思想。因为梯度消失和梯度爆炸问题都是因为网络太深,网络权值更新不稳定造成的,本质上是因为梯度反向传播中的连乘效应。
目前优化神经网络的方法都是基于反向传播的思想,即根据损失函数计算的误差通过梯度反向传播的方式,指导深度网络权值的更新优化。

反向传播算法(Backpropagation)的主要思想是:

  1. 将训练集数据输入到神经网络的输入层,经过隐藏层,最后达到输出层并输出结果,这是神经网络的前向传播过程;
  2. 由于神经网络的输出结果与实际结果有误差,则计算估计值与实际值之间的误差,并将该误差从输出层向隐藏层反向传播,直至传播到输入层;
  3. 在反向传播的过程中,根据误差调整各种参数的值;不断迭代上述过程,直至收敛。

**通俗理解:**训练集作为输入时,层与层之间连接的权重w及偏差b都是初始化的,训练的目标就是通过反向传播调整w和b,使模型的预测效果尽可能接近理想输出,即最小化误差。为了找到损失函数的极小值,梯度下降无疑是种有效的方法。

模型推导可看参考文献1,2,很详细。

梯度下降

之前看过一篇梯度下降的形象化解释(参考文献3):
在这里插入图片描述
以一个人下山为例。比如刚开始的初始位置是在红色的山顶位置,那么现在的问题是该如何达到蓝色的山底呢?按照梯度下降算法的思想,它将按如下操作达到最低点:

  1. 明确自己现在所处的位置;
  2. 找到相对于该位置而言下降最快的方向;
  3. 沿着第二步找到的方向走一小步,到达一个新的位置,此时的位置肯定比原来低;
  4. 重复1-3;
  5. 终止于最低点。

按照以上5步,最终达到最低点,这就是梯度下降的完整流程。

梯度消失

在神经网络中,当前面隐藏层的学习速率低于后面隐藏层的学习速率(激活函数的导数值往往小于1,当层级很多时,从输出层向输入层反向传播的过程中导数逐渐趋近于0,这样越靠前的层级,其w,b参数的值难以更新,神经网络无法优化,训练无法收敛),即随着隐藏层数目的增加,分类准确率反而下降了。这就是梯度消失现象。
产生梯度消失的主要原因有:

  1. 隐藏层的层数过多;
  2. 采用了不合适的激活函数(更容易产生梯度消失,但是也有可能产生梯度爆炸)。

梯度爆炸

梯度爆炸则主要是指权重值在反向传播的过程中变得过大。以sigmoid激活函数为例,当权值|w|过大时,导致 |sigmoid’(z)w| > 1,当层级很多时,大于1的值不断相乘,梯度呈指数级增长,最后到输入时,梯度将会非常大,会得到一个非常大的权重更新,就会产生梯度爆炸。
产生梯度爆炸的主要原因有:

  1. 隐藏层的层数过多;
  2. 权重的初始化值过大。

解决梯度消失和梯度爆炸的常用方法

  1. 梯度剪切、正则
    梯度剪切:主要针对梯度爆炸,其思想是设置一个梯度剪切阈值,然后更新梯度的时候,如果梯度超过这个阈值,那么就将其强制限制在这个范围之内。这可以防止梯度爆炸。
    权重正则化(weithts regularization):常用L1正则和L2正则,其主要是通过对网络权重做正则来限制过拟合。如果发生梯度爆炸,那么权值就会变的非常大,反过来,通过正则化项来限制权重的大小,也可以在一定程度上防止梯度爆炸的发生。
  2. 选择relu等梯度大部分落在常数上的激活函数
    relu函数的导数在正数部分是恒等于1的,因此在深层网络中使用relu激活函数就不会导致梯度消失和爆炸的问题。
    relu函数公式:
    在这里插入图片描述
    图像:
    在这里插入图片描述
  3. batch normalization
    BN就是通过对每一层的输出规范为均值和方差一致的方法,消除了权重参数放大缩小带来的影响,进而解决梯度消失和爆炸的问题,或者可以理解为BN将输出从饱和区拉到了非饱和区。
  4. 残差网络的捷径(shortcut)
    Deep Residual Learning for Image Recognition
  5. LSTM的“门(gate)”结构
    LSTM的结构设计可以改善RNN中的梯度消失的问题。主要原因在于LSTM内部复杂的“门”(gates),如下图所示。
    在这里插入图片描述
    LSTM 通过它内部的“门”可以在接下来更新的时候“记住”前几次训练的”残留记忆“。

参考文献

  1. 反向传播——通俗易懂
  2. 反向传播算法(过程及公式推导)
  3. 梯度下降算法详解
  4. 出现梯度消失与梯度爆炸的原因以及解决方案
  5. 梯度消失和梯度爆炸情况详解
  6. 梯度消失和梯度爆炸及解决方法

猜你喜欢

转载自blog.csdn.net/qq_36663518/article/details/107927299
今日推荐