【精讀】自然語言處理基礎之RNN

dicksonjyl560101發表於2019-05-22


https://www.toutiao.com/a6693133560351556100/


我們在前兩篇【精讀】自然語言處理基礎中提到了,無論是seq2seq模型,還是注意力(attention)機制,其中語言序列的編碼解碼都經過了一種名為RNN的神經網路。

RNN神經網路到底是何方神聖呢?

RNN全名:Recurrent Neural Networks,也叫遞迴神經網路或迴圈神經網路。是深度神經網路(DNN)的一種

RNN和深度神經網路有什麼區別呢?

舉個簡單的例子,比如在一個人機對話場景中,有2句話

句1:arrive  China  on May 2nd

句2:leave  China  on May 2nd

如果使用的DNN,機器對句1和句2中的 China 的理解將沒有區別

而我們可以明顯的知道句1中的China是目的地,而句2中的China是出發地

RNN解決的問題

RNN就可以克服上述的困難,很好的處理和序列相關的資料(如時間序列,語言序列等)

在上面兩例子中,機器理解句1中的China,會參考前面一個詞的輸入“arrive”

而對於句子2中的China,機器會參考前面的“leave”,因此最後China會分別理解為“目的地”和“出發地

【精讀】自然語言處理基礎之RNN

如下圖所示,中間隱層A,正在讀取某個輸入Xt,並輸出一個值 ht。迴圈網路可以使得資訊從當前時刻傳遞到下一時刻。也就是說X0的資訊會傳到X1中,X1的資訊會傳到X2中,以此類推

如果我們將這個迴圈展開:

【精讀】自然語言處理基礎之RNN

RNN的應用場景

語言模型;文字生成;機器翻譯;語音識別

影像描述:前四種應用場景我們都較為熟悉,而這一種應用使得RNN和卷積神經網路(convolutional Neural Networks, CNNs)一樣,對無標影像描述自動生成中得到應用。

將CNNs與RNNs結合進行影像描述自動生成。這是一個非常神奇的研究與應用。該組合模型能夠根據影像的特徵生成描述

【精讀】自然語言處理基礎之RNN


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29829936/viewspace-2645137/,如需轉載,請註明出處,否則將追究法律責任。

相關文章