渐变消失和爆炸是训练深层神经网络的常见问题。 当梯度在反向传播过程中变得太小或太大,影响学习过程时,这些现象就会发生。 了解这些现象需要分析重量更新背后的计算,并探索潜在的解决方案。

渐渐消失

当梯度在层层中向后扩散时,渐变消失时,梯度会呈指数式下降。这导致重量更新非常小,导致网络学习速度非常缓慢或完全停止学习。

从数学上讲,如果激活函数的衍生值小于1,则层的梯度l可以表示为:

QQL/QXW l = (XQL/QQA]] ]]] ⁇ ( ⁇ a]l ]/ ⁇ z ]l ]]]]( ⁇ l / ⁇ w ]l ]]]])).

,其中 ⁇ a l / ⁇ z l ]是激活函数的衍生物。如果该衍生物少于1,重复乘法会导致梯度指数化减小。

渐变爆炸

当梯度在反向传播过程中呈指数增长时,渐变爆炸就会发生,这会导致重量的大幅更新,这可能造成训练中的不稳定和差异。

从数学上讲,如果所涉及的衍生物大于1,梯度可以指数递增:

QQL/QXWl](XQL/QQA]l+1]) *(XQA]l+1/Xl+1) *(XXl+1]/]l]*.) *

消失和爆炸梯级的解决办法

几种技术可以减轻这些问题:

  • 重量初始化:[] 使用Xavier或He初始化等方法有助于保持稳定的梯度.
  • 激活函数:[] reLU及其变体降低梯度消失的风险.
  • 渐变剪切:[] 限制梯度的最大值可以防止爆炸.
  • 规范化:[]批量正常化稳定了学习过程.