用強化學習做神經機器翻譯:中山大學&MSRA填補多項空白

機器之心發表於2018-09-01
人工深度學習神經網路已經為機器翻譯帶來了突破性的進展,強化學習也已經在遊戲等領域取得了里程碑突破。中山大學資料科學與計算機學院和微軟研究院的一項研究探索了強化學習在神經機器翻譯領域的應用,相關論文已被 EMNLP 2018 接收,相關程式碼和資料集也已開源。
  • 論文地址:https://arxiv.org/abs/1808.08866

  • 開源專案:https://github.com/apeterswu/RL4NMT

神經機器翻譯(NMT)[Bahdanau et al., 2015; Hassan et al., 2018; Wu et al., 2016; He et al., 2017; Xia et al., 2016, 2017; Wu et al., 2018b,a] 近來變得越來越受歡迎了,因為這種方法表現更優,而且無需繁重的人工工程工作。其訓練過程通常是:通過取源句子和之前已有的(基本真值)目標 token 作為輸入,以最大化目標句子中每個 token 的似然。這樣的訓練方法被稱為最大似然估計(MLE)[Scholz, 1985]。儘管易於實現,但在訓練階段的 token 層面的目標函式與 BLEU [Papineni et al., 2002] 等序列層面的評估指標卻並不一致。

為了解決不一致的問題,強化學習(RL)方法已經在序列層面的目標優化上得到了應用。比如,研究者已將 REINFORCE [Ranzato et al., 2016; Wu et al., 2017b] 和 actor-critic [Bahdanau et al., 2017] 等策略優化方法用在了包括 NMT 在內的序列生成任務上。在機器翻譯領域,也有相似的方法被提出——被稱為「最小風險訓練」[Shen et al., 2016]。所有這些研究都表明強化學習技術可以有效地用於 NMT 模型 [Wu et al., 2016].

但是,之前還沒有將強化學習有效應用於現實世界 NMT 系統的研究成果。首先,大多數研究(甚至可能全部研究)都是基於淺的迴圈神經網路(RNN)模型驗證他們的方法。但是,為了得到當前最佳的表現,利用近期發展起來的深度模型 [Gehring et al., 2017; Vaswani et al., 2017] 將至關重要,這些模型的能力要強大得多。

其次,強化學習方法存在相當一些眾所周知的侷限性 [Henderson et al., 2018],比如梯度估計方差高 [Weaver and Tao, 2001] 以及目標不穩定 [Mnih et al., 2013],因此要讓強化學習實現有效的實際應用,其實並不容易。因此,之前的研究提出了一些技巧。但是,如何將這些技巧應用於機器翻譯?這一點仍還不夠明朗,研究者也沒有達成共識。舉個例子,[Ranzato et al., 2016; Nguyen et al., 2017; Wu et al., 2016] 等研究建議使用的基準獎勵方法 [Weaver and Tao, 2001] 並沒有得到 [He and Deng, 2012; Shen et al., 2016] 等研究的採納。

第三,研究已經表明,使用 MLE 訓練時,大規模資料(尤其是單語言資料集)能為翻譯質量帶來顯著提升 [Sennrich et al., 2015a; Xia et al., 2016]。但如何在 NMT 中將強化學習與單語言資料結合起來?這方面幾乎仍是研究真空。

我們希望能通過這篇論文填補這些空白;我們還研究了可以如何應用強化學習來得到強大的 NMT 系統,使其能取得有競爭力的表現,甚至達到當前最佳。我們對強化學習訓練的不同方面執行了幾項綜合研究,以便了解如何:1)設定有效的獎勵;2)以不同的權重結合 MLE 和強化學習,從而實現訓練過程的穩定;3)降低梯度估計的方差。

此外,因為利用單語言資料在提升翻譯質量上是有效的,所以我們進一步提出了一種將強化學習訓練的能力和源/目標單語言資料結合起來的新方法。就我們所知,這是在使用強化學習方法訓練 NMT 模型方面探索單語言資料的效果的首個研究嘗試。

我們在 WMT17 漢英翻譯(Zh-En)、WMT17 英漢翻譯(En-Zh)和 WMT14 英德翻譯(En-De)任務上執行了實驗,並得到了一些有用的發現。比如,多項式取樣在獎勵計算方面優於波束搜尋,強化學習和單語言資料的結合能顯著提升 NMT 模型的表現。我們的主要貢獻總結如下。

  • 我們立足於相當有競爭力的 NMT 模型,提供了首個對強化學習訓練不同方面的全面研究,比如如何設定獎勵和基準獎勵。

  • 我們提出了一種能有效利用大規模單語言資料的新方法,可在使用強化學習訓練 NMT 模型時使用,並且這些單語言資料來自源語言和目標語言都可以。

  • 將我們的這些研究發現和新方法結合到一起,我們在 WMT17 漢英翻譯人上取得了當前最佳的表現,超越了強基準(Transformer 大模型+反向翻譯)近 1.5 BLEU。此外,我們在 WMT14 英德翻譯和 WMT17 英漢翻譯任務上也得到了足以媲美最佳的結果。

我們希望我們的研究和發現將有助於社群更好地理解和利用強化學習來開發強大的 NMT 模型,尤其是在面臨著深度模型和大量訓練的現實世界場景中(包括有雙語對應的資料和單語言資料)。

為此,我們開源了所有的程式碼和資料集以幫助其他人再現這一研究成果:https://github.com/apeterswu/RL4NMT。

用強化學習做神經機器翻譯:中山大學&MSRA填補多項空白

表 1:不同的獎勵計算策略的結果。beam 表示波束搜尋,multinomial 表示多項式取樣。在通過波束搜尋生成 yˆ 時,我們所用的寬度為 4。shaping 是指使用了獎勵塑造(reward shaping),而 terminal 表示沒有使用。

用強化學習做神經機器翻譯:中山大學&MSRA填補多項空白

表 7:表現差不多的不同端到端 NMT 系統的結果比較。SougouKnowing 的結果來自 http://matrix.statmt.org/matrix/systems_list/1878.

最後,作為對我們的實驗結果的總結,我們將幾種有代表性的端到端 NMT 系統與我們的研究成果進行了比較,如表 7 所示,其中包含 Transformer [Vaswani et al., 2017] 模型,使用以及沒使用反向翻譯的方法 [Sennrich et al., 2015a],以及在 WMT17 漢英翻譯挑戰賽上表現最好的 NMT 系統(SougouKnowing-ensemble)。結果清楚地表明,在將源側和目標側的單語言資料與強化學習訓練結合到一起之後,我們能得到當前最佳的 BLEU 分數 26.73,甚至超過了在 WMT17 漢英翻譯挑戰賽上最佳的整合模型。

論文:一項將強化學習用於神經機器翻譯的研究

用強化學習做神經機器翻譯:中山大學&MSRA填補多項空白


論文連結:https://arxiv.org/abs/1808.08866

摘要:近期的研究已經表明,強化學習(RL)方法可以有效提升神經機器翻譯(NMT)系統的表現。但是,由於不穩定,成功完成強化學習訓練是很困難的,尤其是在使用了深度模型和大型資料集的現實世界系統中。在這篇論文中,我們使用了幾個大規模翻譯任務作為測試平臺,系統性地研究了使用強化學習訓練更好的 NMT 模型的方法。我們對強化學習訓練領域的幾個重要因素(比如基準獎勵、獎勵塑造)進行了全面的比較。此外,之前我們也不清楚強化學習能否助益僅使用單語言資料的情況。為了填補這一空白,我們提出了一種利用強化學習通過使用源/目標單語言資料來進一步提升 NMT 系統的表現的新方法。通過整合我們所有的發現,我們在 WMT14 英德翻譯、WMT17 英漢翻譯和 WMT17 漢英翻譯任務上取了媲美最佳的結果,尤其是在 WMT17 漢英翻譯上確實實現了當前最佳。

相關文章