1、gru概述
gru是lstm網路的一種效果很好的變體,它較lstm網路的結構更加簡單,而且效果也很好,因此也是當前非常流形的一種網路。gru既然是lstm的變體,因此也是可以解決rnn網路中的長依賴問題。
在lstm中引入了三個門函式:輸入門、遺忘門和輸出門來控制輸入值、記憶值和輸出值。而在gru模型中只有兩個門:分別是更新門和重置門。具體結構如下圖所示:
圖中的zt和rt分別表示更新門和重置門。更新門用於控制前一時刻的狀態資訊被帶入到當前狀態中的程度,更新門的值越大說明前一時刻的狀態資訊帶入越多。重置門控制前一狀態有多少資訊被寫入到當前的候選集 $\tilde_t$ 上,重置門越小,前一狀態的資訊被寫入的越少。
2、gru前向傳播
根據上面的gru的模型圖,我們來看看網路的前向傳播公式:
其中表示兩個向量相連,*表示矩陣的乘積。
3、gru的訓練過程
從前向傳播過程中的公式可以看出要學習的引數有wr、wz、wh、wo。其中前三個引數都是拼接的(因為後先的向量也是拼接的),所以在訓練的過程中需要將他們分割出來:
輸出層的輸入:
輸出層的輸出:
在得到最終的輸出後,就可以寫出網路傳遞的損失,單個樣本某時刻的損失為:
則單個樣本的在所有時刻的損失為:
採用後向誤差傳播演算法來學習網路,所以先得求損失函式對各引數的偏導(總共有7個):
其中各中間引數為:
在算出了對各引數的偏導之後,就可以更新引數,依次迭代知道損失收斂。
概括來說,lstm和cru都是通過各種門函式來將重要特徵保留下來,這樣就保證了在long-term傳播的時候也不會丟失。此外gru相對於lstm少了乙個門函式,因此在引數的數量上也是要少於lstm的,所以整體上gru的訓練速度要快於lstm的。不過對於兩個網路的好壞還是得看具體的應用場景。
gru神經網路
gru與lstm總結
GRU網路簡介
gru網路 一 gru簡介 gru玩咯是對lstm網路的簡化,gru使記憶體ht融合了長期記憶和短期記憶,ht包含了過去資訊ht 1和現在資訊h t,現在資訊是過去資訊ht 1過重置門與當前輸入共同決定,兩個門限的取值範圍也是0到1之間。前向傳播時,直接使用這個記憶體更新公式就可以算出每個時刻的ht...
GRU網路原理
gru是lstm網路的一種效果很好的變體,它較lstm網路的結構更加簡單,而且效果也很好,因此也是當前非常流形的一種網路。gru既然是lstm的變體,因此也是可以解決rnn網路中的長依賴問題。在lstm中引入了三個門函式 輸入門 遺忘門和輸出門來控制輸入值 記憶值和輸出值。而在gru模型中只有兩個門...
深度學習之Seq seq網路
知識點 機器翻譯 歷史 1 逐字翻譯 2 基於統計學的機器翻譯 3 迴圈網路和編碼 翻譯過程 輸入 encoder 向量 decoder output rnn rnn seq seq應用 文字摘要 聊天機械人 機器翻譯 seq seq存在的問題 1 壓縮損失的資訊 2 長度限制 一般10 20最好 ...