用編碼器-解碼器-重構器框架實現英語-日語的神經機器翻譯
針對神經機器翻譯翻譯過度和翻譯不足的問題,Tu et al. (2017) 的論文《Neural Machine Translation with Reconstruction》提出了一種「編碼器-解碼器-重構器框架」,其使用了回譯來提升翻譯準確度。日本首都大學東京的研究者在英語-日語翻譯任務上實現了該框架。機器之心技術分析師對該實現的論文進行了解讀和梳理。
論文鏈接:https://arxiv.org/pdf/1706.08198.pdf
論文作者:Yukio Matsumura, Takayu kiSato, Mamoru Komachi
引言
神經機器翻譯(NMT)近段時間發展迅猛,已經在傳統的統計機器翻譯基礎上實現了很大的提升,並且已經在很多語言內的翻譯任務上實現了當前最佳表現。
但是,NMT 翻譯過度和翻譯不足的問題都存在,也就是說,有時候它可能會重複翻譯某些詞,有時候它可能會遺漏某些詞。這是因為 NMT 模型通常可被看作是黑箱,而我們並不完全清楚它們背後的機制,即它們將源句轉換成目標句的方式。
針對這一問題,Tu et al. (2017) 為 NMT 提出了一種「編碼器-解碼器-重構器框架」,其使用了回譯(back translation)來提升翻譯準確度。這篇論文是該框架在英語-日語翻譯任務上的實現。
此外,這篇論文還指出,除非順譯(forward translation)模型的訓練方式類似傳統的基於注意的 NMT(也被稱為預訓練),否則該框架不能實現讓人滿意的表現。
傳統的基於注意的 NMT 模型
下面展示了 Bahdanau et al. (2015) 提出的傳統的基於注意的 NMT 模型。
打開今日頭條,查看更多圖片圖 1:基於注意的 NMT
其中編碼器將源句轉換成固定長度的向量 C,並將其作為語境向量(context vector)。在每個時間步驟 t 都使用一個雙向 RNN,那麼該編碼器的隱藏狀態 h_t 就可表示為:
其中前向狀態和反向狀態可分別按以下方式計算:
和
r 和 r』 都是非線性函數。那麼語境向量 C 就變成:
其中 q 也是一個非線性函數。
在經典的編碼器-解碼器模型中,編碼器計算得到的語境向量 C 會被解碼器直接「解碼」成目標句。但因為解碼器必須處理整個向量,所以之前的信息可能會被之後處理的信息覆蓋。因此,語境向量越長,模型就越有可能丟失重要信息。這就是引入基於注意的機制的原因,這能讓模型在每個步驟關注語境向量的特定部分以確保信息充分足夠。
在每個時間步驟 i,輸出詞的條件概率可以這樣計算:
其中 s_i 是解碼器的隱藏狀態,計算方式為:
根據這一等式,我們可以看到時間步驟 i 的隱藏狀態 s_i 是使用語境向量 c_i 以及前一個時間步驟 i-1 的隱藏狀態和目標詞計算的。
不同於前文提及的較長的長度固定的向量 C,語境向量 c_i 是編碼器的每個隱藏狀態 h_j 的加權和,計算方式為:
其中
其中權重矩陣 e_ij 是由一個「對齊模型」生成的,該模型的作用是將位置 j 附近的輸入與位置 i 處的輸出對齊;而 α 可被理解成是一個「注意分配」向量。
最後,目標函數定義為:
其中 N 是數據的數量,θ 是一個模型參數。
編碼器-解碼器-重構器框架
Tu et al. (2017) 為 NMT 提出的編碼器-解碼器-重構器框架在原來的 NMT 模型上增加了一個新的「重構器」結構。其目的是將解碼器架構的隱藏狀態翻譯回源句,以進行比較並提升翻譯準確度。下面描述了這種新結構:
圖 2:編碼器-解碼器-重構器
在每個時間步驟 i,輸出的「源詞」的條件概率的計算方式為:
隱藏狀態 s" 的計算方式與之前的解碼過程類似:
注意這裡的 c』 被稱為「逆語境向量」,計算方式為:
其中 s 只是解碼器的每個隱藏狀態(在順譯時的)。
類似地,可以進一步計算 α』:
目標函數定義為:
注意這個優化函數包含兩個部分,即順譯部分和回譯部分。超參數 λ 指定了順譯和回譯之間的權重。
根據這篇論文,順譯部分衡量的是翻譯流暢度,而回譯部分衡量的是翻譯充分性。以這種方式,這種新結構可以增強整體的翻譯質量。
實驗
這篇論文使用了 2 個英語-日語平行語料庫:Asian Scientific Paper Excerpt Corpus(ASPEC)(Nakazawa etal.,2016)和 NTCIR PatentMT Parallel Corpus (Goto et al., 2013)。
實驗中所用的 RNN 模型有 512 個隱藏單元、512 個嵌入單元、30000 的辭彙量和 64 的批大小。訓練平台是 GeForce GTX TITAN X GPU。
基準 NMT 模型是普通的基於注意的 NMT。
注意在這些實驗中超參數 λ 設置為 1。
下面給出了一些英語-日語翻譯任務的示例。注意「聯合訓練(jointly-training)」是指沒有預訓練的編碼器-解碼器-重構器。
表1:英語-日語翻譯的輸出示例
結果
表 2 和 3 展示了 BLEU 分數表示的翻譯準確度、通過 bootstrap 重採樣得到的顯著性檢驗的 p 值(Koehn, 2004)以及在收斂之前的訓練時間。
表 2:英語-日語翻譯結果
表 3:日語-英語翻譯結果
這個結果表明新的編碼器-解碼器-重構器框架所需的訓練時間長於基準 NMT,但在英語-日語翻譯中,其在 ASPEC 上的翻譯準確度顯著提升了 1.01 分,在 NTCIR 上提升了 1.37 分。但其在日語-英語翻譯任務上卻沒有實現這樣的提升。此外,聯合訓練得到的模型的表現甚至比基準模型還差一些。
此外,這篇論文還檢查了這種新模型是否能更好地解決上面提到的翻譯過度和翻譯不足的問題。比如,圖 3 表明基準模型無法輸出「亂流と粘性の數値的粘性の関係を基に」,而新提出的模型能成功翻譯它。圖 4 表明基準模型重複翻譯了「新生児」和「30歳以上の」,新提出的模型則表現更好。
圖 3:示例 1 中的注意層:對翻譯不足問題的改進;其中左為基準 NMT,右為編碼器-解碼器-重構器
圖 4:示例 2 中的注意層:對翻譯過度問題的改進;其中左為基準 NMT,右為編碼器-解碼器-重構器
結論
這篇論文在英語-日語翻譯任務上分析了新提出的編碼器-解碼器-重構器框架。結果表明,這種編碼器-解碼器-重構器能在英語-日語翻譯任務上實現顯著的 BLEU 分數提升,並且能緩解翻譯中重複和遺漏詞的問題。此外,通過將其與順譯和回譯聯合訓練的模型進行比較,這篇論文還評估了預訓練的重要性。
評閱者點評
回譯一直都是翻譯研究的一種有用方法,也能讓人類譯者檢查他們是否翻譯準確。在機器翻譯任務中使用這種傳統翻譯方法是一個相當了不起的思路。
未來,語言學知識和自然語言處理會結合得更加緊密,這可能會成為一種新思路,有助於更好地提升語言處理任務的表現,比如機器翻譯,尤其是對於日語這樣具有很多「語法模板」(即日語的「文法」)的語言。
參考文獻
- Dzmitry Bahdanau,Kyunghyun Cho,and Yoshua Bengio. 2015. Neural Machine Translation by Jointly Learning to Align and Translate. Proceedings of the 3rd International Conference on Learning Representations (ICLR), pages 1–15.
- Zhaopeng Tu, Yang Liu, Lifeng Shang, Xiaohua Liu, and Hang Li. 2017. Neural Machine Translation with Reconstruction. Proceedings of the ThirtyFirst AAAI Conference on Arti?cial Intelligence (AAAI), pages 3097–3103.
- Philipp Koehn. 2004. Statistical Significance Tests for MachineTranslationEvaluation. Proceedings of the 2004 Conference on Empirical Methods in Natural Language Processing (EMNLP), pages 388–395.
※為AI尋找最佳人造突觸:IBM電化學RAM亮相IEEE電子元件會議
※DeepMind星際爭霸2 AI首秀即將上演,旭東老仙奶一口?
TAG:機器之心 |