一、基礎知識
1.1 序列基本模型
seq2seq(sequence 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模型或者說圖像描述模型是怎樣運作的。不過這兩個模型運作方式有一些不同,主要體現在如何用語言模型合成新的文本,並生成對應序列的方面。一個主要的區別就是你大概不會想得到一個隨機選取的翻譯,你想要的是最準確的翻譯,或者說你可能不想要一個隨機選取的描述,你想要的是最好的最貼切的描述,我們將在下節中介紹如何準確的生成這些序列。
二、測驗
三、編程