深度學習(五)序列模型-循環神經網絡(RNN)(3) -Andrew Ng

一、基礎知識

1.1  序列基本模型

seq2seqsequence to sequence)模型在機器翻譯和語音識別方面都有着廣泛的應用。

從最基本的模型開始,之後你還會學習集束搜索(Beam search)和注意力模型(Attention Model),一直到最後的音頻模型,比如語音。

機器翻譯:

下面,我們來看一個機器翻譯的簡單例子:比如你想通過輸入一個法語句子,比如這句 “Jane visite I'Afrique en septembre.”,將它翻譯成一個英語句子,“Jane is visiting Africa in September.”。和之前一樣,我們用 來表示輸入的句子的單詞,然後我們用 來表示輸出的句子的單詞,那麼,如何訓練出一個新的網絡來輸入序列x和輸出序列y呢?

                                         

針對該機器翻譯問題,可以使用“編碼網絡(encoder network)”+“解碼網絡(decoder network)”兩個RNN模型組合的形式來解決encoder network將輸入語句編碼爲一個特徵向量,傳遞給decoder network,完成翻譯。具體模型結構如下圖所示:

                        

 

其中,encoder vector代表了輸入語句的編碼特徵。encoder network和decoder network都是RNN模型,可使用GRU或LSTM單元。這種“編碼網絡(encoder network)”+“解碼網絡(decoder network)”的模型,在實際的機器翻譯應用中有着不錯的效果
 

圖像捕捉識別:

這種模型也可以應用到圖像捕捉領域。圖像捕捉,即捕捉圖像中主體動作和行爲,描述圖像內容。比如這張貓的圖片,它能自動地輸出該圖片的描述,一隻貓坐在椅子上,那麼你如何訓練出這樣的網絡?通過輸入圖像來輸出描述,像這個句子一樣。

                        

首先,可以將圖片輸入到CNN,例如使用預訓練好的AlexNet,刪去最後的softmax層,保留至最後的全連接層。則該全連接層就構成了一個圖片的特徵向量(編碼向量),表徵了圖片特徵信息。

                

然後,將encoder vector輸入至RNN,即decoder network中,進行解碼翻譯。

                    

事實證明在圖像描述領域,這種方法相當有效,特別是當你想生成的描述不是特別長時。

總結:

現在你知道了基本的seq2seq模型是怎樣運作的,以及image to sequence模型或者說圖像描述模型是怎樣運作的。不過這兩個模型運作方式有一些不同,主要體現在如何用語言模型合成新的文本,並生成對應序列的方面。一個主要的區別就是你大概不會想得到一個隨機選取的翻譯,你想要的是最準確的翻譯,或者說你可能不想要一個隨機選取的描述,你想要的是最好的最貼切的描述,我們將在下節中介紹如何準確的生成這些序列

 

 

 

 

二、測驗

 

 

 

 

三、編程

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章