GRU算法原理
一、GRU算法
GRU(Gate Recurrent Unit,循環(huán)門(mén)單元)是循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network, RNN)的一種。和LSTM(Long-Short Term Memory)一樣,也是為了解決長(zhǎng)期記憶和反向傳播中的梯度等問(wèn)題而提出來(lái)的。
在LSTM中引入了三個(gè)門(mén)函數(shù):輸入門(mén)、遺忘門(mén)和輸出門(mén)來(lái)控制輸入值、記憶值和輸出值。而在GRU模型中只有兩個(gè)門(mén):分別是更新門(mén)和重置門(mén)。具體結(jié)構(gòu)如下圖所示:
圖中的zt和rt分別表示更新門(mén)和重置門(mén)。更新門(mén)用于控制前一時(shí)刻的狀態(tài)信息被帶入到當(dāng)前狀態(tài)中的程度,更新門(mén)的值越大說(shuō)明前一時(shí)刻的狀態(tài)信息帶入越多。重置門(mén)控制前一狀態(tài)有多少信息被寫(xiě)入到當(dāng)前的候選集??t上,重置門(mén)越小,前一狀態(tài)的信息被寫(xiě)入的越少。
GRU組合了遺忘門(mén)和輸入門(mén)到一個(gè)單獨(dú)的更新門(mén)當(dāng)中,也合并了細(xì)胞狀態(tài)? C和隱藏狀態(tài)h?,并且還做了一些其他的改變,使得其模型比標(biāo)準(zhǔn)LSTM?模型更簡(jiǎn)單,其數(shù)學(xué)表達(dá)式為:
其中,門(mén)控信號(hào)zt的范圍為0~1。門(mén)控信號(hào)越接近1,代表”記憶“下來(lái)的數(shù)據(jù)越多;而越接近0則代表”遺忘“的越多。
二、總結(jié)
GRU輸入輸出的結(jié)構(gòu)與普通的RNN相似,其中的內(nèi)部思想與LSTM相似。
與LSTM相比,GRU內(nèi)部少了一個(gè)”門(mén)控“,參數(shù)比LSTM少,但是卻也能夠達(dá)到與LSTM相當(dāng)?shù)墓δ堋?紤]到硬件的計(jì)算能力和時(shí)間成本,因而很多時(shí)候我們也就會(huì)選擇更加”實(shí)用“的GRU。
參考:
https://zhuanlan.zhihu.com/p/32481747
https://www.cnblogs.com/jiangxinyang/p/9376021.html
https://zhuanlan.zhihu.com/p/72500407
https://zhuanlan.zhihu.com/p/97027947
總結(jié)
- 上一篇: PythonOpenCV--Rtrees
- 下一篇: defer的用法