\祝我生日快樂/
以上都是以最基本的RNN延伸出的模型,但其實看到這裡可能會覺得很奇怪,因為如果前面的資料已經跑過去很多時,Output的值可能會越來越大,或者是每個hidden layer能夠參考的記憶只有上一個資料。於是Long Short-term Memory可以將這些問題都解決。
在LSTM中的Memory cell中除了原本的Input之外,還有三個不同的Gate分別為:
而這些Gate的函數都會經由Machine訓練而來,不用擔心為什麼會出現這些東西:)
這三個Gate會決定數值的行蹤。每個Gate都有它的Signal,而這些數值都是從原本的Input來的。每一個Gate都會決定當前的資料要不要繼續放到下一個步驟或是要不要儲存到下一次的計算,當這個Gate接近1時,資料會繼續傳遞,而當Gate接近0時,資料就不會繼續傳遞。
總之,這個神經元會有4個input、1個Output及一個數值儲存在Memory cell中。
請把 dash 放在 Short 和 term 中,原本的Short-term Memory只能記住上一個資料,而LSTM只要不把Forget get關掉就可以讓資料一直傳遞下去。 - 李宏毅
不過這裡還是簡短說明一下:
Input Gate, Forget Gate, Output Gate會被Zi, Zf, Zo這三個參數影響,而每個Gate都會有各自的Function(是ML出來的結果),所以三個值都會經過Function變成f(Zi), f(Zf), f(Zo),而這三個值會介於0和1之間,決定這個Gate要不要開啟。
那就和輸入Z來一起經過一個LSTM的Memory cell吧!
特別解釋Forget Gate,如果被打開時代表記得,被關閉時代表遺忘,和一般的認知不同要注意一下。
其實李宏毅在影片中的第30分鐘開始約7分鐘都是在「手動模擬」LSTM單一個細胞在處理一串資料時的動作,只要看完基本上就可以了解LSTM的意義了。(投影片真的做很久qq