李宏毅深度學習筆記(十三)LSTM(長短期記憶網絡)

1.結構

在這裏插入圖片描述

2.計算

在這裏插入圖片描述例1:
在這裏插入圖片描述假設x1x_1x2x_2x3x_3均爲輸入,當x2=1x_2=1的時候將x1x_1加入記憶單元,當x2=1x_2=-1時將將記憶單元清空,當x3=1x_3=1的時候輸出記憶單元裏面的數值。根據規則,最開始記憶單元裏面存儲的是0,當輸入x1=1x_1=1時因爲x2=0x_2=0x3=0x_3=0所以記憶單元和輸出都不工作,到了第二列,因爲x1=3x_1=3x2=1x_2=1x3=0x_3=0,所以將x1=3x_1=3加入記憶單元,輸出依舊爲0,第三列,x1=2x_1=2x2=0x_2=0x3=0x_3=0,所以x1=2x_1=2不會被加入到記憶單元,輸出依舊爲0,第四列x1=4x_1=4x2=1x_2=1x3=0x_3=0,所以x1=4x_1=4會被加入到記憶單元此時記憶單元變爲7,輸出依然爲零,直到出現x3=1x_3=1,記憶單元的數纔會被輸出。

例2:
在這裏插入圖片描述
還是假設最開始記憶單元裏面儲存的是0,經過函數g(x)g(x)可以得到3,經過Input Gate的sigmoid函數可以求出1,經過Output Gate的sigmoid函數計算出0,經過Forget Gate的sigmoid函數計算出1,然後根據上面的公式就可以算出最終的輸出。
在這裏插入圖片描述

3.LSTM與傳統神經網絡的聯繫

我們只要把LSTM看作是傳統神經網絡的一個神經元(neuron)即可
在這裏插入圖片描述另外,LSTM需要四個輸入
在這裏插入圖片描述

4.LSTM的最終形態

在這裏插入圖片描述LSTM的四個輸入都是從最初始的x乘以不同的權重得來的,然後還要考慮上一個時間點的ctc^thth^t

5.LSTM的數學公式

將上圖的LSTM封裝起來就是:
在這裏插入圖片描述輸入xtx_t和上一個時間點的隱藏狀態ht1h_{t-1}相加經過一個sigmoid函數得ftf_t
所以遺忘門(foget gate)的路徑和式子是:
在這裏插入圖片描述輸入xtx_t和上一個時間點的隱藏狀態ht1h_{t-1}相加經過一個sigmoid函數得iti_t,這是一個輸入門,
在這裏插入圖片描述記憶單元CtC_t的值由上面提到的幾個式子決定:
在這裏插入圖片描述
輸出oto_t和這一個時刻的隱藏狀態hth_t式子如下
在這裏插入圖片描述注:[ht1,xt][h_{t-1},x_t]表示把兩個向量連接成一個更長的向量

Pytorch中LSTM的參數與案例理解.
Pytorch中文文檔.
LSTM.
重推:詳解LSTM.
劉建平講LSTM.
pytorch實現LSTM.
外國大神的博文.
Understanding LSTM Networks.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章