RNN存在的問題:梯度爆炸,長期依賴參數量過大等問題
目錄
1.GRU(門控循環單元)
1.1.什么是GRU
1.2.直觀理解
1.3.本質解決問題
2.LSTM(長短記憶網絡)
2.1.作用
3.結構擴展與效率優化?
1.GRU(門控循環單元)
2014年,出現的算法:
論文地址:[1406.1078] Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation
1.1.什么是GRU
- GRU增加了兩個門,一個重置門(reset gate)和一個更新門(update gate)
- 重置門決定了如何將新的輸入信息與前面的記憶相結合
- 更新門定義了前面記憶保存到當前時間步的量
- 如果將重置門設置為 1,更新門設置為 0,那么將再次獲得標準 RNN 模型
1.2.直觀理解
相當于在網絡當中增加了一些記憶的標記,然后對后面預測輸出有幫助
The cat,which already ate,…….,was full.
對于上面的句子,was是句子前面的cat來進行指定的,如果是復數將是were。所以之前的RNN當中的細胞單元沒有這個功能,GRU當中加入更新門,在cat的位置置位1,一直保留到was時候。
1.3.本質解決問題
原論文中這樣介紹:
- 為了解決短期記憶問題,每個遞歸單元能夠自適應捕捉不同尺度的依賴關系
- 解決梯度消失的問題,在隱層輸出的地方ht,ht?1的關系用加法而不是RNN當中乘法+激活函數
2.LSTM(長短記憶網絡)
- hth?t??:為該cell單元的輸出
- ctc?t??:為隱層的狀態
- 三個門:遺忘門f、更新門u、輸出門o
2.1.作用
便于記憶更長距離的時間狀態。
3.結構擴展與效率優化?
- ??雙向RNN(Bi-RNN/Bi-LSTM/Bi-GRU)??
- 疊加正向和反向RNN層,同時捕捉過去和未來的上下文信息,適用于NLP任務(如機器翻譯)。
- ??深層RNN(Stacked RNN)??
- 堆疊多層RNN單元(如LSTM/GRU),增強模型表達能力,但需注意梯度問題。
- ??IndRNN(2018)??
- 對神經元獨立循環連接,緩解梯度消失,支持更深的網絡和更長的序列。