GRU(Gate Recurrent Unit,循環門單元)是循環神經網絡(Recurrent Neural Network, RNN)的一種。和LSTM(Long-Short Term Memory)同樣,也是爲了解決長期記憶和反向傳播中的梯度等問題而提出來的。html
在LSTM中引入了三個門函數:輸入門、遺忘門和輸出門來控制輸入值、記憶值和輸出值。而在GRU模型中只有兩個門:分別是更新門和重置門。具體結構以下圖所示: 算法
圖中的zt和rt分別表示更新門和重置門。更新門用於控制前一時刻的狀態信息被帶入到當前狀態中的程度,更新門的值越大說明前一時刻的狀態信息帶入越多。重置門控制前一狀態有多少信息被寫入到當前的候選集 ℎ̃t上,重置門越小,前一狀態的信息被寫入的越少。網絡
GRU組合了遺忘門和輸入門到一個單獨的更新門當中,也合併了細胞狀態 C和隱藏狀態h,而且還作了一些其餘的改變,使得其模型比標準LSTM模型更簡單,其數學表達式爲:函數
其中,門控信號zt的範圍爲0~1。門控信號越接近1,表明」記憶「下來的數據越多;而越接近0則表明」遺忘「的越多。atom
GRU輸入輸出的結構與普通的RNN類似,其中的內部思想與LSTM類似。spa
與LSTM相比,GRU內部少了一個」門控「,參數比LSTM少,可是卻也可以達到與LSTM至關的功能。考慮到硬件的計算能力和時間成本,於是不少時候咱們也就會選擇更加」實用「的GRU。orm
參考:xml
https://zhuanlan.zhihu.com/p/32481747htm
https://www.cnblogs.com/jiangxinyang/p/9376021.html
blog