1. 程式人生 > >深度學習: gradient diffusion (梯度彌散)

深度學習: gradient diffusion (梯度彌散)

Introduction

從文章《梯度彌散》摘來的一段話:

梯度下降法(以及相關的L-BFGS演算法等)在使用隨機初始化權重的深度網路上效果不好的技術原因是:梯度會變得非常小。具體而言,當使用反向傳播方法計算導數的時候,隨著網路的深度的增加,反向傳播的梯度(從輸出層到網路的最初幾層)的幅度值會急劇地減小。結果就造成了整體的損失函式相對於最初幾層的權重的導數非常小。這樣,當使用梯度下降法的時候,最初幾層的權重變化非常緩慢,以至於它們不能夠從樣本中進行有效的學習。這種問題通常被稱為“梯度的彌散”.

Summary

  • 最早期的神經網路往往都只有兩三層,最大的瓶頸就在於梯度彌散

  • 2012年有了 合理的引數初始化

    & 提出 Relu啟用函式 後,成功 “ 緩解 ”了該問題,深度的天花板第一次被打破;

  • 但網路更深的時候,梯度彌散就會死灰復燃。這時候就需要 identity mapping 來第二次打破深度的天花板;

  • BN因為在前饋的時候縮放了輸入空間,而前饋時的輸入空間又直接影響了反饋計算時的梯度狀況。所以說,BN其實幫助減緩了梯度問題。