4/25/2018 4:01:00 PM
神經(jīng)機(jī)器翻譯的技術(shù)——編碼-解碼框架
今天樂(lè)文翻譯公司帶你了解下神經(jīng)機(jī)器翻譯的技術(shù)之一編碼-解碼框架。
編碼-解碼框架如上圖所示其中<EOS> - W的左側(cè)為編碼器,它的右側(cè)為解碼器。A,B,C,<EOS>表示的源語(yǔ)言的輸入序列,X,Y,Z,<EOS>表示的是翻譯機(jī)器給出的目標(biāo)語(yǔ)言輸出序列。<EOS>表示的是一句話的終結(jié)符。W為編碼器對(duì)輸入的語(yǔ)言序列A,B,C,<EOS>的編碼向量。圖中的每一個(gè)框表示的是一個(gè)時(shí)刻展開(kāi)的RNN(Recurrent Neural Network或者LSTM)神經(jīng)網(wǎng)絡(luò)。
這種編碼-解碼結(jié)構(gòu)模擬了人類(lèi)大腦翻譯的過(guò)程,就是先將聽(tīng)到的語(yǔ)言存儲(chǔ)在腦子里,然后再根據(jù)腦子中的理解給出目標(biāo)語(yǔ)言的輸出。在這里,W向量就模擬了大腦中存儲(chǔ)的讀取源語(yǔ)言對(duì)應(yīng)的向量。
這種架構(gòu)還將語(yǔ)言理解和語(yǔ)言模型聯(lián)合到了一起,最終實(shí)現(xiàn)了端到端的機(jī)器翻譯。另外,這種編碼-譯碼結(jié)構(gòu)還極其具有靈活性,它可以應(yīng)用到圖像標(biāo)注、視頻、詞語(yǔ)等任務(wù)中。另外,這種架構(gòu)還可以很好地結(jié)合外部語(yǔ)料,具有很好的可擴(kuò)展性。
- 編碼器
這張圖展示了編碼器的詳細(xì)架構(gòu)。在這里從下到上有三個(gè)層,第一層是詞向量嵌入,它可以根據(jù)輸入的單詞向量通過(guò)查找編碼表得到壓縮維度的單詞表征向量(第二層),之后輸入給第三層,這是RNN遞歸單元的狀態(tài)。
-
解碼器
接下來(lái),在讓我們看解碼端。在這里最底層紫色的節(jié)點(diǎn)表示由編碼端計(jì)算出來(lái)的隱含層節(jié)點(diǎn)狀態(tài),它就相當(dāng)于是對(duì)輸入的源語(yǔ)言的編碼向量。之后,我們將這個(gè)信息輸入給解碼器的RNN單元,之后到第二層,解碼器會(huì)根據(jù)RNN單元計(jì)算概率向量。即對(duì)于目標(biāo)語(yǔ)言單詞表上的每一個(gè)單詞的概率是多少。最后,在第三層,我們?cè)俑鶕?jù)這個(gè)計(jì)算得到的概率采樣生成目標(biāo)語(yǔ)言。
然而,當(dāng)我們回顧整個(gè)編碼-解碼過(guò)程就會(huì)發(fā)現(xiàn),機(jī)器翻譯的本質(zhì)就是先將源語(yǔ)言的句子編碼成一個(gè)向量,然后再將這個(gè)向量映射為目標(biāo)語(yǔ)言,然而這種編碼是將句子壓縮成向量,顯然會(huì)損失很多信息。于是,我們便需要引入新的機(jī)制來(lái)解決這個(gè)問(wèn)題。