0
本文作者: xyhncepu | 編輯:幸麗娟 | 2019-08-03 14:48 | 專題:ACL 2019 |
盡管近年來(lái)利用 Transformer 模型進(jìn)行神經(jīng)機(jī)器翻譯(NMT)取得了巨大成功,但是 NMT 模型對(duì)輸入的微小干擾仍然很敏感,從而導(dǎo)致各種不同的錯(cuò)誤。谷歌研究院的一篇 ACL 2019 論文提出了一種方法,使用生成的對(duì)抗性樣本來(lái)提高機(jī)器翻譯模型的魯棒性,防止輸入中存在的細(xì)小擾動(dòng)度對(duì)其造成影響。結(jié)果表明,該方法提高了 NMT 模型在標(biāo)準(zhǔn)基準(zhǔn)上的性能。在本文中,作者 Yong Cheng、 Lu Jiang 和 Wolfgang Macherey 對(duì)其在 ACL 2019 上發(fā)表的《具有雙對(duì)抗性輸入的魯棒神經(jīng)機(jī)器翻譯》論文進(jìn)行了介紹。
Robust Neural Machine Translation with Doubly Adversarial Inputs
近年來(lái),利用 Transformer 模型進(jìn)行神經(jīng)機(jī)器翻譯(NMT)取得了巨大的成功?;谏疃壬窠?jīng)網(wǎng)絡(luò)的 NMT 模型通常在非常大的并行語(yǔ)料庫(kù)(輸入/輸出文本對(duì))上以完全數(shù)據(jù)驅(qū)動(dòng)的方式進(jìn)行端到端訓(xùn)練,而不需要強(qiáng)制使用顯式的語(yǔ)言規(guī)則。
NMT 模型盡管取得了巨大的成功,但它對(duì)輸入中存在的微小干擾仍然很敏感,這就會(huì)導(dǎo)致它出現(xiàn)各種不同的錯(cuò)誤,如翻譯不足、翻譯過(guò)度或翻譯錯(cuò)誤。例如,給定一個(gè)德語(yǔ)句子,最先進(jìn)的 NMT 模型 Transformer 會(huì)生成正確的翻譯:
「Der Sprecher des Untersuchungsausschusses hat angekündigt, vor Gericht zu ziehen, falls sich die geladenen Zeugen weiterhin weigern sollten, eine Aussage zu machen?!?/p>
機(jī)器翻譯成英語(yǔ)的結(jié)果:「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(調(diào)查委員會(huì)發(fā)言人宣布,如果被傳喚的證人繼續(xù)拒絕作證,他將被帶到法庭)」。
但是,當(dāng)我們對(duì)輸入語(yǔ)句進(jìn)行細(xì)微的更改時(shí),比如將 geladenen 換成同義詞 vorgeladenen,翻譯就會(huì)變得非常不同(在這個(gè)例子中翻譯結(jié)果是錯(cuò)誤的):
「Der Sprecher des Untersuchungsausschusses hat angekündigt, vor Gericht zu ziehen, falls sich die vorgeladenen Zeugen weiterhin weigern sollten, eine Aussage zu machen。」
機(jī)器翻譯成英語(yǔ)的結(jié)果:「The investigative committee has announced that he will be brought to justice if the witnesses who have been invited continue to refuse to testify(調(diào)查委員會(huì)宣布,如果被邀請(qǐng)的證人繼續(xù)拒絕作證,他將被繩之以法)」。
由于 NMT 模型缺乏魯棒性,導(dǎo)致其在許多不能承受其不魯棒性的商業(yè)系統(tǒng)難以得以實(shí)際應(yīng)用。因此,學(xué)習(xí)魯棒翻譯模型不僅是很有價(jià)值的,也是許多場(chǎng)景應(yīng)用所要求的。然而,雖然神經(jīng)網(wǎng)絡(luò)的魯棒性在計(jì)算機(jī)視覺(jué)領(lǐng)域已經(jīng)得到了廣泛的研究,但是相關(guān)文獻(xiàn)中對(duì)學(xué)習(xí)魯棒 NMT 模型的研究卻很少。
在《具有雙對(duì)抗性輸入的魯棒神經(jīng)機(jī)器翻譯》一文中,我們提出了一種方法,即使用生成的對(duì)抗性樣本來(lái)提高機(jī)器翻譯模型的魯棒性,以防止輸入中存在的細(xì)小擾動(dòng)度對(duì)其造成影響。我們學(xué)習(xí)了一個(gè)魯棒 NMT 模型,以直接利用模型知識(shí)和扭曲模型預(yù)測(cè)的意圖來(lái)克服對(duì)抗性樣本。結(jié)果表明,該方法提高了 NMT 模型在標(biāo)準(zhǔn)基準(zhǔn)上的性能。
一個(gè)理想的 NMT 模型將會(huì)對(duì)存在微小差異的獨(dú)立輸入生成相似的翻譯結(jié)果。我們方法的思想是使用對(duì)抗性輸入來(lái)干擾翻譯模型,以期提高模型的魯棒性。它使用一種稱為對(duì)抗生成(AdvGen)的算法來(lái)實(shí)現(xiàn)上述方法,該算法生成可信的對(duì)抗樣本來(lái)擾亂模型,然后將它們反饋到模型中進(jìn)行防御訓(xùn)練。雖然該方法的靈感來(lái)自于生成對(duì)抗網(wǎng)絡(luò)(GANs)的思想,但它并不依賴于鑒別器網(wǎng)絡(luò),而是簡(jiǎn)單地將對(duì)抗性樣本應(yīng)用于訓(xùn)練中,有效地實(shí)現(xiàn)了訓(xùn)練集的多樣化及擴(kuò)展。
第一步是使用 AdvGen 干擾模型。我們首先使用 Transformer 根據(jù)源輸入句、目標(biāo)輸入句和目標(biāo)輸出句計(jì)算翻譯損失。然后 AdvGen 隨機(jī)選擇源句子中的一些單詞,假設(shè)它們是均勻分布的。每個(gè)單詞都有一個(gè)相似單詞的關(guān)聯(lián)列表,例如單詞 「candidates 」可用以代替 「substitution」使用,AdvGen 從中選擇最可能在 Transformer 輸出中引發(fā)錯(cuò)誤的單詞。然后,這個(gè)生成對(duì)抗性語(yǔ)句被反饋給 Transformer,Transformer進(jìn)而對(duì)其啟動(dòng)防御階段。
圖 1
首先,將 Transformer 模型應(yīng)用于輸入句(左下),并與目標(biāo)輸出句(右上)和目標(biāo)輸入句(右中;從占位符「<sos>」開(kāi)始)相結(jié)合,從而計(jì)算翻譯損失。AdvGen 函數(shù)將源句子、單詞選擇分布、單詞「 candidates 」和翻譯損失作為輸入,構(gòu)造一個(gè)對(duì)抗性源樣本。
在防御階段期間,對(duì)抗性語(yǔ)句會(huì)被反饋到 Transformer 模型中。Transformer 再次計(jì)算翻譯損失,但這次使用的是對(duì)抗性源輸入。利用上述方法,AdvGen 使用目標(biāo)輸入句、單詞替換 「 candidates 」、注意力矩陣計(jì)算的單詞選擇分布和翻譯損失構(gòu)建了一個(gè)對(duì)抗性目標(biāo)樣本。
圖 2
在防御階段,對(duì)抗性源樣本作為 Transformer 模型的輸入,用來(lái)計(jì)算翻譯損失。然后,AdvGen 使用與前面相同的方法從目標(biāo)輸入生成一個(gè)對(duì)抗性目標(biāo)樣本
最后,將對(duì)抗性語(yǔ)句被反饋到 Transformer 中,并利用對(duì)抗性源樣本、對(duì)抗性目標(biāo)輸入樣本和目標(biāo)語(yǔ)句計(jì)算魯棒性損失。如果擾動(dòng)導(dǎo)致了顯著的損失,則將損失最小化,這樣當(dāng)模型遇到類似的擾動(dòng)時(shí),就不會(huì)犯同樣的錯(cuò)誤。另一方面,如果擾動(dòng)導(dǎo)致的損失較小,則什么也不會(huì)發(fā)生,這表明模型已經(jīng)能夠處理這種擾動(dòng)。
通過(guò)將該方法應(yīng)用于標(biāo)準(zhǔn)的漢英和英德翻譯基準(zhǔn)中,證明了我們的方法是有效的。與競(jìng)爭(zhēng)性 Transformer 模型相比,我們觀察到 BLEU 值分別顯著提高 2.8(漢英翻譯)和 1.6(英德翻譯),獲得了新的最佳性能。
圖 3
與 Transformer 模型(Vaswani 等人,2017 年)在標(biāo)準(zhǔn)基準(zhǔn)上的對(duì)比
然后,我們?cè)谝粋€(gè)噪聲數(shù)據(jù)集上評(píng)估我們的模型,該數(shù)據(jù)集使用類似于 AdvGen 描述的過(guò)程生成。我們使用一個(gè)干凈的輸入數(shù)據(jù)集,例如在標(biāo)準(zhǔn)翻譯基準(zhǔn)上使用的數(shù)據(jù)集,并隨機(jī)選擇用于相似單詞替換的單詞。我們發(fā)現(xiàn),相比其他最近的模型,我們的模型顯示出更好的魯棒性。
圖 4
與 Miyao 等人(論文鏈接:https://arxiv.org/abs/1605.07725)和 Cheng(論文鏈接:https://arxiv.org/abs/1805.06130)等人在人工噪聲輸入的 Transformer 模型比較
結(jié)果表明,我們的方法能夠克服輸入語(yǔ)句中的小擾動(dòng),提高泛化性能。它的性能要比同類的翻譯模型更優(yōu),并在標(biāo)準(zhǔn)基準(zhǔn)上實(shí)現(xiàn)了最先進(jìn)的翻譯性能。我們希望我們的翻譯模型可以作為一個(gè)魯棒構(gòu)建模塊來(lái)改進(jìn)許多下游工作,特別是那些對(duì)存在瑕疵的翻譯輸入具有敏感性或難以容忍的工作。
本研究由 Yong Cheng、 Lu Jiang 和 Wolfgang Macherey 完成。另外要感謝我們的領(lǐng)導(dǎo) Andrew Moore 和 Julia(Wenli)Zhu??。
Via:https://ai.googleblog.com/2019/07/robust-neural-machine-translation.html 雷鋒網(wǎng)雷鋒網(wǎng)雷鋒網(wǎng)
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。
本專題其他文章