RNN、LSTM、GRU匯總

RNN、LSTM、GRU匯總

0、論文匯總

1.RNN論文

傳統RNN經典結構:Elman Network、Jordan Network、Bidirectional RNN
Jordan RNN于1986年提出:《SERIAL ORDER: A PARALLEL DISTRmUTED PROCESSING APPROACH》
Elman RNN于1990年提出:《Finding Structure in Time》
《LSTM原始論文:Long Short-Term Memory》

2、LSTM論文

論文原文
地址01:https://arxiv.org/pdf/1506.04214.pdf
地址02:https://www.bioinf.jku.at/publications/older/2604.pdf
《舊:Convolutional LSTM Network: A Machine Learning
Approach for Precipitation Nowcasting》
《LSTM原始論文:Long Short-Term Memory》

3、GRU

《GRU原始論文:Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation》
門控循環單元 (Gate Recurrent Unit, GRU) 于 2014 年提出,原論文為《Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling》。

4、其他匯總

維基百科RNN總結(發展史):https://en.wikipedia.org/wiki/Recurrent_neural_network

傳統RNN經典結構:Elman Network、Jordan Network、Bidirectional RNN
Jordan RNN于1986年提出:《SERIAL ORDER: A PARALLEL DISTRmUTED PROCESSING APPROACH》
Elman RNN于1990年提出:《Finding Structure in Time》
《LSTM原始論文:Long Short-Term Memory》

《GRU原始論文:Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation》
門控循環單元 (Gate Recurrent Unit, GRU) 于 2014 年提出,原論文為《Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling》。

博客鏈接:https://blog.csdn.net/u013250861/article/details/125922368

時間系列相關:https://zhuanlan.zhihu.com/p/637171880

論文名:Recurrent Neural Network Regularization(正則化)
論文地址:https://arxiv.org/abs/1409.2329v5

循環神經網絡(Recurrent Neural Network,RNN)
適用于處理序列數據,如文本、語音等。它在隱藏層中引入了循環連接,使得神經元能夠記住過去的信息。其中,長短期記憶網絡(Long Short-Term Memory,LSTM)和門控循環單元(Gate Recurrent Unit,GRU)是 RNN 的改進版本,能夠更好地處理長序列中的長期依賴關系。

公式:https://zhuanlan.zhihu.com/p/149869659

1、發展史

https://en.wikipedia.org/wiki/Recurrent_neural_network
現代 RNN 網絡主要基于兩種架構:LSTM 和 BRNN。[ 32 ]

在 20 世紀 80 年代神經網絡復興之際,循環網絡再次受到研究。它們有時被稱為“迭代網絡”。[ 33 ]兩個早期有影響力的作品是Jordan 網絡(1986 年)和Elman 網絡(1990 年),它們將 RNN 應用于認知心理學研究。1993 年,一個神經歷史壓縮系統解決了一項“非常深度學習”任務,該任務需要RNN 中隨時間展開的1000 多個后續層。 [ 34 ]

長短期記憶(LSTM) 網絡由Hochreiter和Schmidhuber于 1995 年發明,并在多個應用領域創下了準確率記錄。[ 35 ] [ 36 ]它成為 RNN 架構的默認選擇。

雙向循環神經網絡(BRNN) 使用兩個以相反方向處理相同輸入的 RNN。[ 37 ]這兩者通常結合在一起,形成雙向 LSTM 架構。

2006 年左右,雙向 LSTM 開始徹底改變語音識別,在某些語音應用方面表現優于傳統模型。[ 38 ] [ 39 ]它們還改進了大詞匯量語音識別[ 3 ] [ 4 ]和文本到語音合成[ 40 ],并用于Google 語音搜索和Android 設備上的聽寫。[ 41 ]它們打破了機器翻譯[ 42 ] 、語言建模[ 43 ]和多語言處理方面的記錄。 [ 44 ]此外,LSTM 與卷積神經網絡(CNN)相結合,改進了自動圖像字幕制作。[ 45 ]

編碼器-解碼器序列傳導的概念是在 2010 年代初發展起來的。最常被引用為 seq2seq 的創始人的論文是 2014 年的兩篇論文。[ 46 ] [ 47 ] seq2seq架構采用兩個 RNN(通常是 LSTM),一個“編碼器”和一個“解碼器”,用于序列傳導,例如機器翻譯。它們成為機器翻譯領域的最先進技術,并在注意力機制和Transformers的發展中發揮了重要作用。

RNN類型**:
RNN–>LATM—>BPTT—>GUR–>RNN LM—>word2vec–>seq2seq–>BERT–>transformer–>GPT
反向傳播(BP)和基于時間的反向傳播算法BPTT
BPTT(back-propagation through time)算法是常用的訓練RNN的方法,其實本質還是BP算法,只不過RNN處理時間序列數據,所以要基于時間反向傳播,故叫隨時間反向傳播。BPTT的中心思想和BP算法相同,沿著需要優化的參數的負梯度方向不斷尋找更優的點直至收斂。綜上所述,BPTT算法本質還是BP算法,BP算法本質還是梯度下降法,那么求各個參數的梯度便成了此算法的核心。

RNN發展歷史

在這里插入圖片描述
RNN的常見算法分類:
參考連接:https://zhuanlan.zhihu.com/p/148172079
1)、完全遞歸網絡(Fully recurrent network)
2)、Hopfield網絡(Hopfield network)
3)、Elman networks and Jordannetworks
4)、回聲狀態網絡(Echo state network)
5)、長短記憶網絡(Long short term memery network)
6)、雙向網絡(Bi-directional RNN)
7)、持續型網絡(Continuous-time RNN)
8)、分層RNN(Hierarchical RNN)
9)、復發性多層感知器(Recurrent multilayer perceptron)
10)、二階遞歸神經網絡(Second Order Recurrent Neural Network)
11)、波拉克的連續的級聯網絡(Pollack’s sequential cascaded networks)

2、配置和架構

https://en.wikipedia.org/wiki/Recurrent_neural_network
基于 RNN 的模型可以分為兩部分:配置和架構。多個 RNN 可以組合成一個數據流,數據流本身就是配置。每個 RNN 本身可以具有任何架構,包括 LSTM、GRU 等。

1.配置

Standard 標準、Stacked RNN 堆疊 RNN、Bidirectional 雙向、Encoder-decoder 編碼器-解碼器、PixelRNN
在這里插入圖片描述
在這里插入圖片描述

2.架構

  1. Fully recurrent 完全循環
    完全遞歸神經網絡 (FRNN) 將所有神經元的輸出連接到所有神經元的輸入。換句話說,它是一個完全連接的網絡 。這是最通用的神經網絡拓撲,因為所有其他拓撲都可以通過將某些連接權重設置為零來表示,以模擬這些神經元之間缺少連接的情況。

  2. Hopfield 霍普菲爾德
    Hopfield 網絡是一個 RNN,其中跨層的所有連接大小相等。它需要固定的輸入,因此不是通用的 RNN,因為它不處理 pattern 序列。但是,它保證它將收斂。如果連接是使用 Hebbian 學習進行訓練的,那么 Hopfield 網絡可以作為強大的內容可尋址內存運行,抵抗連接更改。

  3. Elman 網絡和 Jordan 網絡
    Elman網絡是一個三層網絡(圖中水平排列為x、 y 和 z ),并增加了一組上下文單元(圖中為u )。中間層(隱藏層)以 1 的權重固定連接到這些上下文單元。[ 51 ]在每個時間步,輸入都會前饋,并應用學習規則。固定的反向連接保存了上下文單元中隱藏單元先前值的副本(因為它們在應用學習規則之前通過連接傳播)。因此,網絡可以維持某種狀態,使其能夠執行標準多層感知器無法完成的序列預測等任務。
    Jordan網絡與 Elman 網絡類似。上下文單元由輸出層而非隱藏層提供。Jordan 網絡中的上下文單元也稱為狀態層。它們與自身具有循環連接。 [ 51 ]
    在這里插入圖片描述

  4. Long short-term memory 長短期記憶
    長短期記憶(LSTM) 是最廣泛使用的 RNN 架構。它旨在解決消失梯度問題。LSTM 通常由稱為“遺忘門”的循環門增強。[ 54 ] LSTM 可防止反向傳播的錯誤消失或爆炸。[ 55 ]相反,錯誤可以通過空間中展開的無限數量的虛擬層向后流動。也就是說,LSTM 可以學習需要記憶數千甚至數百萬個離散時間步驟前發生的事件的任務。可以發展針對特定問題的 LSTM 類拓撲。[ 56 ]即使在重要事件之間有較長的延遲,LSTM 也能正常工作,并且可以處理混合了低頻和高頻分量的信號。
    許多應用都使用 LSTM 堆棧,[ 57 ]因此被稱為“深度 LSTM”。與基于隱馬爾可夫模型(HMM) 和類似概念的先前模型不同,LSTM 可以學習識別上下文相關的語言。 [ 58 ]

  5. Gated recurrent unit 門控循環單元
    門控循環單元(GRU) 于 2014 年推出,旨在簡化 LSTM。它們以完整形式和幾個進一步簡化的變體使用。[ 59 ] [ 60 ]由于沒有輸出門,它們的參數比 LSTM 少。[ 61 ]它們在復音音樂建模和語音信號建模方面的表現與長短期記憶相似。[ 62 ] LSTM 和 GRU 之間似乎沒有特別的性能差異。[ 62 ] [ 63 ]

  6. Bidirectional associative memory雙向關聯存儲器
    由 Bart Kosko 提出,[64] 雙向關聯記憶 (BAM) 網絡是 Hopfield 網絡的一種變體,它將關聯數據存儲為向量。雙向性來自通過矩陣傳遞信息及其轉置 。通常,雙極編碼優于關聯對的二進制編碼。最近,使用馬爾可夫步進的隨機 BAM 模型得到了優化,以提高網絡穩定性和與實際應用的相關性。[65]BAM 網絡有兩層,其中任何一層都可以作為輸入驅動,以調用關聯并在另一層上生成輸出。[66]

常見變體與改進

  • LSTM(長短期記憶網絡):
    引入輸入門、遺忘門和輸出門,通過門控機制選擇性保留或遺忘信息,有效緩解梯度消失問題12。

  • GRU(門控循環單元):
    簡化 LSTM 結構,合并部分門控單元,減少參數量的同時保持性能4。

  • 雙向 RNN(BiRNN):
    同時考慮序列的前向和后向信息,適用于需要上下文理解的場景(如命名實體識別)

3、基本結構

1.神經元

https://mp.weixin.qq.com/s/MIL14-IKjJ_mF66S3brNrg
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

2.RNN

1. RNN和前饋網絡區別:

循環神經網絡是一種對序列數據有較強的處理能力的網絡, 這些序列型的數據具有時序上的關聯性的,既某一時刻網絡的輸出除了與當前時刻的輸入相關之外,還與之前某一時刻或某幾個時刻的輸出相關。傳統神經網絡(包括CNN),輸入和輸出都是互相獨立的,前饋神經網絡并不能處理好這種關聯性,因為它沒有記憶能力,所以前面時刻的輸出不能傳遞到后面的時刻。

循環神經網絡,是指在全連接神經網絡的基礎上增加了前后時序上的關系,RNN包括三個部分:輸入層、隱藏層和輸出層。相對于前饋神經網絡,RNN可以接收上一個時間點的隱藏狀態。(在傳統的神經網絡模型中,是從輸入層到隱含層再到輸出層(三個層),層與層之間是全連接的(上下層之間),每層之間的節點是無連接的(同層之間)。)
在這里插入圖片描述
圖中 x、s、o (或x、h、y)分別代表 RNN 神經元的輸入、隱藏狀態、輸出。
U、W、V 是對向量 x、s、o(或x、h、y) 進行線性變換的矩陣。
計算 St 時激活函數通常采用 tanh,計算輸出 Ot 時激活函數通常是 softmax (分類)。
在這里插入圖片描述
在這里插入圖片描述
參考:
https://blog.csdn.net/kevinjin2011/article/details/125069293
https://blog.csdn.net/weixin_44986037/article/details/128923058
https://blog.csdn.net/weixin_44986037/article/details/128954608

2. 計算公式:

https://zhuanlan.zhihu.com/p/149869659在這里插入圖片描述
h2的計算和h1類似。要注意的是,在計算時,每一步使用的參數U、W、b都是一樣的,也就是說每個步驟的參數都是共享的,這是RNN的重要特點,一定要牢記。
在這里插入圖片描述
在這里插入圖片描述RNN分為一對一、一對多、多對一、多對多,其中多對多分為兩種。
1.單個神經網絡,即一對一。2.單一輸入轉為序列輸出,即一對多。這類RNN可以處理圖片,然后輸出圖片的描述信息。3.序列輸入轉為單個輸出,即多對一。多用在電影評價分析。4.編碼解碼(Seq2Seq)結構。seq2seq的應用的范圍非常廣泛,語言翻譯,文本摘要,閱讀理解,對話生成等。5.輸入輸出等長序列。這類限制比較大,常見的應用有作詩機器人。
層次可分為:單層RNN、多層RNN、雙向RNN

3. 梯度消失:

循環神經網絡在進行反向傳播時也面臨梯度消失或者梯度爆炸問題,這種問題表現在時間軸上。如果輸入序列的長度很長,人們很難進行有效的參數更新。通常來說梯度爆炸更容易處理一些。梯度爆炸時我們可以設置一個梯度閾值,當梯度超過這個閾值的時候可以直接截取。
有三種方法應對梯度消失問題:
(1)合理的初始化權重值。初始化權重,使每個神經元盡可能不要取極大或極小值,以躲開梯度消失的區域。
(2) 使用 ReLu 代替 sigmoid 和 tanh 作為激活函數。
(3) 使用其他結構的RNNs,比如長短時記憶網(LSTM)和 門控循環單元 (GRU),這是最流行的做法。

4. RNN類型:(查看發展史)

RNN–>LATM—>BPTT—>GUR–>RNN LM—>word2vec–>seq2seq–>BERT–>transformer–>GPT
反向傳播(BP)和基于時間的反向傳播算法BPTT
BPTT(back-propagation through time)算法是常用的訓練RNN的方法,其實本質還是BP算法,只不過RNN處理時間序列數據,所以要基于時間反向傳播,故叫隨時間反向傳播。BPTT的中心思想和BP算法相同,沿著需要優化的參數的負梯度方向不斷尋找更優的點直至收斂。綜上所述,BPTT算法本質還是BP算法,BP算法本質還是梯度下降法,那么求各個參數的梯度便成了此算法的核心。

5. 網絡區別

RNN(循環神經網絡,Recurrent Neural Network)和前饋神經網絡(Feedforward Neural Network,也稱為多層感知機,MLP)是兩種常見的神經網絡結構,它們在結構和應用場景上有顯著的區別。以下是它們的主要區別:

  • 前饋網絡

    • 是一種最基礎的神經網絡結構,數據從輸入層流向隱藏層,再流向輸出層,沒有反饋或循環。
    • 每個神經元只接收前一層的輸入,不與同一層或后面的層交互。
    • 結構是靜態的,沒有記憶功能。
  • RNN

    • 引入了循環結構,允許信息在神經元之間循環傳遞。
    • 隱藏層的狀態會傳遞到下一個時間步,因此 RNN 具有“記憶”功能,可以處理序列數據。
    • 結構是動態的,適合處理時間序列或序列數據。

3.LSTM

參考:
https://zhuanlan.zhihu.com/p/149869659
https://www.jianshu.com/p/247a72812aff
https://www.jianshu.com/p/0cf7436c33ae
https://blog.csdn.net/mary19831/article/details/129570030

LSTM 緩解梯度消失、梯度爆炸,RNN 中出現梯度消失的原因主要是梯度函數中包含一個連乘項

1、RNN中梯度問題

反向傳播(求導)連乘項就是導致 RNN 出現梯度消失與梯度爆炸的罪魁禍首
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

對上面的部分解釋:

在這里插入圖片描述

在這里插入圖片描述
由于預測的誤差是沿著神經網絡的每一層反向傳播的,因此當雅克比矩陣的最大特征值大于1時,隨著離輸出越來越遠,每層的梯度大小會呈指數增長,導致梯度爆炸;反之,若雅克比矩陣的最大特征值小于1,梯度的大小會呈指數縮小,產生梯度消失。對于普通的前饋網絡來說,梯度消失意味著無法通過加深網絡層次來改善神經網絡的預測效果,因為無論如何加深網絡,只有靠近輸出的若干層才真正起到學習的作用。這使得循環神經網絡模型很難學習到輸入序列中的長距離依賴關系。
參考:
https://zhuanlan.zhihu.com/p/149869659
https://www.jianshu.com/p/247a72812aff
https://www.jianshu.com/p/0cf7436c33ae

2、LSTM結構

  1. LSTM結構
    LSTM 緩解梯度消失、梯度爆炸,RNN 中出現梯度消失的原因主要是梯度函數中包含一個連乘項
    在這里插入圖片描述
    LSTM(長短時記憶網絡)是一種常用于處理序列數據的深度學習模型,與傳統的 RNN(循環神經網絡)相比,LSTM引入了三個門( 輸入門、遺忘門、輸出門,如下圖所示)和一個 細胞狀態(cell state),這些機制使得LSTM能夠更好地處理序列中的長期依賴關系。注意:小蝌蚪形狀表示的是sigmoid激活函數
    而 LSTM 的神經元在此基礎上還輸入了一個 cell 狀態 ct-1, cell 狀態 c 和 RNN 中的隱藏狀態 h 相似,都保存了歷史的信息,從 ct-2 ~ ct-1 ~ ct。在 LSTM 中 c 與 RNN 中的 h 扮演的角色很像,都是保存歷史狀態信息,而在 LSTM 中的 h 更多地是保存上一時刻的輸出信息。
    在這里插入圖片描述

  2. 遺忘門:
    在這里插入圖片描述

  3. 輸入門
    在這里插入圖片描述

  4. 輸出門
    在這里插入圖片描述

3、LSTM梯度緩解

梯度爆炸和梯度消失緩解
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

一、LSTM 反向傳播求導核心推導

LSTM 的梯度反向傳播需計算損失函數對各參數(權重 W , U W, U W,U、偏置 b b b)和隱藏狀態的梯度,核心是細胞狀態 c t c_t ct? 和門控信號的梯度傳遞。以下為關鍵推導步驟(符號定義同正向傳播, σ \sigma σ 為 sigmoid,導數 σ ′ = σ ( 1 ? σ ) \sigma' = \sigma(1-\sigma) σ=σ(1?σ) tanh ? ′ = 1 ? tanh ? 2 \tanh' = 1-\tanh^2 tanh=1?tanh2):

1. 定義反向傳播變量

δ t = ? L ? h t \delta_t = \frac{\partial L}{\partial h_t} δt?=?ht??L?(當前時刻隱藏狀態對損失的梯度),需推導 δ t \delta_t δt? h t ? 1 h_{t-1} ht?1? c t ? 1 c_{t-1} ct?1? 及各層參數的梯度。

2. 輸出門 o t o_t ot? 的梯度

? L ? o t = δ t ⊙ tanh ? ( c t ) (鏈式法則: h t = o t ⊙ tanh ? ( c t ) ) \frac{\partial L}{\partial o_t} = \delta_t \odot \tanh(c_t) \quad \text{(鏈式法則:$h_t = o_t \odot \tanh(c_t)$)} ?ot??L?=δt?tanh(ct?)(鏈式法則:ht?=ot?tanh(ct?)
對輸出門權重 W o , U o W_o, U_o Wo?,Uo? 的梯度:
? L ? W o = ? L ? o t ⊙ o t ⊙ ( 1 ? o t ) ⊙ x t T , ? L ? U o = ? L ? o t ⊙ o t ⊙ ( 1 ? o t ) ⊙ h t ? 1 T \frac{\partial L}{\partial W_o} = \frac{\partial L}{\partial o_t} \odot o_t \odot (1-o_t) \odot x_t^T, \quad \frac{\partial L}{\partial U_o} = \frac{\partial L}{\partial o_t} \odot o_t \odot (1-o_t) \odot h_{t-1}^T ?Wo??L?=?ot??L?ot?(1?ot?)xtT?,?Uo??L?=?ot??L?ot?(1?ot?)ht?1T?

3. 細胞狀態 c t c_t ct? 的梯度

? L ? c t = δ t ⊙ o t ⊙ ( 1 ? tanh ? 2 ( c t ) ) + ? L ? c t + 1 ⊙ f t + 1 (當前時刻隱藏狀態?+?下一時刻細胞狀態的貢獻) \frac{\partial L}{\partial c_t} = \delta_t \odot o_t \odot (1 - \tanh^2(c_t)) + \frac{\partial L}{\partial c_{t+1}} \odot f_{t+1} \quad \text{(當前時刻隱藏狀態 + 下一時刻細胞狀態的貢獻)} ?ct??L?=δt?ot?(1?tanh2(ct?))+?ct+1??L?ft+1?(當前時刻隱藏狀態?+?下一時刻細胞狀態的貢獻)

4. 遺忘門 f t f_t ft?、輸入門 i t i_t it?、候選細胞 c ~ t \tilde{c}_t c~t? 的梯度
  • 遺忘門(控制歷史信息保留):
    ? L ? f t = ? L ? c t ⊙ c t ? 1 ⊙ f t ⊙ ( 1 ? f t ) \frac{\partial L}{\partial f_t} = \frac{\partial L}{\partial c_t} \odot c_{t-1} \odot f_t \odot (1-f_t) ?ft??L?=?ct??L?ct?1?ft?(1?ft?)
  • 輸入門(控制新信息注入):
    ? L ? i t = ? L ? c t ⊙ c ~ t ⊙ i t ⊙ ( 1 ? i t ) \frac{\partial L}{\partial i_t} = \frac{\partial L}{\partial c_t} \odot \tilde{c}_t \odot i_t \odot (1-i_t) ?it??L?=?ct??L?c~t?it?(1?it?)
  • 候選細胞狀態(非線性變換):
    ? L ? c ~ t = ? L ? c t ⊙ i t ⊙ ( 1 ? c ~ t 2 ) \frac{\partial L}{\partial \tilde{c}_t} = \frac{\partial L}{\partial c_t} \odot i_t \odot (1 - \tilde{c}_t^2) ?c~t??L?=?ct??L?it?(1?c~t2?)
5. 向過去時刻傳遞梯度
  • 隱藏狀態梯度
    δ t ? 1 = ( W i T ? L ? i t + W f T ? L ? f t + W o T ? L ? o t + W c T ? L ? c ~ t ) ⊙ σ ′ ( h t ? 1 ) \delta_{t-1} = \left( W_i^T \frac{\partial L}{\partial i_t} + W_f^T \frac{\partial L}{\partial f_t} + W_o^T \frac{\partial L}{\partial o_t} + W_c^T \frac{\partial L}{\partial \tilde{c}_t} \right) \odot \sigma'(h_{t-1}) δt?1?=(WiT??it??L?+WfT??ft??L?+WoT??ot??L?+WcT??c~t??L?)σ(ht?1?)
    (各門將梯度傳遞回前一時刻隱藏狀態, σ ′ \sigma' σ 為 sigmoid 導數,控制衰減)
  • 細胞狀態梯度
    ? L ? c t ? 1 = ? L ? c t ⊙ f t \frac{\partial L}{\partial c_{t-1}} = \frac{\partial L}{\partial c_t} \odot f_t ?ct?1??L?=?ct??L?ft?
    (核心路徑:若 f t ≈ 1 f_t \approx 1 ft?1,梯度近乎無損傳遞,緩解消失)
二、梯度消失的緩解:LSTM 結構設計核心

傳統 RNN 梯度消失的本質是:反向傳播時,梯度需經過多層激活函數(sigmoid/tanh 導數 < 1),導致 ∏ 導數 ≈ 0 \prod \text{導數} \approx 0 導數0(指數衰減)。
LSTM 通過門控機制重構梯度傳遞路徑,核心策略:

  1. 遺忘門主導的恒等映射

    • f t = 1 f_t = 1 ft?=1(完全保留歷史細胞狀態),則 c t = c t ? 1 + i t ⊙ c ~ t c_t = c_{t-1} + i_t \odot \tilde{c}_t ct?=ct?1?+it?c~t?,此時 ? c t ? c t ? 1 = f t = 1 \frac{\partial c_t}{\partial c_{t-1}} = f_t = 1 ?ct?1??ct??=ft?=1,梯度傳遞為 恒等映射(無衰減)。
    • 實際中,遺忘門通過學習動態調整 f t f_t ft?(接近 1 時保留歷史信息,接近 0 時遺忘),避免梯度因激活函數導數衰減而消失。
  2. 分離非線性變換與梯度路徑

    • 輸入門 i t i_t it? 和候選細胞 c ~ t \tilde{c}_t c~t? 的非線性操作(sigmoid/tanh)僅影響新信息注入,而歷史信息傳遞( c t ? 1 → c t c_{t-1} \to c_t ct?1?ct?)由線性操作(乘以 f t f_t ft?)主導,繞過了激活函數導數的衰減問題。
  3. 梯度的多路徑傳播

    • 梯度可通過 c t → c t ? 1 c_t \to c_{t-1} ct?ct?1?(主要路徑,線性)和 h t → h t ? 1 h_t \to h_{t-1} ht?ht?1?(次要路徑,非線性)傳遞,前者的穩定性確保長距離依賴的梯度有效保留。
三、梯度爆炸的緩解:訓練階段的外部策略

LSTM 未從結構上解決梯度爆炸(權重矩陣乘積的行列式可能過大),需依賴以下訓練技巧:

  1. 梯度裁剪(Gradient Clipping)
  • 原理:直接限制梯度范數,避免數值溢出。
  • 操作:設定閾值 C C C,若梯度范數 ∥ ? ∥ > C \|\nabla\| > C ∥?∥>C,則將其縮放為:
    ? = C ? ? ∥ ? ∥ \nabla = \frac{C \cdot \nabla}{\|\nabla\|} ?=∥?∥C???
  • 優勢:簡單有效,不依賴模型結構,廣泛應用于 RNN/LSTM 訓練。
  1. 合理的權重初始化
  • 正交初始化:確保權重矩陣正交(特征值為 1),避免奇異值過大導致的梯度放大。
  • Xavier/Glorot 初始化:根據輸入輸出維度動態調整初始范圍,使激活值和梯度的方差在層間保持穩定。
  • 優勢:從初始條件抑制權重矩陣的極端值,降低爆炸風險。
  1. 正則化與 Dropout
  • L2 正則化:在損失函數中添加 λ ∥ W ∥ 2 \lambda\|W\|^2 λW2,懲罰權重過大,迫使參數保持較小值。
  • 門控層 Dropout:對輸入門、遺忘門、輸出門的輸入施加 Dropout(而非細胞狀態),避免破壞梯度主路徑,同時增加模型魯棒性。
  1. 自適應優化器
  • 使用 RMSprop、Adam 等優化器,通過動態調整學習率(如 Adam 的二階矩估計),緩解梯度爆炸的影響。需注意超參數(如 β 2 \beta_2 β2?)的設置,避免過度衰減梯度。
四、總結
  • LSTM 緩解梯度消失的本質:通過遺忘門控制的細胞狀態線性傳遞(恒等映射),將傳統 RNN 的“指數衰減路徑”轉化為“穩定路徑”,確保長距離梯度有效傳播。
  • 梯度爆炸的解決:依賴訓練技巧(梯度裁剪、權重初始化等),而非結構本身,因 LSTM 無法阻止權重矩陣因參數更新導致的行列式爆炸。
  • 核心價值:LSTM 的門控機制(尤其是細胞狀態的線性路徑)是解決梯度消失的關鍵,而梯度爆炸需結合外部策略共同優化,二者結合使 LSTM 在長序列任務中表現優異。

參考:https://www.jianshu.com/p/247a72812aff

4.GRU

在這里插入圖片描述
在這里插入圖片描述
參考:
https://www.jianshu.com/p/0cf7436c33ae

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/901016.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/901016.shtml
英文地址,請注明出處:http://en.pswp.cn/news/901016.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

django數據遷移操作受阻

錯誤信息&#xff1a; django.db.utils.OperationalError: (1227, Access denied; you need (at least one of) the SYSTEM_VARIABLES_ADMIN or SESSION_VARIABLES_ADMIN privilege(s) for this operation)根據錯誤信息分析&#xff0c;該問題是由于MySQL用戶 缺乏SYSTEM_VARI…

WinForm真入門(13)——ListBox控件詳解

WinForm ListBox 詳解與案例 一、核心概念 ?ListBox? 是 Windows 窗體中用于展示可滾動列表項的控件&#xff0c;支持單選或多選操作&#xff0c;適用于需要用戶從固定數據集中選擇一項或多項的場景?。 二、核心屬性 屬性說明?Items?管理列表項的集合&#xff0c;支持動…

局域網內文件共享的實用軟件推薦

軟件介紹 在日常辦公、學習或家庭網絡環境里&#xff0c;局域網內文件共享是個常見需求。有一款免費的局域網共享軟件非常適合這種場景。 這款局域網共享軟件使用起來非常簡單&#xff0c;不需要安裝&#xff0c;直接點擊就能使用。 它的操作流程簡單易懂&#xff0c;用戶只要…

ViewModel vs AndroidViewModel:核心區別與使用場景詳解

在 Android 的 MVVM 架構中&#xff0c;ViewModel 和 AndroidViewModel 都是用于管理 UI 相關數據的組件&#xff0c;但二者有一些關鍵區別&#xff1a; 1. ViewModel 基本用途&#xff1a;用于存儲和管理與 UI 相關的數據&#xff0c;生命周期與 Activity/Fragment 解耦&…

C語言--求n以內的素數(質數)

求n以內的素數&#xff0c;可以用試除法或者埃拉托斯特尼篩法&#xff08;埃氏篩法&#xff09; 文章目錄 試除法埃拉托斯特尼篩法&#xff08;埃氏篩法&#xff09;兩種方法測試運行效率 輸入&#xff1a;數字n 輸出&#xff1a;n以內所有的素數 不管是哪個方法&#xff0c;都…

Skynet.socket 函數族使用詳解

目錄 Skynet.socket 函數族使用詳解核心功能分類一、TCP 連接管理1. 監聽端口2. 建立連接3. 關閉連接 二、數據讀寫操作1. 阻塞式讀取2. 寫入數據2.1 socket.write(fd, data) 的返回值2.2 示例代碼2.3 關鍵注意事項2.4 與其他函數的區別2.5 底層原理2.6 總結 三、UDP 處理1. 創…

Unity Addressables資源生命周期自動化監控技術詳解

一、Addressables資源生命周期管理痛點 1. 常見資源泄漏場景 泄漏類型典型表現檢測難度隱式引用泄漏腳本持有AssetReference未釋放高異步操作未處理AsyncOperationHandle未釋放中循環依賴泄漏資源相互引用無法釋放極高事件訂閱泄漏未取消事件監聽導致對象保留高 2. 傳統管理…

aws(學習筆記第三十八課) codepipeline-build-deploy-github-manual

文章目錄 aws(學習筆記第三十八課) codepipeline-build-deploy-github-manual學習內容:1. 整體架構1.1 代碼鏈接1.2 全體處理架構2. 代碼分析2.1 創建`ImageRepo`,并設定給`FargateTaskDef`2.2 創建`CodeBuild project`2.3 對`CodeBuild project`賦予權限(`ECR`的`image rep…

在windows服務器使用Nginx反向代理云端的python實現的web應用

近日得閑&#xff0c;計劃將之前寫過的一些小桌面程序搬到云服務器上方便隨時隨地使用&#xff0c;同時也學習一些基本的網站開發和搭建知識&#xff0c;于是在AI的幫助下&#xff0c;基于niceguifastapi非常快捷地搞出來了一個前后端一體的網站程序&#xff0c;放在云服務器上…

全球貿易戰火重燃:50%關稅如何絞殺跨境電商低價模式?

一、政策高壓&#xff1a;美國對華貿易戰升級路線圖 2024年5月&#xff0c;美國國會《數字貿易壁壘法案》草案曝光&#xff0c;標志著中美貿易博弈進入新階段&#xff1a; ? 關稅武器精準打擊&#xff1a;成衣、消費電子、小家電稅率擬從10-25%躍升至50% ? 監管范圍擴大&…

0411 | 軟考高項筆記:項目立項

在軟考的項目管理知識體系中&#xff0c;技術可行性和經濟可行性是項目立項階段非常重要的兩個分析維度。以下是對這兩個考點的詳細解釋和記憶方法&#xff1a; 技術可行性分析 定義&#xff1a; 技術可行性分析是評估項目在現有技術條件和資源下是否能夠成功實施。它主要回答…

二分查找3:69. x 的平方根

鏈接&#xff1a;69. x 的平方根 - 力扣&#xff08;LeetCode&#xff09; 題解&#xff1a; 本題本質是二分查找右端點 x的算數平方根一定在1 ~ x 區間內&#xff0c;在1 ~ x區間內查找一個數num&#xff0c;num^2x&#xff0c;但實際上num不一定是整數&#xff0c;所以是n…

oracle大師認證證書有用嗎

專業能力的高度認可&#xff1a;OCM 是 Oracle認證的最高級別&#xff0c;是對數據庫從業人員技術、知識和操作技能的最高級認可&#xff0c;也是 IT 界頂級認證之一。它表明持證者具備處理關鍵業務數據庫系統和應用的能力&#xff0c;能夠解決最困難的技術難題和最復雜的系統故…

InnoDB 如何解決幻讀:深入解析與 Java 實踐

在數據庫事務管理中&#xff0c;幻讀&#xff08;Phantom Read&#xff09;是并發操作中常見的問題&#xff0c;可能導致數據一致性異常。MySQL 的 InnoDB 存儲引擎通過其事務隔離機制和多版本并發控制&#xff08;MVCC&#xff09;&#xff0c;有效解決了幻讀問題。作為 Java …

【AI編程技術爆發:從輔助工具到生產力革命】

目錄 前言&#xff1a;技術背景與價值當前技術痛點解決方案概述目標讀者說明 一、技術原理剖析核心概念圖解關鍵技術模塊技術選型對比 二、實戰演示環境配置要求核心代碼實現運行結果驗證 三、性能對比測試方法論量化數據對比&#xff08;2023年數據&#xff09;結果分析 四、最…

ICRA-2025 | 視覺預測助力機器人自主導航!NavigateDiff:視覺引導的零樣本導航助理

論文&#xff1a;Yiran Qin 1 , 2 ^{1,2} 1,2, Ao Sun 2 ^{2} 2, Yuze Hong 2 ^{2} 2, Benyou Wang 2 ^{2} 2, Ruimao Zhang 1 ^{1} 1單位&#xff1a; 1 ^{1} 1中山大學&#xff0c; 2 ^{2} 2香港中文大學深圳校區論文標題&#xff1a;NavigateDiff: Visual Predictors are Ze…

【ESP32S3】GATT Server service table傳送數據到調試助手

前言 在初步學習esp32藍牙的過程中&#xff0c;借鑒了官方的GATT Server Service Table Example&#xff0c;可以在readme中看到&#xff0c;此demo是采用低功耗藍牙的通用屬性服務器來創建訂閱服務和特性。如果你接觸過MQTT&#xff0c;你會發現GATT Server這一特性和MQTT的訂…

DeepSeek :中國 AI 如何用 “小米加步槍” 逆襲硅谷

2025 年春節前夕&#xff0c;人工智能領域誕生了一項重大成果 ——DeepSeek 發布DeepSeek - R1 大模型。這一模型迅速引發廣泛關注&#xff0c;在蘋果 AppStore 中國區免費榜登頂。 DeepSeek 采用開源策略&#xff0c;依據寬松的 MIT 許可證&#xff0c;公開了模型權重、訓練方…

關稅擾動下市場波動,如何尋找確定性的長期之錨?

近期的關稅紛爭&#xff0c;擾動全球資本市場下行。A股市場一度大幅下跌。但隨著各大主力下場&#xff0c;有關部委發布有關有力措施&#xff0c;A股逐步穩住陣腳。 4月8日至4月10日&#xff0c;大盤指數連續3天上漲&#xff0c;上漲120多點&#xff0c;展現出較強的抵御關稅壁…

NeuroImage:膝關節炎如何影響大腦?靜態與動態功能網絡變化全解析

膝骨關節炎&#xff08;KOA&#xff09;是導致老年人活動受限和殘疾的主要原因之一。這種疾病不僅引起關節疼痛&#xff0c;還會顯著影響患者的生活質量。然而&#xff0c;目前對于KOA患者大腦功能網絡的異常變化及其與臨床癥狀之間的關系尚不清楚。 2024年4月10日&#xff0c;…