AAAI 2020|計算所&微信AI:改進訓練目標,提升非自回歸模型翻譯質量...

2020-12-23 雷鋒網

本文為計算所邵晨澤向雷鋒網AI科技評論投稿,未經允許禁止轉載。

本文是對計算所馮洋組和騰訊微信AI團隊共同完成,被 AAAI2020 錄用的論文《Minimizing the Bag-of-Ngrams Difference for Non-Autoregressive Neural Machine Translation》進行解讀,相關工作已開源。

論文:https://arxiv.org/pdf/1911.09320.pdf代碼:https://github.com/ictnlp/BoN-NAT

研究背景:非自回歸模型

目前主流的神經機器翻譯模型為自回歸模型,每一步的譯文單詞的生成都依賴於之前的翻譯結果,因此模型只能逐詞生成譯文,翻譯速度較慢。Gu等人[1]提出的非自回歸神經機器翻譯模型(NAT)對目標詞的生成進行獨立的建模,因此能夠並行解碼出整句譯文,顯著地提升了模型的翻譯速度。

然而,非自回歸模型在翻譯質量上與自回歸模型有較大差距,主要表現為模型在長句上的翻譯效果較差,譯文中包含較多的重複詞和漏譯錯誤等,如圖一所示:

圖一:NAT譯文中的重複詞和漏譯錯誤。NAT:非自回歸模型,AR:自回歸模型

造成非自回歸模型翻譯效果較差的一個主要原因為其訓練時所用的交叉熵損失函數不準確。一方面,詞級別的交叉熵損失對每個位置的預測結果進行獨立評估,難以建模序列依賴關係;另一方面,交叉熵損失要求模型的預測結果與參考譯文嚴格對齊,否則就難以評估模型的翻譯質量。如圖二所示,

圖二:不對齊時,交叉熵損失無法給出準確的指導

當預測結果未與參考譯文對齊時,儘管兩者語義很相近,交叉熵損失還是會變得非常大,對模型給出錯誤的指導。

相關工作

針對上述的交叉熵損失函數不準確的問題,Gu等人[1]將其歸因為譯文的「多峰性」,即一個句子可能有多種正確的譯文,並提出引入隱變量來減小譯文的不確定性。隨後,離散隱變量[2,3]、變分自編碼器[4,5]、基於位置信息的隱變量[6,7]被引入到非自回歸模型中,均取得了明顯的效果提升。

隱變量的方法也有一定缺陷,即對隱變量的建模會降低非自回歸模型的翻譯速度,且隱變量難以完全消除譯文的不確定性,交叉熵損失不準確的問題仍然存在。

另一個思路為對非自回歸模型的訓練目標做改進,本文也是基於這個思路。Wang等人[8]直接在訓練目標中加入正則化項,以此來抑制模型的重複翻譯和漏譯錯誤。Shao等人[9]在模型中融入序列信息,改進強化學習算法來進行序列級訓練,用更準確的序列級指標來訓練模型。

上述方法的好處是能在不影響翻譯速度的前提下提升模型的翻譯質量。然而,[8]僅針對在譯文中觀察到的問題做優化,並未從根本上解決問題。由於序列級指標的離散性,[9]無法準確求得損失函數的梯度,需要使用強化學習算法來做梯度估計。另外,[9]所用的強化學習算法速度較慢,僅能用於模型的微調階段。

方 法

針對交叉熵損失不準確的問題,本文為非自回歸模型提出了一種基於n元組袋(Bag-of-Ngrams, BoN)的訓練目標,希望能最小化模型與參考譯文間n元組袋的差異。該訓練目標在n元組的層面上評估預測結果,因此能夠建模序列依賴關係;直接對n元組袋做優化,對絕對位置不敏感,不受對齊約束的限制。如圖三所示,在預測結果未與參考譯文對齊時,該訓練目標也能準確地評估翻譯質量。

圖三:基於n元組袋的訓練目標

本文提出的BoN訓練目標對模型與參考譯文間的n元組袋差異做定量評估,從而鼓勵模型生成更接近參考譯文的翻譯結果,下面對其做具體描述,主要分為三個步驟:BoN的定義和計算、BoN距離的定義和計算和訓練方法。

BoN的定義和計算 假設詞表大小為V,對於一個長度為T的句子Y=(y1,……,yn),一般都將它的n元組袋定義為一個長度為V^n的向量,記為BoNY,它的每一維代表某一n元組g=(g1,……,gn)的出現次數,如下所示:

其中,1{}為指示函數,若條件成立則取值為1,否則為0。對神經機器翻譯模型來說,由於其建模了譯文在整個譯文空間上的概率分布,上面的定義並不直接適用。因此,我們考慮所有可能的譯文,將每個譯文的BoN按概率加權,用BoN的期望值來定義模型的BoN。假設模型參數為θ,從原文X到譯文Y的翻譯概率為P(Y|X, θ),則模型的BoNθ定義如下:

(2)式中對模型BoN的定義方法非常自然,但它也存在一個很大的問題:搜索空間是指數大小的,難以對其進行計算。我們利用非自回歸模型獨立預測各位置翻譯概率的特性,對(2)式做如下變換:

注意到,(3)式中2到3行的變換利用到了非自回歸模型獨立建模概率的特性,因此(3)式的推導僅對非自回歸模型有效。通過(3)式的變換,我們就不再需要遍歷所有可能譯文,匯總所有位置上n元組g的概率就能求得g的期望出現次數BoNθ(g)。下圖以二元組g=(『get』,『up』)為例,展示了模型BoNθ的計算方法。

圖四:對2元組(『get』, 『up』) 的期望出現次數的計算

BoN距離的定義和計算 在完成對參考譯文和模型的BoN定義後,我們可以選擇一種距離指標來衡量兩者BoN的差距,常用的距離指標有L1距離、L2距離、餘弦距離等。注意到,n元組袋的長度為V^n,儘管我們在上文中對其每一維BoNθ(g)的計算做了簡化,但若要進行V^n次的計算來求得整個BoN向量,所需的計算量和存儲空間也是非常巨大的。因此,我們希望選擇一種合適的距離指標,使我們不需要計算整個BoNθ向量,進一步簡化計算。從上文(1)、(2)式的定義看,模型的BoNθ向量是稠密的,每個位置均為非零值;句子的BoNY向量是稀疏的,僅有幾個位置為非零值。利用這個性質,我們可以對兩個向量間L1距離的計算做簡化。首先,假設譯文長度為T,則兩個BoN向量的L1模長均為T-n+1:

基於此,兩個BoN向量間的L1距離如下所示:

直觀上看,(6)式中的min部分代表了模型與參考譯文在n元組層面上的匹配數,匹配數越大,則兩者BoN向量間的L1距離越小。利用BoNY向量的稀疏性,min函數的大部分取值均為0,我們只需考慮BoNY非零的幾處位置,計算模型與參考譯文中n元組的匹配總數,從而計算出兩者n元組袋的距離BoN-L1。訓練方法 上文中,我們給出了BoN的定義和快速計算BoN間L1距離的方法。在本節,我們將對用BoN距離訓練非自回歸模型的方法做具體介紹。首先,為了保證訓練過程的穩定性,我們將BoN距離歸一化後作為損失函數:

與基於強化學習的序列級訓練方法[9]類似,我們可以先用交叉熵損失預訓練非自回歸模型,再用BoN損失對模型進行微調,我們將這種方法命名為BoN-FT。

另外,由於本文提出的BoN損失在計算上非常快速且直接可導,我們也可以將BoN損失與交叉熵損失加權來聯合訓練非自回歸模型,這種方法被命名為BoN-Joint。

結合上面兩種方法,我們可以先對模型進行聯合訓練,再單獨用BoN損失微調模型,這種方法被命名為BoN-Joint+FT。

實 驗

本文在WMT14 En-de、WMT16 En-Ro、IWSLT16 En-de三個數據集、五個翻譯方向上進行了實驗,結果如圖五所示。

圖五:三個數據集上的實驗,所提方法相對基線模型和強化學習方法均有明顯提升

對比BoN-FT與Reinforce-NAT[9],可以看到本文提出的BoN損失在序列級訓練上效果更好、速度更快。BoN-Joint方法相對BoN-FT也有明顯提升,表明讓BoN損失全程參與訓練的必要性,這也是BoN損失相對強化學習方法的優勢:強化學習方法訓練速度過慢,一般只能用於微調模型。效果最好的為BoN-Joint+FT,該方法通過在最後階段的微調,相對BoN-Joint也有微小提升,在WMT14 En-de數據集上達到了約5個BLEU值的提升。

本文還對BoN損失和交叉熵損失與翻譯質量的相關性做了實驗驗證。我們在WMT14 En->De的開發集上進行實驗,將開發集的3000個句子隨機分為100組,每組30句。我們粗略地認為BLEU值能夠表示模型的翻譯質量,計算模型在各組上的BoN損失、交叉熵損失和翻譯結果的BLEU值,並分別求出BoN損失、交叉熵損失與BLEU值的相關係數,如表一所示。

表一:交叉熵損失和BoN損失與翻譯質量的相關係數

表一顯示,在n=2的情況下,BoN損失與翻譯質量的相關性最好,且顯著強於交叉熵損失。因此,BoN損失能更準確地評估模型的輸出結果,適用於非自回歸模型的訓練。我們也在不同句長情況下對相關性進行了分析,將開發集按句長分為兩組,每組包含1500個句子,並按上述方法計算BoN損失、交叉熵損失在長句組和短句組上的相關性,如表二所示。

表二:在不同句長下,交叉熵損失和BoN損失與翻譯質量的相關係數

表二顯示,交叉熵損失在句長增大時,與翻譯質量的相關性迅速下降,而BoN損失在長句下仍能保持較高的相關性。這種現象與我們的預期完全相符,在長句情況下,類似圖二的不對齊現象更加容易發生,因此交叉熵損失的準確性會進一步下降。BoN損失基於n元組袋來評估模型輸出,因此不受不對齊現象的影響。

結 論

本文針對非自回歸模型中交叉熵損失不準確的問題,提出了基於n元組袋的BoN損失。實驗顯示,BoN損失與翻譯質量的相關性更強,用其對非自回歸模型進行訓練,能顯著提升模型的翻譯效果。在未來的工作中,一方面,我們希望能更進一步地對非自回歸模型的訓練方法進行探究;另一方面,我們希望能不局限於非自回歸模型,將本文所提的BoN損失應用到自然語言處理的更多任務中。

雷鋒網報導。

更多AAAI 2020解讀論文請參閱雷鋒網其他文章:https://www.leiphone.com/special/custom/meetingVideo.html?from=SY

相關焦點

  • 支持108種語言的谷歌翻譯如何用AI讓翻譯質量越來越好?
    谷歌表示,其翻譯質量的突破並不是由單一技術推動,而是針對資源較少的語言、高質量源語言、總體質量、延遲和整體推理速度的技術組合。在2019年5月至2020年5月之間,通過人工評估和BLEU(一種基於系統翻譯與人工參考翻譯之間相似性的指標)進行衡量,谷歌翻譯在所有語言中平均提高了5分或更多,在50種最低水平的翻譯中平均提高了7分或更多。
  • 谷歌翻譯是如何藉助多項新興AI技術提高翻譯質量的
    在一篇即將正式發表的博客文章中,該公司詳細介紹了助力提升谷歌翻譯(Google Translate)所支持的108種語言翻譯質量的新創新技術(特別是缺乏語料數據的約魯巴語和馬拉雅拉姆語)。谷歌翻譯服務平均每天翻譯1500億個單詞。自谷歌翻譯首次亮相以來的13年裡,神經機器翻譯、基於重寫的範式和設備端處理等技術的出現和改進,助力該平臺的翻譯準確性取得不小的飛躍。
  • 微信AI再奪冠!斬獲WMT2020國際機器翻譯大賽中英方向第一名
    提交結果BLEU評分第一,微信AI斬獲中英翻譯方向冠軍WMT 是機器翻譯領域的國際頂級評測比賽之一,自2006年創辦至今,WMT已經成功舉辦15屆。大賽每年都吸引了眾多來自全球的企業、科研機構和高校所組成的頂尖團隊,包括微軟、Facebook、百度、金山、日本情報通信研究機構(NICT)。
  • WMT國際機器翻譯大賽結果流出,微信AI拔得頭籌
    作為全球學術界最具權威的機器翻譯比賽,近日,WMT2020國際機器翻譯大賽的榜單停止提交結果並發布排名,其中騰訊微信AI團隊在「中文-英文」翻譯任務上奪得冠軍。自2017年以來,基於業界最前沿的神經網絡機器翻譯技術,微信AI團隊進行了持續迭代,引入了最前沿的機器翻譯算法,不斷創新算法和架構,提升翻譯能力。
  • OpenAI追蹤AI模型效率:每16個月翻一番!超越摩爾定律
    分析結果表示,對於大量「吸金」的AI任務,算法效率的提升比傳統的硬體效率提升的速度更快,因此算法可節省更多算力,以此節省AI任務的運行成本,產生更多收益。一、算法多吃算力?每16個月效率翻倍推動人工智慧發展的有三個因素:算法創新、數據和算力。傳統上,算法的進展比算力和數據更難量化。算法效率可以被定義為減少訓練特定功能所需的計算量。
  • 谷歌揭秘自家翻譯系統:如何利用AI技術提高翻譯質量 | 網際網路數據...
    谷歌表示,其翻譯突破並不是由單一技術推動的,而是針對低資源語言、高資源語言、總體質量、推理速度等一系列技術組合的突破。在2019年5月到2020年5月之間,根據人工評估和BLEU(基於翻譯系統翻譯和人工參考翻譯之間相似性的衡量標準),谷歌翻譯在所有語言中平均提高了5分以上,在50種語料資源最少的語言中平均提高了7分以上。
  • PTMs|2020最新NLP預訓練模型綜述
    相比於cv領域,「nlp領域的劣勢在於有監督數據集大小非常小」(除了機器翻譯),導致深度學習模型容易過擬合,不能很好地泛化。但是相反,nlp領域的優勢在於,存在大量的無監督數據集,如果能夠充分利用這類數據進行訓練,那麼勢必能夠提升模型的能力以及在下遊任務中的表現。
  • 淺析基於隱變量的非自回歸神經機器翻譯方法
    一、自回歸 vs 非自回歸自回歸模型自回歸(Autoregressive Translation , AT)模型需要用已生成的詞來預測下一個位置的詞,用概率模型來表示為:這種自回歸的解碼方式符合閱讀和生成句子時的習慣,能有效地捕捉到真實翻譯的分布情況。
  • 不以英語為中心,百種語言互譯,FB開源首個單一多語言MT模型
    此外該研究還創建了一個新的 LASER 2.0 並改進了 fastText 語言識別,提高了挖掘質量,並開放了原始碼的訓練和評估腳本。所有的數據挖掘資源都利用公開數據集,並且都是開源的。多對多數據集和多語言模型示意圖。
  • AIOpen 預訓練語言模型專刊徵稿
    2018 年 ELMo、BERT 和 GPT 的成功發布,表明了預訓練語言模型(PLM)的成功,隨後又在自然語言理解和生成方面取得了重大突破。目前,在探索更有效的預訓練架構方面,已經做了很多卓有成效的工作,比如使用跨模態數據、跨語言數據和結構化知識等方法改進預訓練語言模型,或將 PLM 創新地應用於各種與 NLP 相關的任務。
  • 稱霸《王者榮耀》、電競虛擬人問世:萬字長文盤點騰訊AI Lab
    該算法的實現使用了基於神經網絡的自回歸生成模型,並使用了諸如信號能量歸一化、人聲增強等信號預處理和後處理的模塊處理低質量數據。在模型訓練過程中,我們還使用了遷移學習方法,可以在只有少量目標說話人數據的情況下提升語音合成以及歌唱合成的效果。
  • 谷歌大腦:混合專家層超大規模 AI,模型性能提升 1000 多倍
    可訓練的門控網絡會決定這些專家層(expert)的稀疏組合,並將其用於每個樣本。我們將 MoE 應用於語言建模和機器翻譯任務,在這些任務中模型性能(model capacity)對於吸收訓練語料庫中可用的大量知識至關重要。我們提出的模型架構中,高達 1370 億個參數被卷積地應用於堆疊的 LSTM 層當中。
  • 騰訊AI Lab 2020 年度回顧
    TranSmart繼承和發展了交互翻譯的技術概念,在保證人作為翻譯主體的同時,量身定製的個性化機器翻譯全方位賦能人工翻譯過程: 自動翻譯質量:在目標場景中,通過語料增強和模型優化,自動翻譯質量穩居行業前列; 實時譯文建議:譯文片段智能推薦和整句補全
  • Google Translate 的新改進
    字幕組雙語原文:Google Translate 的新改進英語原文:Recent Advances in Google Translate翻譯:雷鋒字幕組(明明知道)機器學習(ML)的進步推動了自動翻譯的進步,包括 2016 年在翻譯中引入的 GNMT 神經翻譯模型,它極大地提高了 100 多種語言的翻譯質量。
  • 繼CVPR、AAAI大豐收後,百度又有11篇論文被ACL 2020錄用
    本屆大會百度被收錄的11篇論文,覆蓋了對話與交互系統、情感分析/預訓練表示學習、NLP 文本生成與摘要、機器翻譯/同聲翻譯、知識推理、AI輔助臨床診斷等諸多自然語言處理界的前沿研究方向,提出了包括情感知識增強的語言模型預訓練方法、基於圖表示的多文檔生成式摘要方法GraphSum等諸多新算法、新模型、新方法,不僅極大提升了相關領域的研究水平,也將推動人機互動、機器翻譯
  • 谷歌同志是位好「翻譯」!
    既然GNMT是通過應用基於實例的的機器翻譯方法來改進翻譯質量,那麼系統就需要會從數百萬個乃至更多的示例中學習,從這些來源中推斷出最相關的翻譯,然後將結果重新排列並組成基於符合人類語言的語法翻譯。這也就意味著,當GNMT進行學習時,需要目標語言有大量文本數據。
  • AAAI 2020|南京大學:利用多頭注意力機制生成多樣性翻譯
    當下的神經機器翻譯(Neural Machine Translation, NMT)已經擁有很強的翻譯性能,在諸多模型之中,Transformer模型取得了最好的效果。其區別於傳統模型之處在兩個方面:自注意力機制(Self-Attention)以及多頭注意力機制(Multi-Head Attention)。
  • 多項NLP任務新SOTA,Facebook提出預訓練模型BART
    在提供同等的訓練資源時,BART 可在 GLUE 和 SQuAD 數據集上實現與 RoBERTa 相當的性能,並在抽象對話、問答和文本摘要等任務中獲得新的當前最優結果,在 XSum 數據集上的性能比之前研究提升了 6 ROUGE。在機器翻譯任務中,BART 在僅使用目標語言預訓練的情況下,獲得了比回譯系統高出 1.1 個 BLEU 值的結果。
  • Facebook 100種語言互譯模型原始碼公開,機器翻譯再也不用英語當...
    傳統機器翻譯算法通過為每種語言和每項任務構建單獨的AI模型能夠同時處理多語翻譯,但由於依賴英語數據作為源語言和目標語言之間的中介,在語義準確性上可能有所折損。一、多種技術融合,反向尋找海量數據多語言機器翻譯的目標是建立一個超7000種語言的一對一互譯模型,如此大量級的模型需要大量數據來訓練。
  • Facebook 100種語言互譯模型原始碼公開!機器翻譯再也不用英語當...
    在訓練2200種語言對後,該單一多語言模型不僅與傳統的雙語模型性能相當,同時也比以英語為中心的多語模型在機器翻譯評價指標BLEU上提高了10%。傳統機器翻譯算法通過為每種語言和每項任務構建單獨的AI模型能夠同時處理多語翻譯,但由於依賴英語數據作為源語言和目標語言之間的中介,在語義準確性上可能有所折損。