討論LSTM和RNN梯度消失問題


 
1RNN為什么會有梯度消失問題
(1)沿時間反向方向:t-n時刻梯度=t時刻梯度* π(W*激活函數的導數)
 
(2)沿隱層方向方向:l-n層的梯度=l層的梯度*π(U*激活函數的導數)
所以激活函數的導數和W連乘可以造成梯度消失和爆炸;由函數曲線看sigmoid的導數最大是1/4;
 
 
2LSTM可以避免梯度消失問題嗎?
 
由三個門的狀態公式,ht為輸出,ct為狀態單元
由公式看出ct是線性增加的,加法形式
 
查看知乎和一些資料,LSTM梯度消失的解決是因為ct和ct-1的導數是ft,也就是遺忘門的值,遺忘門通常接近1。
我理解是解決了LSTM單元圖中的最上面那條橫向通路ct-1到ct的梯度消失問題;
但ht會通過權重矩陣和下一單元連接,梯度鏈中也存在梯度消失問題。
 
 
(1)沿時間反向方向:t-n時刻梯度=π( Σ t時刻梯度* 四個狀態的W)
 
 
其中,
 
 
(2)沿隱層方向方向:l-n層的梯度=π(( Σ 四個狀態的梯度* W) *l層激活函數的導數 )    
 
 
 
備注:
激活函數tanh和sigmoid的導函數都是原函數的函數:
 
 
 
 
 
 
 


免責聲明!

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



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