深度學習之GRU網絡


1、GRU概述

  GRU是LSTM網絡的一種效果很好的變體,它較LSTM網絡的結構更加簡單,而且效果也很好,因此也是當前非常流形的一種網絡。GRU既然是LSTM的變體,因此也是可以解決RNN網絡中的長依賴問題。

  在LSTM中引入了三個門函數:輸入門、遺忘門和輸出門來控制輸入值、記憶值和輸出值。而在GRU模型中只有兩個門:分別是更新門和重置門。具體結構如下圖所示:

    

  圖中的zt和rt分別表示更新門和重置門。更新門用於控制前一時刻的狀態信息被帶入到當前狀態中的程度,更新門的值越大說明前一時刻的狀態信息帶入越多。重置門控制前一狀態有多少信息被寫入到當前的候選集 $\tilde{h}_t$ 上,重置門越小,前一狀態的信息被寫入的越少。

 

2、GRU前向傳播

  根據上面的GRU的模型圖,我們來看看網絡的前向傳播公式:

    

    

    

    

    

  其中[]表示兩個向量相連,*表示矩陣的乘積。

 

3、GRU的訓練過程

  從前向傳播過程中的公式可以看出要學習的參數有Wr、Wz、Wh、Wo。其中前三個參數都是拼接的(因為后先的向量也是拼接的),所以在訓練的過程中需要將他們分割出來:

    

    

    

  輸出層的輸入:

    

  輸出層的輸出:

    

  在得到最終的輸出后,就可以寫出網絡傳遞的損失,單個樣本某時刻的損失為:

    

  則單個樣本的在所有時刻的損失為:

    

  采用后向誤差傳播算法來學習網絡,所以先得求損失函數對各參數的偏導(總共有7個):

    

    

    

    

    

    

    

  其中各中間參數為:

    

    

    

    

    

  在算出了對各參數的偏導之后,就可以更新參數,依次迭代知道損失收斂。

  概括來說,LSTM和CRU都是通過各種門函數來將重要特征保留下來,這樣就保證了在long-term傳播的時候也不會丟失。此外GRU相對於LSTM少了一個門函數,因此在參數的數量上也是要少於LSTM的,所以整體上GRU的訓練速度要快於LSTM的。不過對於兩個網絡的好壞還是得看具體的應用場景。

 

參考文獻:

  GRU神經網絡

  GRU與LSTM總結

***本文為參考各位大神博客的筆記*


免責聲明!

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



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