GRU演算法原理

一、GRU演算法

  GRU(Gate Recurrent Unit,循環門單元)是循環神經網路(Recurrent Neural Network, RNN)的一種。和LSTM(Long-Short Term Memory)一樣,也是為了解決長期記憶和反向傳播中的梯度等問題而提出來的。

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

  圖中的zt和rt分別表示更新門和重置門。更新門用於控制前一時刻的狀態資訊被帶入到當前狀態中的程度,更新門的值越大說明前一時刻的狀態資訊帶入越多。重置門控制前一狀態有多少資訊被寫入到當前的候選集 ̃t上,重置門越小,前一狀態的資訊被寫入的越少。

  GRU組合了遺忘門和輸入門到一個單獨的更新門當中,也合併了細胞狀態​ C和隱藏狀態h​,並且還做了一些其他的改變,使得其模型比標準LSTM​模型更簡單,其數學表達式為:

[公式]

  其中,門控訊號zt的範圍為0~1。門控訊號越接近1,代表」記憶「下來的數據越多;而越接近0則代表」遺忘「的越多。

二、總結

  GRU輸入輸出的結構與普通的RNN相似,其中的內部思想與LSTM相似。

  與LSTM相比,GRU內部少了一個」門控「,參數比LSTM少,但是卻也能夠達到與LSTM相當的功能。考慮到硬體的計算能力和時間成本,因而很多時候我們也就會選擇更加」實用「的GRU。

 

參考:

//zhuanlan.zhihu.com/p/32481747

//www.cnblogs.com/jiangxinyang/p/9376021.html

//zhuanlan.zhihu.com/p/72500407

//zhuanlan.zhihu.com/p/97027947