長短期記憶網絡解釋
先決條件:遞歸神經網絡
為了解決深度遞歸神經網絡中的梯度消失和爆炸問題,開發了許多變體。其中最著名的之一是長短期記憶網絡 (LSTM)。從概念上講,LSTM 循環單元試圖 “記住” 到目前為止看到的所有過去知識,并 “忘記” 不相關的數據。這是通過引入不同的激活函數層(稱為“門”)來實現的,用于不同的目的。每個 LSTM 循環單元還維護一個稱為內部單元狀態的向量,該向量從概念上描述了選擇由前一個 LSTM 循環單元保留的信息。
LSTM 網絡是循環神經網絡 (RNN) 最常用的變體。LSTM 的關鍵組件是存儲單元和門(包括遺忘門和輸入門),存儲單元的內部內容由輸入門和遺忘門調制。假設兩個 segue he 都關閉了,那么記憶單元的內容在一個時間步和下一個時間步之間將保持不變。梯度門控結構允許信息在多個時間步中保留,因此也允許組流經多個時間步。這使得 LSTM 模型能夠正確克服大多數遞歸神經網絡模型發生的梯度消失。
長短期記憶網絡由四個不同的門組成,用于不同的目的,如下所述:-
1. 忘記門 (f):在忘記門處,輸入與前一個輸出相結合,生成一個介于 0 和 1 之間的分數,它決定了需要保留多少前一個狀態(或者換句話說,應該忘記多少狀態)。然后,此輸出與前一個狀態相乘。注意:激活輸出 1.0 表示“記住所有內容”,激活輸出 0.0 表示“忘記所有內容”。從另一個角度來看,忘記門的更好名稱可能是 “remember gate”
2. 輸入門 (i):Input gate 對與 forget gate 相同的信號進行操作,但這里的目標是決定哪些新信息將進入 LSTM 的狀態。input gate 的輸出(同樣是 0 和 1 之間的分數)乘以 tan h block 的輸出,該 block 產生必須添加到先前狀態的新值。然后將此門控向量添加到先前狀態以生成當前狀態
3. 輸入調制門 (g):它通常被認為是 input gate 的一個子部分,許多關于 LSTM 的文獻甚至沒有提到它,而是假設它在 Input gate 內部。它用于通過向信息添加非線性并使信息為零均值來調制 Input 門將寫入內部狀態單元的信息。這樣做是為了減少學習時間,因為零均值輸入具有更快的收斂速度。盡管此門的操作不如其他門重要,并且通常被視為提供技巧的概念,但最好將此門包含在 LSTM 單元的結構中。
4. 輸出門 (o):在輸出門口,輸入和前一個狀態像以前一樣被門控,以生成另一個縮放分數,該分數與帶來當前狀態的 tanh 塊的輸出相結合。然后給出此輸出。output 和 state 被反饋到 LSTM 塊中。
長短期記憶網絡的基本工作流程類似于遞歸神經網絡的工作流程,唯一的區別是內部細胞狀態也與隱藏狀態一起向前傳遞。

LSTM 循環單元的工作原理:
1. Take input 當前輸入、之前的隱藏狀態和之前的 internal cell 狀態。
2. 按照以下步驟計算四個不同門的值:-
? 對于每個門,通過按元素乘以相關向量和每個門的相應權重來計算當前輸入和先前隱藏狀態的參數化向量。
? 對參數化向量的每個門元素應用相應的激活函數。下面給出的是具有要應用于門的激活函數的門列表。
3. 首先計算 input gate 和 input modulation gate 的元素乘法向量,然后計算 forget gate 的元素乘法向量和之前的內部單元狀態,然后將兩個向量相加,從而計算當前內部單元狀態。

4. 首先取當前內部單元狀態向量的元素雙曲正切,然后使用輸出門執行元素乘法,從而計算當前的隱藏狀態。
上述工作說明如下:-

請注意,藍色圓圈表示元素乘法。權重矩陣 W 包含當前輸入向量和每個門的先前隱藏狀態的不同權重。
就像循環神經網絡一樣,LSTM 網絡也會在每個時間步生成一個輸出,該輸出用于使用梯度下降來訓練網絡。

循環神經網絡和長短期記憶網絡的反向傳播算法之間的唯一主要區別與算法的數學有關。
設
為每個時間步的預測輸出,并為每個時間步的實際輸出。然后每個時間步的誤差由下式給出:-

因此,總誤差由所有時間步的誤差之和給出。

同樣,該值
可以計算為每個時間步的梯度之和。

使用鏈式法則并使用 的事實 ,該事實是 的函數,并且確實是 的函數,可得出以下表達式:-

因此,總誤差梯度由以下公式給出:-

請注意,梯度方程涉及對于 LSTM 反向傳播,而梯度方程涉及基本遞歸神經網絡的鏈
。
LSTM 如何解決梯度消失和爆炸的問題?
回想一下 的
表達式 。

梯度的值由從
. 開始的導數鏈控制。使用表達式擴展此值 :-

對于基本 RNN,術語
在一定時間后開始采用大于 1 或小于 1 的值,但始終在同一范圍內。這是梯度消失和爆炸問題的根本原因。在 LSTM 中,該項沒有固定的模式,可以在任何時間步長取任何正值。因此,不能保證在無限數量的時間步長中,該項會收斂到 0 或完全發散。如果梯度開始趨向于零,則可以相應地調整門的權重以使其更接近 1。由于在訓練階段,網絡僅調整這些權重,因此它會學習何時讓梯度收斂到零,何時保留梯度。
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















