Keras IMDb

IMDb是一個電影相關的線上資料庫 這次要利用IMDb的影評文字預測它是正面評價或是負面評價 在深度學習模型中只能接受數字,Keras有提供Tokenizer模組 會依照英文次數進行排序,在給每個單字編號:Keras Tokenizer 在利用Word embedding 將數字list 轉換成向量list,最後丟進去LSTM做學習 (在Keras 使用 RNN LSTM 模型很方便,一行解決) Keras也提供讓我們方便把英文轉成數字的模型 這是model summary 把數字list轉換成64維的向量list,並且用三層的隱藏層來做訓練。 準確率:0.8543 實際使用 進入IMDb網站,抓取Spider-Man: Homecoming評論,檢驗是否正確。 拿了正面評論結果也是顯示正面(1:正面,0:負面) My Github

2017-07-11 · 1 min · 25 words · KbWen

LSTM

原文網址 想像人在每次思考、閱讀一段文章時,不是從零開始,會保留過去的記憶;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))的結果

2017-06-29 · 1 min · 27 words · KbWen