Table of Contents
渐变消失和爆炸是训练深层神经网络的常见问题。 当梯度在反向传播过程中变得太小或太大,影响学习过程时,这些现象就会发生。 了解这些现象需要分析重量更新背后的计算,并探索潜在的解决方案。
渐渐消失
当梯度在层层中向后扩散时,渐变消失时,梯度会呈指数式下降。这导致重量更新非常小,导致网络学习速度非常缓慢或完全停止学习。
从数学上讲,如果激活函数的衍生值小于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及其变体降低梯度消失的风险.
- 渐变剪切:[] 限制梯度的最大值可以防止爆炸.
- 规范化:[]批量正常化稳定了学习过程.