它的梯度去哪兒了?

題圖:aaron-burden-160110-unsplash

斯坦福 NLP 第 9 課介紹了 RNN 語言模型的一個問題:梯度消失現象。那麼什麼是梯度消失? 為什麼 RNN 會出現梯度消失呢? 梯度消失問題需要引起重視嗎?下面依次回答這 3 個問題,希望能給讀者帶來一定啟發。

首先介紹什麼是梯度消失。下圖是 RNN 模型的網路結構圖,輸入層是單詞的詞向量,隱含層中,節點間的權重都為 Wh ,且當前節點的輸入We*Xi 加上前一個節點的輸出 f(We*Xi-1 + Wh*hi-1) 作為下一個節點的輸入。

設隱含層含有6000個神經元節點,神經元的個數與梯度的大小總和的關係如下圖所示,從圖中可以看出神經元的個數大約在0~400時,梯度大小的總和隨著神經元個數增加而變大,但是隨著個數繼續增大,梯度總和的變化趨勢變得平緩,最後幾乎看不出變化,這種現象就是梯度消失。

為什麼會出現梯度消失呢?這要從 RNN 的梯度計算公式說起,應用鏈式法則,符號含義對應文章第一幅圖,求和公式中帶框的偏導是關鍵,

仍然是鏈式法則求:

連乘有什麼問題呢?沒錯,在 RNN 這種網路結構下,連乘會變得很小或很大,也就是說,梯度會消失或暴增。

梯度可以更深刻的理解為過去對將來的影響。當上面公式的梯度變為 0 時,我們不能區分:是否時步k 和 時步 t 間的數據真的就是沒有關係的;或者,當前的權重參數還是有誤的。如果屬於後者,訓練因為提前終止,而註定導致模型的預測精度不好,因此,梯度消失應該引起足夠重視。


更多相關文章請後台回復9,或10,或12,更多精彩等你來:

1) 回饋讀者:吳恩達機器學習完整系列視頻教程

2) 足夠驚艷:神經網路可以逼近任意函數嗎?

3) 深度學習|大師之作,必是精品

4) 免費送6本精選的演算法,機器學習,深度學習的書

5) 機器學習、深度學習乾貨分享


結合例子和工作實踐,已推170篇原創乾貨文章,包括:基礎演算法,機器學習演算法例子闡述,深度學習入門,斯坦福大學 NLP 課程筆記,Python ,Pandas實踐入門系列 ......

weixin.qq.com/r/cjhGXpj (二維碼自動識別)

推薦閱讀:

牡丹籽油中亞油酸充當著什麼樣的角色?
黑貓的毛髮變紅了果真是陽光曬多了嗎?
空氣凈化器的智能化發展
BBC的自然紀錄片,牆都不扶就服你!
河流為什麼是彎彎曲曲的?

TAG:自然科學 | 神經網路 |