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