深度學習基礎:RNN與LSTM
阿新 • • 發佈:2019-01-30
這一篇主要是想根據Google的Colah的文章《Understanding LSTM Networks》闡述一下什麼是LSTM(Long Short Time Memory)網路。
RNN:Recurrent or Recursive
RNN可以指代兩種神經網路,Recursive Neural Network 以及Recurrent Neural Network,從英語的字面意思來說,前一種應該被稱作遞迴神經網路,但是現在論文中提到的遞迴神經網路主要都指的是Recurrent Neural Network。 Recursive Neural Network是為了解決日常現象中一些遞迴結構的存在而特別設計的網路,比如在影象處理中一個表示車的圖片中可以分為若干塊小的零件圖片,如窗戶,輪子,但是這些代表窗戶的圖片也可能是飛機甚至是房子的一部分;比如在自然語言處理中出現的名詞帶的從句中又出現名詞的情況。因此,Recursive Neural Network是一種對網路結構的重複,重複的網路權值構成一個樹狀結構,主要應用是圖片分割與註釋,在自然語言處理中也有應用。RNN的缺陷和LSTM的應用
如果把RNN展開,可以看到RNN的結構和普通的網路相似,可以將其看作是若干個相同的網路相連,並將資訊在網路中進行傳遞。由於這種資訊傳遞的存在,RNN的就可以根據之前出現的資訊對當前的資訊進行推斷,特別是在語言處理中,RNN就可以用於根據上文預測下一個將要出現的詞。但是RNN只能處理一定間隔的資訊,如果上文間隔過遠,就有可能出現難以聯想的情況。比如: I grew up in France...此處省略100個字....I speak fluent French3. GRU - Gated Recurrent Unit - 中文直譯:門控迴圈單元 還有一種RNN變種乾脆將單元狀態去除,直接通過輸出儲存資訊,由於這種結構比LSTM更加簡單,因此逐漸變得流行起來。 《Understanding LSTM Networks》這篇文章還提到,雖然基本每個新的論文都提出不同的LSTM結構,但實際上,這些結構的效果都差不多。一篇論文還測試了10000種RNN不同架構的效果,結果發現對於一些特定任務,有些RNN的效果比LSTM的效果更好。 [1] Socher, Richard; Lin, Cliff; Ng, Andrew Y.; Manning, Christopher D. "Parsing Natural Scenes and Natural Language with Recursive Neural Networks" . The 28th International Conference on Machine Learning (ICML 2011). [2] Understanding LSTM Networks:http://colah.github.io/posts/2015-08-Understanding-LSTMs/