EMNLP 2018 基於自適應的多輪解碼機制的神經機器翻譯模型
本文介紹哈爾濱工業大學社會計算與資訊檢索研究中心(SCIR)錄用於EMNLP 2018的論文《Adaptive Multi-Pass Decoder forNeural Machine Translation》中的工作。本文基於將polishing機制引入到機器翻譯中,針對不同翻譯情況需要不同的解碼次數提出了自適應的多輪解碼機制,其通過引入策略網路動態根據上下文資訊動態決定合適的解碼次數,並使用強化學習的方法對其進行訓練。在中英機器翻譯資料集上證明了此模型的優異效能。
論文作者:耿昕偉,馮曉騁,秦兵,劉挺
1. 引言
近年來,神經機器翻譯模型吸引眾多的研究者青睞。與傳統的統計機器翻譯模型相比,神經機器翻譯模型經常使用encoder-decoder框架直接建模源語言句子和目標語言句子的翻譯過程。此外,通過引入gating和attention機制,神經機器翻譯模型可以在一定程度上解決長距離的依存問題。
最近,有很多研究者開始研究將polishing機制引入到機器翻譯中。基於polishing機制的方法首先將建立一個daft,然後根據對draft獲得一個全域性理解對之前生成的draft進行不斷的改進。雖然這些基於polishing機制的方法獲得顯著的提升,但是這些方法最多進行兩輪的解碼,而對於多於兩輪的多輪解碼在神經機器翻譯的研究很少。在本工作中,首先我們探索使用固定解碼次數改進神經機器翻譯的效能。然而,在某些情況下比如某些比較容易翻譯的句子,過多的解碼次數可能導致翻譯質量的下降以及消耗更多的時間。針對這種情況,我們提出自適應的多輪解碼機制,其通過引入策略網路動態根據上下文資訊動態決定合適的解碼次數,並使用強化學習的方法對其進行訓練。
2. 自適應的多輪解碼
我們提出的自適應的多輪解碼機制如圖表 1所示。自適應多輪解碼框架有三個部分組成:解碼器,其將源語言句子轉化成分散式表示;多輪解碼器,根據分散式表示生成相應的目標語言翻譯;策略網路,其主要用來選擇合適的解碼次數。我們提出框架的編碼器和以前的方法是相同的。在下面內容中,我們將詳細介紹多輪解碼器以及相應的策略網路。
圖1 自適應多輪解碼框架
2.1 多輪解碼器
我們的多輪解碼器是在標準的解碼器上進行擴充套件,使其可以利用目標端的上下文的資訊。給定解碼器生成的源端上下文資訊以及上一輪解碼器生成目標端的上下文資訊,我們多輪解碼器使用兩個attention model分別捕捉兩種上下文資訊。我們模型使用的attention model和標準的神經機器翻譯模型相同,即使用兩層feed forward網路計算相應對齊的分數。其中,需要強調的是目標端的上下文資訊使用Greedy Search方法生成翻譯對應的隱含層序列。
2.2 策略網路
我們提出策略網路主要用來動態選擇解碼的深度。理想情況下,我們期望如果輸入的源語言的句子比較難以翻譯,其需要更多的解碼論述來改進其翻譯解碼;而針對簡單的輸入,只需要一輪解碼就足以得到較好的翻譯結果。我們提出的策略網路輸出兩個動作,即continue,繼續進行下一輪解碼;stop,停止解碼。我們是使用GRU來計算策略網路的狀態表示,從而建模相鄰解碼之間的不同;而我們使用一個attention模型計算GRU的輸入。該attention模型用以捕捉每輪解碼中對於策略網路中有用的上下文資訊,其以策略網路的狀態以及目標端的上下文資訊為輸入。我們使用REINFORCE演算法來學習對應的策略網路的引數,並將最後一輪解碼對應的翻譯的BLEU作為其對應的獎勵。
3. 實驗
我們使用1.25M LDC的中英句對作為訓練集,NIST02作為開發集,而NIST03、NIST04、NIST05以及NIST06作為測試集。並且,使用multi-bleu.perl計算相應的BLEU。為了提升模型訓練的效率,我們過濾句子長度差過50的輸入句對。而相應的中英的詞表大小分別設定為30K。beam大小設定為10,而我們的多輪解碼器最大深度為5。
3.1 中英機器翻譯我們的固定解碼次數的模型以及自適應多輪解碼機制模型在NIST測試集上的結果如表 1所示。使用固定的解碼次數確實可以在一定程度上提升模型的效果,但是隨著解碼深度的提升,其對應的模型的效能提升並不是很明顯。而我們提出的自適應的多輪解碼機制相比固定的解碼深度確實可以提升模型的效能。(注:我們使用REINFORCE和Gumbel-Softmax重新實現Deliberation Network,但是與原始論文中結果仍存在一定的差距,其原因可能是與原始實現中存在一些未知的不同;為了保證公平,我們實現的ABDNMT(Bidirectional Decoder forNeural Machine Translation,AAAI 2018)將backward decoder替換成forward decoder)
表1 中英機器翻譯結果
3.2 解碼深度
為了研究策略網路效能,我們統計一下翻譯結果中解碼深度的分佈,如表 2所示。我們提出的策略網路針對46.57%的例項僅使用單輪的解碼,53.43%左右的例項需要多於一輪的解碼。而其對應的平均的解碼深度為2.12。其與ABDNMT和Deliberation Network解碼深度相差不多,並且使用更少的引數。
表2 解碼深度分佈情況
3.3 句子長度影響
我們將按句子長度劃分成不同的區間來研究句子長度與對應的翻譯BLEU的變化情況。相比RNNSearch模型,我們提出的自適應解碼器幾乎在所有的解碼區間上取得較好的結果。相比固定的解碼模型,自適應解碼機制可以選擇最優的解碼深度,從而其獲得的翻譯結果超過絕大多數模型結果。
圖2 翻譯結果在不同句子長度下的效能
4. 翻譯例項
給定一個例項,我們強制自適應解碼機制使用固定的解碼深度進行翻譯,其翻譯結果如表 3所示。隨著解碼深度從1到3,翻譯的質量隨之提升。但是解碼深度為4和5時,其翻譯的結果保持不變。而我們的自適應解碼機制在這種情況下在解碼深度為3時終止解碼,從而避免更深的解碼帶來巨大的時間消耗。
表3 自適應解碼機制翻譯例項
5. 結論
本工作實現探索採用固定的解碼次數對於神經機器翻譯模型的影響。再此基礎上引入自適應解碼機制動態選擇解碼的深度,並在中英機器翻譯資料集上證明模型的效能。