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