當下的神經機器翻譯(Neural Machine Translation, NMT)已經擁有很強的翻譯性能,在諸多模型之中,Transformer模型取得了最好的效果。其區別於傳統模型之處在兩個方面:自注意力機制(Self-Attention)以及多頭注意力機制(Multi-Head Attention)。
本文主要針對後者,傳統的單頭注意力機制已經有了比較多的研究,廣泛的結論是注意力代表了詞對齊。但多頭注意力機制代表了什麼還缺乏研究。本文基於一項對Transformer多頭注意力的觀察展開:解碼器(Decoder)的最後一層對於編碼器(Encoder)的多頭注意力機制,代表了多重詞對齊。並利用該現象,生成多樣化翻譯。更進一步,利用多樣化翻譯,輔助利用逆向翻譯技術(back translation),增強翻譯模型性能。最後一項有關問答任務的實驗也證明了性能的提升。
現象分析
首先,為了驗證我們的猜想:解碼器(Decoder)的最後一層對於編碼器(Encoder)的多頭注意力機制,代表了多重詞對齊,即解碼器最後一層注意力對應的源端的詞,是接下來極有可能會生成的詞,我們做了三個驗證實驗:
1、我們將解碼器每個頭對應最大注意力值的源端詞選取出來,利用翻譯的基線模型翻譯生成目標端單詞,看這些生成的目標端語言單詞,在下一步目標端生成的softmax概率表中排名第幾,如圖1所示,非常尖銳的分布,大部分對應的詞都在排名前列。
圖1:被注意力頭選中的詞都排名非常靠前
2、與上面相似,我們查看了這些詞的負對數似然(Negative Log-Likelihood, NLL),並計算了所有情況下排名第R的詞的平均NLL(例如K=1,就是所有排名第1的詞的NLL),進行對比,如表1所示,被選中的詞的NLL非常小。
表1:所有情況中排名第R的詞的NLL,每個頭的NLL都非常小
3、更進一步,我們發現可以通過控制不同的注意力頭,來控制下一步的生成。具體見下面的例子,源端句子是「他說, 去年九月以來, 出口下降導致印度經濟惡化。」模型已經翻譯出「he said」,正在等待下一步翻譯。我們摘取了此時各個頭的注意力情況,如圖2所示。接下來,我們挑選第4、5、6個頭,分別對應到「以來」、「下降」 、「出口」三個詞,每次都用某個頭的注意力數值覆蓋其他頭,觀察到對應的頭的詞都被即刻生成出來了,如表2所示。
圖2:不同的頭對應不同的源端的詞
表2:選擇不同的頭(對應不同的源端詞),就能控制下一步的生成
方法應用
我們利用該現象,提出了利用該多頭注意力機制增強翻譯多樣性的算法。
具體來說就是在每一次生成的時刻,隨機採樣某個頭,用其注意力數值覆蓋其他頭。但如果在生成的每個步驟都進行採樣,雖然能顯著增加多樣性,卻也會降低翻譯質量。因此,我們提出了一個針對性算法:若多個頭都對應到不同的源端詞,意味著此時有多個合理的候選,此時我們就進行採樣。
具體來說分如下幾步:
1、令每個時刻的注意力數值為att(i,t,h),代表目標端生成第t個時刻,第h個頭,對源端第i個詞的注意力,我們取第h個頭注意力最強的源端詞candidate(t,h) = argmax(att(i,t,h), i)。
2、令[n_0, ..., n_i, ..., n_(T-1)]表示源端詞被選為candidate的數量,T為源端長度。明顯地,sum(n) = H,H代表頭的總數。
3、若max(n) <= K,則進行採樣,K為超參。這一步可以理解為,注意力很分散,可以有不同的候選。
具體算法如算法1所示。
算法1:採樣策略
實驗結果
我們在NIST 中英數據集,WMT14 英德數據集,和WMT16 英羅數據集上進行了實驗。評價指標主要針對兩個方面,翻譯質量和翻譯多樣性,翻譯質量仍然採用傳統的BLEU,即與參考譯文的比較(Reference-BLEU,rfb),越高質量越好,翻譯多樣性採用多次生成結果之間的BLEU(Pair-Wise BLEU,pwb),越低多樣性越好。
最後,我們還提出一個綜合的指標:每單位質量的多樣性提升(Diversity Enhancement per Quality,DEQ),表示相較於baseline,提升的多樣性BLEU與降低的翻譯質量的BLEU的比值,越大越好,說明能以同樣的質量代價實現更高的多樣性。
實驗結果如表3,4,5所示,比起之前的工作,我們在維持了比較高的翻譯質量的前提下,實現了多樣性的提升。
表3:中英實驗
表4:英德實驗
表5:英羅實驗
我們將之前的工作、噪音組(為了去除噪音帶來多樣性的可能性)的結果繪在圖3中,橫軸是rfb,縱軸是pwb,右下角是最優點,結果顯示,我們的方法都在右下角。
圖3:Pair-Wise BLEU對Reference BLEU
越右下角越優,我們的方法都處在右下角。
表6是一個例子:
表6:多樣性翻譯例子
我們還看了不同長度的實驗結果,如圖4所示。理論上來說,隨著長度增長,翻譯的多樣性應該增加,因為搜索空間更大了,但beam search由於其先天的缺陷,長度越長,多樣性越差。我們的方法就實現了,隨著長度增加,多樣性增加的效果。
圖4:隨著句子長度增加多樣性的變化
我們利用這些多樣性的翻譯來做逆向翻譯(Back-Translation),在中英和英中實驗上都有提升,如表7,8
表7:中英逆向翻譯實驗
表8:英中逆向翻譯實驗
最後還有一項對話的實驗,也驗證了我們的結論,如表9。評價指標詳見論文。
表9:對話實驗
總結
在本文中,我們發現了Transformer模型的一個內在結構特性,並利用它提出了一個多樣性翻譯生成的算法,比起以往的工作,在同等質量的前提下取得了更高的多樣性。收益於我們的方法的逆向翻譯算法、對話策略也取得了比以往更好的效果。
作者 | 孫澤維本文來自公眾號「南大NLP」雷鋒網 AI 科技評論轉載 雷鋒網雷鋒網