本文是看了[譯] 理解 LSTM(Long Short-Term Memory, LSTM) 網絡之後寫的筆記。
1.Long Short Term 網絡—— 一般就叫做 LSTM ——是一種 RNN 特殊的類型,可以學習長期依賴信息。
LSTM 通過刻意的設計來避免長期依賴問題。記住長期的信息在實踐中是 LSTM 的默認行爲,而非需要付出很大代價才能獲得的能力!
所有 RNN 都具有一種重複神經網絡模塊的鏈式的形式。在標準的 RNN 中,這個重複的模塊只有一個非常簡單的結構,例如一個 tanh 層。
LSTM 同樣是這樣的結構,但是重複的模塊擁有一個不同的結構。不同於 單一神經網絡層,這裏是有四個,以一種非常特殊的方式進行交互。
2.LSTM 的核心思想
LSTM 的關鍵就是細胞狀態,水平線在圖上方貫穿運行。細胞狀態類似於傳送帶。直接在整個鏈上運行,只有一些少量的線性交互。信息在上面流傳保持不變會很容易。
細胞狀態流轉
門控結構
h_{t-1}
和x_t
,輸出一個在 0 到 1 之間的數值給每個在細胞狀態C_{t-1}
中的數字。1 表示“完全保留”,0 表示“完全捨棄”。(3)更新細胞狀態
現在是更新舊細胞狀態的時間了,C_{t-1}
更新爲C_t
。前面的步驟已經決定了將會做什麼,我們現在就是實際去完成。
我們把舊狀態與f_t
相乘,丟棄掉我們確定需要丟棄的信息。接着加上i_t * \tilde{C}_t
。這就是新的候選值,根據我們決定更新每個狀態的程度進行變化。
在語言模型的例子中,這就是我們實際根據前面確定的目標,丟棄舊代詞的性別信息並添加新的信息的地方。
最終,我們需要確定輸出什麼值。這個輸出將會基於我們的細胞狀態,但是也是一個過濾後的版本。