深度學習面試題38:LSTM如何解決梯度消失問題


目錄

  回顧簡單RNN的梯度消失問題

  LSTM如何解決梯度消失

  遺忘門對梯度消失的影響

  遺忘門的初始化技巧

  參考資料


 

回顧簡單RNN的梯度消失問題

在簡單RNN的前向傳播過程中,輸入的數據循環地與隱藏層里的權重W(都是很小的數)做乘法運算,那么損失函數對較長時間步前的W的梯度就會很小(因為W會累乘,激活函數大多也是小數),詳細內容見【深度學習面試題35:RNN梯度消失問題(vanishing gradient)】。

 返回目錄

 

LSTM如何解決梯度消失

 

在【深度學習面試題35:RNN梯度消失問題(vanishing gradient)】中有一個結論,即簡單RNN越早的時間步梯度消失的問題越嚴重;而這一現象在LSTM不太會發生(注意這里的用詞,是不太會)。下面來分析原理。

以上圖為例,我們假設有三個時間步,最后一個時間步產生輸出,並且遺忘門、輸入門和輸出門的輸出都是1,那么整個前饋過程的計算如圖所示。

下面以最復雜的輸入門為例,演示為什么梯度不太會消失。反向求導結果如下

可以看到,損失函數對每個時間步的梯度都是一樣的,然后根據鏈式求導發展,每個時間步繼續對輸入門里的參數求梯度,結果可想而知,每個時間步下的輸入門的梯度都比較大,所以就沒有簡單RNN梯度消失的問題。

遺忘門和輸出門同理。

 返回目錄

 

遺忘門對梯度消失的影響

在上一節我們假設了遺忘門的輸出為1。

如果遺忘門的輸出為1,也就是不對記憶細胞C進行遺忘。

如果遺忘門的輸出小於1,那么,越早的時間步的梯度就會越小,可能出現梯度消失。

 返回目錄

 

遺忘門的初始化技巧

一般而言為了避免訓練LSTM因梯度消失而訓練緩慢的問題,可以將輸入門的偏置初始化大一些,這樣就可以保證遺忘門的輸出接近於1,就可以高效地訓練網絡了。

 返回目錄

 

參考資料

https://www.bilibili.com/video/BV15b411g7Wd?p=44

 返回目錄

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM