NLP重磅!谷歌、Facebook新研究:2.26億合成數據訓練神經機器翻譯創最優!

來源:arXiv

編輯:肖琴

【新智元導讀】FAIR和谷歌大腦的合作研究,專注於“反向翻譯”方法,用上億合成單語句子訓練NMT模型,在WMT’14 英語-德語測試集上達到35 BLEU的最優性能。論文在EMNLP 2018發表。

機器翻譯依賴於大型平行語料庫,即源語和目的語中成對句子的數據集。但是,雙語語料是十分有限的,而單語語料更容易獲得。傳統上,單語語料被用於訓練語言模型,大大提高了統計機器翻譯的流暢性。

進展到神經機器翻譯(NMT)的背景下,已經有大量的工作研究如何改進單語模型,包括語言模型融合反向翻譯(back-translation/回譯)和對偶學習(dual learning)。這些方法具有不同的優點,結合起來能夠達到較高的精度。

Facebook AI Research和谷歌大腦的發表的新論文Understanding Back-Translation at Scale是這個問題的最新成果。這篇論文專注於反向翻譯(BT),在半監督設置中運行,其中目標語言的雙語和單語數據都是可用的。

反向翻譯首先在並行數據上訓練一個中間系統,該系統用於將目標單語數據轉換爲源語言。其結果是一個平行的語料庫,其中源語料是合成的機器翻譯輸出,而目標語料是人類編寫的真實文本。

然後,將合成的平行語料添加到真實的雙語語料(bitext)中,以訓練將源語言轉換爲目標語言的最終系統。

雖然這種方法很簡單,但已被證明對基於短語的翻譯、NMT和無監督MT很有效。

具體到這篇論文,研究人員通過向雙語語料中添加了數億個反向翻譯得到的句子,對神經機器翻譯的反向翻譯進行了大規模的研究。

實驗基於在WMT競賽的公共雙語語料上訓練的強大基線模型。該研究擴展了之前的研究(Sennrich et al. , 2016a ; Poncelas et al. , 2018) 對反譯法的分析,對生成合成源句的不同方法進行了全面的分析,並證明這種選擇很重要:從模型分佈中採樣或噪聲beam輸出優於單純的beam search,在幾個測試集中平均 BLEU高1.7。

作者的分析表明,基於採樣或noised beam search的合成數據比基於argmax inference的合成數據提供了更強的訓練信號

文章還研究了受控設置中添加合成數據和添加真實雙語數據的比較,令人驚訝的是,結果顯示合成數據有時能得到與真實雙語數據不相上下的準確性。

實驗中,最好的設置是在WMT ’14 英語-德語測試集上,達到了 35 BLEU,訓練數據只使用了WMT雙語語料庫和2.26億個合成的單語句子。這比在大型優質數據集上訓練的DeepL系統的性能更好,提高了1.7 BLEU。在WMT ‘14英語-法語測試集上,我們的系統達到了45.6 BLEU

合成源語句子

反向翻譯通常使用beam searchgreed search來生成合成源句子。這兩種算法都是識別最大後驗估計(MAP)輸出的近似算法,即在給定輸入條件下,估計概率最大的句子。Beam search通常能成功地找到高概率的輸出。

然而,MAP預測可能導致翻譯不夠豐富,因爲它總是傾向於在模棱兩可的情況下選擇最有可能的選項。這在具有高度不確定性的任務中尤其成問題,例如對話和說故事。我們認爲這對於數據增強方案(如反向翻譯)來說也是有問題的。

Beam search和greed search都集中在模型分佈的頭部,這會導致非常規則的合成源句子,不能正確地覆蓋真正的數據分佈。

作爲替代方法,我們考慮從模型分佈中採樣,並向beam search輸出添加噪聲

具體而言,我們用三種類型的噪音來轉換源句子:以0.1的概率刪除單詞,以0.1的概率用填充符號代替單詞,以及交換在token上隨機排列的單詞。

模型和實驗結果

我們使用fairseq工具包在pytorch中重新實現了Transformer 模型。所有的實驗都是基於Big Transformer 架構,它的編碼器和解碼器都有6個block。所有實驗都使用相同的超參數。

實驗結果:不同反向翻譯生成方法的準確性比較

實驗評估首先比較了反向翻譯生成方法的準確性,並分析了結果。

圖1:在不同數量的反向翻譯數據上訓練的模型的準確性,這些數據分別通過greedy search、beam search (k = 5)和隨機採樣得到。

如圖1所示,sampling和beam+noise方法優於MAP方法,BLEU要高0.8-1.1。在數據量最大的設置下,sampling和beam+noise方法比bitext-only (5M)要好1.7-2 BLEU。受限採樣(top10)的性能優於beam 和 greedy,但不如非受限抽樣(sampling)或beam+noise。

圖2:對於不同的合成數據,每個epoch的Training perplexity (PPL)。

圖2顯示,基於greedy或beam的合成數據與來自採樣、top10、 beam+noise和bitext的數據相比更容易擬合。

表1

表1展示了更廣泛的測試集的結果(newstest2013-2017)。 Sampling和beam+noise 的表現大致相同,其餘實驗採用sampling。

資源少 vs 資源多設置

接下來,我們模擬了一個資源缺乏的設置,以進一步嘗試不同的生成方法。

圖3:在80K、640K和5M句子對的bitext系統中添加來自beam search和sampling的合成數據時,BLEU的變化

圖3顯示,對於數據量較大的設置(640K和5.2M bitext),sampling比beam更有效,而對於資源少的設置(80K bitext)則相反。

大規模的結果

最後,我們擴展到非常大的設置,使用多達226M的單語句子,並且與先前的研究進行了比較。

表4:WMT英語-法語翻譯任務中,不同測試集上的Tokenized BLEU

表5:WMT英語-法語翻譯任務中,不同測試集上的De-tokenized BLEU (sacreBLEU)

表6:WMT 英語-德語 (En-De)和英語-法語 (En-Fr)在newstest2014上的BLEU。

表7:WMT英語-德語newstest17和newstest18上的非標記、不區分大小寫的sacreBLEU。

結論

反向翻譯是一種非常有效的神經機器翻譯數據增強技術。通過採樣或在beam輸出中添加噪聲來生成合成源句子,比通常使用的argmax inference 具有更高的精度。

特別是,在newstest2013-2017的WMT英德翻譯中,採樣和加入噪聲的beam比單純beam的平均表現好1.7 BLEU。這兩種方法都爲資源缺乏的設置提供了更豐富的訓練信號。

此外,這一研究還發現,合成數據訓練的模型可以達到真實雙語語料訓練模型性能的83%。

最後,我們只使用公開的基準數據,在WMT ‘14英語-德語測試集上實現了35 BLEU的新的最優水平。

論文地址:

https://arxiv.org/pdf/1808.09381v2.pdf

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章