1.結構
2.計算
例1:
假設,,均爲輸入,當的時候將加入記憶單元,當時將將記憶單元清空,當的時候輸出記憶單元裏面的數值。根據規則,最開始記憶單元裏面存儲的是0,當輸入時因爲,所以記憶單元和輸出都不工作,到了第二列,因爲,,,所以將加入記憶單元,輸出依舊爲0,第三列,,,,所以不會被加入到記憶單元,輸出依舊爲0,第四列,,,所以會被加入到記憶單元此時記憶單元變爲7,輸出依然爲零,直到出現,記憶單元的數纔會被輸出。
例2:
還是假設最開始記憶單元裏面儲存的是0,經過函數可以得到3,經過Input Gate的sigmoid函數可以求出1,經過Output Gate的sigmoid函數計算出0,經過Forget Gate的sigmoid函數計算出1,然後根據上面的公式就可以算出最終的輸出。
3.LSTM與傳統神經網絡的聯繫
我們只要把LSTM看作是傳統神經網絡的一個神經元(neuron)即可
另外,LSTM需要四個輸入
4.LSTM的最終形態
LSTM的四個輸入都是從最初始的x乘以不同的權重得來的,然後還要考慮上一個時間點的和。
5.LSTM的數學公式
將上圖的LSTM封裝起來就是:
輸入和上一個時間點的隱藏狀態相加經過一個sigmoid函數得。
所以遺忘門(foget gate)的路徑和式子是:
輸入和上一個時間點的隱藏狀態相加經過一個sigmoid函數得,這是一個輸入門,
記憶單元的值由上面提到的幾個式子決定:
輸出和這一個時刻的隱藏狀態式子如下
注:表示把兩個向量連接成一個更長的向量
Pytorch中LSTM的參數與案例理解.
Pytorch中文文檔.
LSTM.
重推:詳解LSTM.
劉建平講LSTM.
pytorch實現LSTM.
外國大神的博文.
Understanding LSTM Networks.