想像人在每次思考、閱讀一段文章時,不是從零開始,會保留過去的記憶;RNN就是來解決這方面的問題。

每次訓練時,會保留過去的訊息,然後一直傳遞下去。LSTM則是一種特殊的RNN形式。
The Problem of Long-Term Dependencies
很多情況下,會需要更多的上下文訊息,他們可能距離非常遠,這就會產生梯度消失,或是梯度爆炸。

LSTM
LSTM,稱為長短期記憶網絡(Long Short Term Memory networks),是一種特殊的RNN。

不同於RNN在每個Cell裡只包含一個tanh,LSTM增加了input gate, output gate 和 forget gate,都是用來控制我們要怎麼操作這些資料;使用sigmoid 可以看做是記憶、讀取資料量的多寡,0代表不通過,1代表全部通過。
詳細推倒部分可以看看原文,他也介紹了GRU–一種更高效的LSTM。
值得注意的,現今我們從RNN得到的好結果,幾乎都是指LSTM~
在Tensorflow中,LSTM叫出來用就可以了。
下圖是用紅虛線去學習黑線(x*sin(x))的結果

發表留言