Naive RNN vs LSTM vs GRU、attention基礎

<font color=#000000 size=4 face="黑體">原文地址:https://www.jianshu.com/p/b8653f8b5b2b函數

1、Recurrent Neural Network

圖1.1 Recurrent Neural Network1 圖1.2 Recurrent Neural Network2 圖1.3 Recurrent Neural Network3

2、Naive RNN

圖2.1 Naive RNN1 圖2.2 Naive RNN2

Naive RNN更新參數時易出現梯度消失/爆炸的問題。spa

3、LSTM

圖3.1 LSTM1 圖3.2 LSTM2

  • peephole

圖3.3 LSTM3

  • Naive RNN vs LSTM 記憶更新部分的操做,Naive RNN爲乘法,LSTM爲加法。所以LSTM能記得更久些。 記$\delta_c^t=\frac{\partial L}{\partial c^t}=\frac{\partial L}{\partial c^{t+1}}\frac{\partial c^{t+1}}{\partial c^t}=\delta_c^{t+1}(z^f+\cdots)$。當$z^f=1$時,即便其餘項很小,梯度也可以很好地傳達到上一個時刻;當$z^f=0$時,上一個時刻的記憶不會影響當前時刻,梯度也不會回傳回去。所以,$z^f$控制了梯度回傳的衰減程度。 能有效地緩解梯度消失/爆炸問題。

圖3.4 LSTM4

  • LSTM設計緣由

圖3.5 LSTM5

標準形式的LSTM能工做得很好;輸入門與遺忘門聯動(相似GRU)以及沒有peephole也能工做得很好。 輸出激活函數、遺忘門對於LSTM的表現很重要。設計

4、GRU

圖4.1 GRU1 圖4.2 GRU2

與LSTM相比,GRU能夠看作是輸入門和遺忘門聯動。由4個矩陣乘法變爲了3個,參數量更少,下降了過擬合的可能性。3d

5、attention基礎

  • dot $S_{ab}=h_a^Th_b$
  • general $S_{ab}=h_a^T W h_b$
  • concat $S_{ab}=v^T tanh(W_a h_a+W_b h_b)$

</font>blog

相關文章
相關標籤/搜索