儘管近年來利用 Transformer 模型進行神經機器翻譯(NMT)取得了巨大成功,但是 NMT 模型對輸入的微小幹擾仍然很敏感,從而導致各種不同的錯誤。谷歌研究院的一篇 ACL 2019 論文提出了一種方法,使用生成的對抗性樣本來提高機器翻譯模型的魯棒性,防止輸入中存在的細小擾動度對其造成影響。結果表明,該方法提高了 NMT 模型在標準基準上的性能。在本文中,作者 Yong Cheng、 Lu Jiang 和 Wolfgang Macherey 對其在 ACL 2019 上發表的《具有雙對抗性輸入的魯棒神經機器翻譯》論文進行了介紹。
Robust Neural Machine Translation with Doubly Adversarial Inputs
論文閱讀地址:https://arxiv.org/abs/1906.02443近年來,利用 Transformer 模型進行神經機器翻譯(NMT)取得了巨大的成功。基於深度神經網絡的 NMT 模型通常在非常大的並行語料庫(輸入/輸出文本對)上以完全數據驅動的方式進行端到端訓練,而不需要強制使用顯式的語言規則。
NMT 模型儘管取得了巨大的成功,但它對輸入中存在的微小幹擾仍然很敏感,這就會導致它出現各種不同的錯誤,如翻譯不足、翻譯過度或翻譯錯誤。例如,給定一個德語句子,最先進的 NMT 模型 Transformer 會生成正確的翻譯:
「Der Sprecher des Untersuchungsausschusses hat angekündigt, vor Gericht zu ziehen, falls sich die geladenen Zeugen weiterhin weigern sollten, eine Aussage zu machen。」機器翻譯成英語的結果:「Machine translation to English:「The spokesman of the Committee of Inquiry has announced that if the witnesses summoned continue to refuse to testify, he will be brought to court(調查委員會發言人宣布,如果被傳喚的證人繼續拒絕作證,他將被帶到法庭)」。但是,當我們對輸入語句進行細微的更改時,比如將 geladenen 換成同義詞 vorgeladenen,翻譯就會變得非常不同(在這個例子中翻譯結果是錯誤的):
「Der Sprecher des Untersuchungsausschusses hat angekündigt, vor Gericht zu ziehen, falls sich die vorgeladenen Zeugen weiterhin weigern sollten, eine Aussage zu machen。」機器翻譯成英語的結果:「The investigative committee has announced that he will be brought to justice if the witnesses who have been invited continue to refuse to testify(調查委員會宣布,如果被邀請的證人繼續拒絕作證,他將被繩之以法)」。由於 NMT 模型缺乏魯棒性,導致其在許多不能承受其不魯棒性的商業系統難以得以實際應用。因此,學習魯棒翻譯模型不僅是很有價值的,也是許多場景應用所要求的。然而,雖然神經網絡的魯棒性在計算機視覺領域已經得到了廣泛的研究,但是相關文獻中對學習魯棒 NMT 模型的研究卻很少。
在《具有雙對抗性輸入的魯棒神經機器翻譯》一文中,我們提出了一種方法,即使用生成的對抗性樣本來提高機器翻譯模型的魯棒性,以防止輸入中存在的細小擾動度對其造成影響。我們學習了一個魯棒 NMT 模型,以直接利用模型知識和扭曲模型預測的意圖來克服對抗性樣本。結果表明,該方法提高了 NMT 模型在標準基準上的性能。
用 AdvGen 訓練模型
一個理想的 NMT 模型將會對存在微小差異的獨立輸入生成相似的翻譯結果。我們方法的思想是使用對抗性輸入來幹擾翻譯模型,以期提高模型的魯棒性。它使用一種稱為對抗生成(AdvGen)的算法來實現上述方法,該算法生成可信的對抗樣本來擾亂模型,然後將它們反饋到模型中進行防禦訓練。雖然該方法的靈感來自於生成對抗網絡(GANs)的思想,但它並不依賴於鑑別器網絡,而是簡單地將對抗性樣本應用於訓練中,有效地實現了訓練集的多樣化及擴展。
第一步是使用 AdvGen 幹擾模型。我們首先使用 Transformer 根據源輸入句、目標輸入句和目標輸出句計算翻譯損失。然後 AdvGen 隨機選擇源句子中的一些單詞,假設它們是均勻分布的。每個單詞都有一個相似單詞的關聯列表,例如單詞 「candidates 」可用以代替 「substitution」使用,AdvGen 從中選擇最可能在 Transformer 輸出中引發錯誤的單詞。然後,這個生成對抗性語句被反饋給 Transformer,Transformer進而對其啟動防禦階段。
圖 1
首先,將 Transformer 模型應用於輸入句(左下),並與目標輸出句(右上)和目標輸入句(右中;從佔位符「<sos>」開始)相結合,從而計算翻譯損失。AdvGen 函數將源句子、單詞選擇分布、單詞「 candidates 」和翻譯損失作為輸入,構造一個對抗性源樣本。
在防禦階段期間,對抗性語句會被反饋到 Transformer 模型中。Transformer 再次計算翻譯損失,但這次使用的是對抗性源輸入。利用上述方法,AdvGen 使用目標輸入句、單詞替換 「 candidates 」、注意力矩陣計算的單詞選擇分布和翻譯損失構建了一個對抗性目標樣本。
圖 2
在防禦階段,對抗性源樣本作為 Transformer 模型的輸入,用來計算翻譯損失。然後,AdvGen 使用與前面相同的方法從目標輸入生成一個對抗性目標樣本
最後,將對抗性語句被反饋到 Transformer 中,並利用對抗性源樣本、對抗性目標輸入樣本和目標語句計算魯棒性損失。如果擾動導致了顯著的損失,則將損失最小化,這樣當模型遇到類似的擾動時,就不會犯同樣的錯誤。另一方面,如果擾動導致的損失較小,則什麼也不會發生,這表明模型已經能夠處理這種擾動。
模型的性能
通過將該方法應用於標準的漢英和英德翻譯基準中,證明了我們的方法是有效的。與競爭性 Transformer 模型相比,我們觀察到 BLEU 值分別顯著提高 2.8(漢英翻譯)和 1.6(英德翻譯),獲得了新的最佳性能。
圖 3
與 Transformer 模型(Vaswani 等人,2017 年)在標準基準上的對比
然後,我們在一個噪聲數據集上評估我們的模型,該數據集使用類似於 AdvGen 描述的過程生成。我們使用一個乾淨的輸入數據集,例如在標準翻譯基準上使用的數據集,並隨機選擇用於相似單詞替換的單詞。我們發現,相比其他最近的模型,我們的模型顯示出更好的魯棒性。
圖 4
與 Miyao 等人(論文連結:https://arxiv.org/abs/1605.07725)和 Cheng(論文連結:https://arxiv.org/abs/1805.06130)等人在人工噪聲輸入的 Transformer 模型比較
結果表明,我們的方法能夠克服輸入語句中的小擾動,提高泛化性能。它的性能要比同類的翻譯模型更優,並在標準基準上實現了最先進的翻譯性能。我們希望我們的翻譯模型可以作為一個魯棒構建模塊來改進許多下遊工作,特別是那些對存在瑕疵的翻譯輸入具有敏感性或難以容忍的工作。
致謝
本研究由 Yong Cheng、 Lu Jiang 和 Wolfgang Macherey 完成。另外要感謝我們的領導 Andrew Moore 和 Julia(Wenli)Zhu。
Via:https://ai.googleblog.com/2019/07/robust-neural-machine-translation.html雷鋒網雷鋒網雷鋒網