多層RNN


多層雙向GRU

參考:博客

RNN在使用過程中會出現梯度爆炸 (exploding gradients) 和梯度消失 (vanishing gradients) 兩種問題:

  • 梯度爆炸 這個問題通常出現在深度神經網絡中 (多層網絡),當使用梯度回傳時,梯度可能會爆炸。這個問題可以使用 gradient clipping 方法解決,即設定一個閾值,當超過這個閾值之后,就把梯度設為一個固定值;
  • 梯度消失 這個問題通常是因為步驟過長,RNN不能很好的捕捉之前的信息;

為了解決這兩種問題,可以引入兩種RNN的變形,GRU和LSTM。

雙向網絡

雙向網絡的結構如下圖所示:

computational graph

每個時間步,前向和后向的表示都用來計算當前的 \(\widehat{y}\):

\[\hat{y}_t = g(W_y[\overrightarrow{a}_t,\overleftarrow{a}_t]+b_y) \]

多層網絡

我們可以將這些單層的RNN堆疊成多層的網絡,網絡的結構如下:

computational graph

可以看出第 2 層,第 3 步的結果計算如下:

\[a^{l2}_{t3}=g(W_a[a^{l2}_{t2},a^{l1}_{t3}]+b_a) \]


免責聲明!

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



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