機器學習十:Recurrent Neural Network (RNN)遞迴神經網路
阿新 • • 發佈:2020-10-11
什麼是遞迴神經網路
他們都只能單獨的取處理一個個的輸入,前一個輸入和後一個輸入是完全沒有關係的。但是,某些任務需要能夠更好的處理序列的資訊,即前面的輸入和後面的輸入是有關係的。
比如,當我們在理解一句話意思時,孤立的理解這句話的每個詞是不夠的,我們需要處理這些詞連線起來的整個序列; 當我們處理視訊的時候,我們也不能只單獨的去分析每一幀,而要分析這些幀連線起來的整個序列。
以nlp的一個最簡單詞性標註任務來說,將我 吃 蘋果 三個單詞標註詞性為 我/nn 吃/v 蘋果/nn。
那麼這個任務的輸入就是:
我 吃 蘋果 (已經分詞好的句子)
這個任務的輸出是:
我/nn 吃/v 蘋果/nn(詞性標註好的句子)
對於這個任務來說,我們當然可以直接用普通的神經網路來做,給網路的訓練資料格式了就是我-> 我/nn 這樣的多個單獨的單詞->詞性標註好的單詞。
但是很明顯,一個句子中,前一個單詞其實對於當前單詞的詞性預測是有很大影響的,比如預測蘋果的時候,由於前面的吃是一個動詞,那麼很顯然蘋果作為名詞的概率就會遠大於動詞的概率,因為動詞後面接名詞很常見,而動詞後面接動詞很少見。
所以為了解決一些這樣類似的問題,能夠更好的處理序列的資訊,RNN就誕生了。
Long Short-term Memory (LSTM)
之前的模型,下次輸入後,上次的會被抹掉,這個模型的好處是,可以控制存放
舉例:
複雜的LSTM
RNN的缺點