薛擎天,李軍輝,貢正仙,徐東欽
(蘇州大學(xué)自然語(yǔ)言處理實(shí)驗(yàn)室,江蘇 蘇州 215006)
機(jī)器翻譯研究如何利用計(jì)算機(jī)將源語(yǔ)言所表達(dá)的語(yǔ)義信息轉(zhuǎn)換為目標(biāo)語(yǔ)言的相同語(yǔ)義信息,是人工智能和自然語(yǔ)言處理領(lǐng)域的重要研究?jī)?nèi)容[1]?;谛蛄械叫蛄蠸2S(Sequence-to-Sequence)模型的神經(jīng)機(jī)器翻譯NMT(Neural Machine Translation) 完全采用神經(jīng)網(wǎng)絡(luò)完成源語(yǔ)言到目標(biāo)語(yǔ)言的翻譯過(guò)程,在近幾年取得了極大的成功[2 - 4],成為了一種極具潛力的機(jī)器翻譯方法。2017年,Vaswani等[5]提出一種新的S2S模型結(jié)構(gòu)Transformer,它放棄了傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò)RNN(Recurrent Neural Network)[6]和卷積神經(jīng)網(wǎng)絡(luò)CNN(Convolutional Neural Network)[7],而完全依賴于自注意力(Self-Attention)機(jī)制,將機(jī)器翻譯的性能推向了一個(gè)新的高峰。
神經(jīng)機(jī)器翻譯在大規(guī)模平行語(yǔ)料條件下取得了顯著的效果,但在一些資源稀缺語(yǔ)言或領(lǐng)域限定的翻譯任務(wù)上,平行語(yǔ)料規(guī)模相對(duì)較小,翻譯效果會(huì)嚴(yán)重降低[8]。為了解決大規(guī)模高質(zhì)量的平行語(yǔ)料庫(kù)難以獲取的問(wèn)題,Artetxe等[9 - 11]分別使用無(wú)監(jiān)督的方法實(shí)現(xiàn)跨語(yǔ)言詞嵌入,并通過(guò)降噪自編碼器和反向翻譯[12]2種方法初步實(shí)現(xiàn)了無(wú)監(jiān)督神經(jīng)機(jī)器翻譯UNMT(Unsupervised Neural Machine Translation)[9,10]。
隨后,Lample等[11]又結(jié)合之前的工作,概括了UNMT的3大步驟:(1)初始化一個(gè)良好的跨語(yǔ)言詞嵌入模型。(2)利用給定的單語(yǔ)語(yǔ)料,使用降噪自編碼器分別訓(xùn)練源語(yǔ)言和目標(biāo)語(yǔ)言的語(yǔ)言模型。(3)使用反向翻譯方法,將無(wú)監(jiān)督翻譯的問(wèn)題轉(zhuǎn)換為有監(jiān)督翻譯的問(wèn)題,并多次迭代步驟(2)和步驟(3)。其中,反向翻譯的過(guò)程首先是利用當(dāng)前的source→target翻譯模型將源語(yǔ)言句子x翻譯成目標(biāo)語(yǔ)言句子y;再利用target→source翻譯模型將目標(biāo)語(yǔ)言句子y翻譯成源語(yǔ)言句子x*;然后將(y,x)當(dāng)作平行句對(duì)訓(xùn)練,計(jì)算x和x*之間的損失,以此來(lái)優(yōu)化target→source翻譯模型,反之也可以用相同的方式來(lái)優(yōu)化source→target翻譯模型。同時(shí),Lample等將雙語(yǔ)句子混合訓(xùn)練,用一個(gè)生成對(duì)抗網(wǎng)絡(luò)[13,14]鑒別當(dāng)前編碼的語(yǔ)言,并將UNMT任務(wù)遷移到Transformer模型上,獲得了非常顯著的進(jìn)步。
2018年,基于雙向Transformer架構(gòu)構(gòu)建的語(yǔ)言模型BERT(Bidirectional Encoder Representations from Transformers)[15]掀起了預(yù)訓(xùn)練研究的熱潮,在經(jīng)歷相應(yīng)微調(diào)后打破了眾多NLP(Natural Language Processing)任務(wù)的記錄。隨后,Lample等[16]在BERT的基礎(chǔ)上,提出并總結(jié)了因果語(yǔ)言模型CLM(Causal Language Model)、掩碼語(yǔ)言模型MLM(Masked Language Model)和翻譯語(yǔ)言模型TLM(Translation Language Model)3個(gè)預(yù)訓(xùn)練任務(wù),在自然語(yǔ)言推理NLI(Natural Language Inference)和UNMT任務(wù)上實(shí)現(xiàn)了跨語(yǔ)言模型的預(yù)訓(xùn)練,再一次顯著提高了UNMT的翻譯性能。
受此啟發(fā),本文進(jìn)一步探究跨語(yǔ)言預(yù)訓(xùn)練在機(jī)器翻譯中的應(yīng)用及優(yōu)化。本文注意到在翻譯語(yǔ)言模型中,Lample等[16]的跨語(yǔ)言模型XLM(Cross-lingual Language Model)預(yù)訓(xùn)練實(shí)驗(yàn)過(guò)多地重視了編碼器和解碼器中的Self-Attention機(jī)制,而忽略了解碼器端的上下文注意力(Cross-Attention)機(jī)制對(duì)神經(jīng)機(jī)器翻譯的重要性,這導(dǎo)致在翻譯任務(wù)中模型的不同模塊之間參數(shù)優(yōu)劣性的不匹配,限制了模型的性能。本文在Lample等研究的基礎(chǔ)上使用了3種不同的方法訓(xùn)練UNMT模型,嘗試使用優(yōu)化解碼器中的Cross-Attention參數(shù)改進(jìn)模型的訓(xùn)練過(guò)程,旨在消除Lample等研究實(shí)驗(yàn)中存在的不同模塊間參數(shù)質(zhì)量失衡的問(wèn)題,并在英語(yǔ)-德語(yǔ)、英語(yǔ)-法語(yǔ)和英語(yǔ)-羅馬尼亞語(yǔ)這3個(gè)語(yǔ)言對(duì)上測(cè)試了實(shí)驗(yàn)效果。
Transformer[5]的主要特點(diǎn)是它既不依賴于RNN也不依賴于CNN,而僅使用自注意力機(jī)制(Self-Attention)實(shí)現(xiàn)端到端的NMT。自注意力機(jī)制是對(duì)一句話中的每個(gè)詞和該句子中的所有詞進(jìn)行注意力計(jì)算,目的是為了學(xué)習(xí)句子內(nèi)部的依賴關(guān)系,捕獲句子的內(nèi)部結(jié)構(gòu)。
Transformer的編碼器和解碼器的結(jié)構(gòu)都是多層網(wǎng)絡(luò)結(jié)構(gòu),如圖1b所示,其中編碼器由N個(gè)相同的層組成,每一層有2個(gè)子層,第1個(gè)子層是Self-Attention層,第2個(gè)子層是一個(gè)前饋神經(jīng)網(wǎng)絡(luò)FFN(Feed-Forward Network)。
Figure 1 Transformer model structure and the initialization process of XLM
解碼器同樣是由N個(gè)相同的層組成,每一層都有3個(gè)子層,第1個(gè)子層是掩碼多頭自注意力機(jī)制,第2個(gè)子層是一個(gè)對(duì)解碼器輸出的跨語(yǔ)言注意力(Cross-Attention)層,最后1個(gè)子層是一個(gè)前饋神經(jīng)網(wǎng)絡(luò)。編碼器和解碼器的子層之間均使用殘差連接[17],殘差連接的公式如式(1)所示:
hl=hl-1+fsl(hl-1)
(1)
其中,hl表示第l個(gè)子層的輸出,fsl(·)表示該層的功能函數(shù)。
Figure 2 Mask language model training of BERT
BERT是一種強(qiáng)大的自然語(yǔ)言處理、無(wú)監(jiān)督預(yù)訓(xùn)練方法,該方法在通過(guò)簡(jiǎn)單的微調(diào)后打破了眾多的自然語(yǔ)言處理NLP任務(wù)的記錄。BERT的核心思想是預(yù)先訓(xùn)練一個(gè)深度雙向Transformer編碼器,這意味著它在處理一個(gè)詞的時(shí)候,能考慮到它前面和后面單詞的信息,從而獲取上下文的語(yǔ)義。BERT的預(yù)訓(xùn)練有2項(xiàng)訓(xùn)練任務(wù):(1)掩碼語(yǔ)言模型MLM訓(xùn)練[18],它隨機(jī)掩藏掉一定比例的輸入句子token,并根據(jù)上下文來(lái)預(yù)測(cè)這些被掩藏掉的單詞。如圖2所示,其訓(xùn)練任務(wù)是預(yù)測(cè)這些隨機(jī)掩藏掉的詞語(yǔ),如“vine”“into”和“hearts”。(2)預(yù)測(cè)下文句子,這項(xiàng)任務(wù)是根據(jù)現(xiàn)有句子預(yù)測(cè)其后文內(nèi)容,例如NLP中的問(wèn)答QA(Question Answering)任務(wù)和自然語(yǔ)言推理NLI任務(wù)。
Lample等[11]在BERT的基礎(chǔ)上提出了跨語(yǔ)言模型的預(yù)訓(xùn)練,在UNMT等跨語(yǔ)言任務(wù)上達(dá)到了當(dāng)時(shí)最高的性能。XLM的訓(xùn)練主要基于2點(diǎn):一是使用2門(mén)語(yǔ)言的字節(jié)對(duì)編碼BPE(Byte Pair Encoding)共享詞匯表[19],Lample等[11]曾采用同樣的方法獲取共享詞表,取得了很不錯(cuò)的實(shí)驗(yàn)結(jié)果。不同的是,在跨語(yǔ)言預(yù)訓(xùn)練實(shí)驗(yàn)中,不同語(yǔ)言句子的采樣概率{qi}i=1,…,M服從式(2)所示的多項(xiàng)式分布,然后再進(jìn)行BPE處理。這樣采樣的目的是對(duì)大語(yǔ)種語(yǔ)料和小語(yǔ)種語(yǔ)料進(jìn)行平滑處理,防止小語(yǔ)種語(yǔ)料的單詞在BPE處理時(shí)被從字符級(jí)別分割,以平衡共享詞表中不同語(yǔ)言的單詞數(shù)量。
(2)
其中,α取0.5,pi表示語(yǔ)料庫(kù)中第i門(mén)語(yǔ)言的句子數(shù)占全部句子數(shù)的比例,M表示語(yǔ)言的種類數(shù),ni表示第i門(mén)語(yǔ)言的句子數(shù)。
二是提出了翻譯語(yǔ)言模型(TLM),其實(shí)質(zhì)是將MLM任務(wù)擴(kuò)展到雙語(yǔ)中,通過(guò)將2門(mén)語(yǔ)言的平行句對(duì)連接在一起,形成一個(gè)連續(xù)文本流,一同作為MLM的輸入。這樣模型就可以利用平行語(yǔ)句提供的跨語(yǔ)言信息來(lái)預(yù)測(cè)被掩藏掉的詞匯,同時(shí)鼓勵(lì)模型從雙語(yǔ)上下文中學(xué)習(xí)到對(duì)齊信息,以此預(yù)訓(xùn)練語(yǔ)言模型的詞向量和參數(shù)。
對(duì)于UNMT任務(wù)而言,Lample等[16]使用預(yù)訓(xùn)練的MLM分別初始化Transfomer的編碼器與解碼器;再利用多門(mén)語(yǔ)言的單語(yǔ)語(yǔ)料作為預(yù)訓(xùn)練模型的訓(xùn)練語(yǔ)料,使用降噪自編碼器訓(xùn)練語(yǔ)言模型;再通過(guò)反向翻譯得到的偽平行語(yǔ)料訓(xùn)練翻譯模型;最后通過(guò)若干次地迭代降噪自編碼器訓(xùn)練語(yǔ)言模型和反向翻譯訓(xùn)練翻譯模型這2個(gè)步驟來(lái)訓(xùn)練UNMT系統(tǒng)。
盡管Lample等[16]的XLM預(yù)訓(xùn)練實(shí)驗(yàn)取得了巨大的成功,但仍存在一些缺陷,例如在實(shí)驗(yàn)中過(guò)多地重視了編碼器和解碼器中的Self-Attention模塊和前饋神經(jīng)網(wǎng)絡(luò)模塊,而忽略了解碼器端的Cross-Attention模塊對(duì)神經(jīng)機(jī)器翻譯的重要性。本文認(rèn)為,在UNMT任務(wù)中,如果初始化的時(shí)候Cross-Attention能夠包含一定的目標(biāo)端語(yǔ)義信息,將能很好地改善實(shí)驗(yàn)性能。如圖1所示,在UNMT的預(yù)訓(xùn)練任務(wù)中,XLM僅使用一個(gè)Transformer模型的編碼器作為預(yù)訓(xùn)練模型,將2門(mén)語(yǔ)言的單語(yǔ)語(yǔ)料混合作為預(yù)訓(xùn)練模型的輸入,訓(xùn)練模型中的Self-Attention層、前饋神經(jīng)網(wǎng)絡(luò)層以及它們之后的殘差連接和Layer Normalization模塊。在隨后的翻譯任務(wù)中用它們初始化Transformer模型的編碼器和解碼器中的部分層。然而對(duì)于解碼器端的包含源端信息的Cross-Attention層卻選擇隨機(jī)初始化,這導(dǎo)致了在同一個(gè)Transformer模型中不同模塊間的參數(shù)質(zhì)量不匹配。
本文認(rèn)為,在預(yù)訓(xùn)練模型時(shí)應(yīng)該包括Cross-Attention模塊,并根據(jù)情況優(yōu)化調(diào)整。本文嘗試了幾種方法訓(xùn)練或初始化Cross-Attention中的參數(shù),以優(yōu)化其參數(shù)質(zhì)量。另外,本文嘗試將Teacher-Student框架[20]融入到UNMT任務(wù)中指導(dǎo)其訓(xùn)練。
本文認(rèn)為,由于Lample等[16]的預(yù)訓(xùn)練模型無(wú)法訓(xùn)練到同時(shí)包含源端和目標(biāo)端信息的Cross- Attention模塊,在UNMT任務(wù)正式開(kāi)始時(shí),模型中的參數(shù)所包含的跨語(yǔ)言信息并不豐富,雖然隨后會(huì)在每2步反向翻譯之間插入語(yǔ)言模型的訓(xùn)練,但是由于開(kāi)始的時(shí)候并不具備一個(gè)良好的語(yǔ)言模型指導(dǎo),這可能導(dǎo)致其在反向翻譯時(shí),參數(shù)可能會(huì)向一個(gè)錯(cuò)誤的方向更新。所以,本文嘗試在UNMT任務(wù)之前預(yù)先訓(xùn)練語(yǔ)言模型,即在原有預(yù)訓(xùn)練模型的基礎(chǔ)上,再次預(yù)訓(xùn)練帶有編碼器-解碼器結(jié)構(gòu)的語(yǔ)言模型一定時(shí)長(zhǎng)之后,再進(jìn)行普通的無(wú)監(jiān)督訓(xùn)練。訓(xùn)練方法為固定編碼器和解碼器中的自注意力機(jī)制層和前饋神經(jīng)網(wǎng)絡(luò)層的參數(shù),經(jīng)過(guò)一定的訓(xùn)練時(shí)長(zhǎng)后,再同時(shí)訓(xùn)練整個(gè)模型。簡(jiǎn)單來(lái)說(shuō),就是將原本的預(yù)訓(xùn)練+UNMT的任務(wù)流程更改為預(yù)訓(xùn)練+二次訓(xùn)練語(yǔ)言模型+UNMT的任務(wù)流程。這樣做的用意是在反向翻譯之前對(duì)解碼器端的Cross- Attention模塊進(jìn)行一定程度的訓(xùn)練,使它能夠?qū)W習(xí)到一定的源端信息,以此緩解UNMT任務(wù)開(kāi)始時(shí)不同模塊參數(shù)質(zhì)量不匹配問(wèn)題,有助于矯正模型參數(shù)的更新迭代方向。
本文認(rèn)為,Lample等[16]的UNMT實(shí)驗(yàn)中存在2個(gè)缺點(diǎn),一是預(yù)訓(xùn)練模型中部分參數(shù)隨機(jī)初始化導(dǎo)致的不同模塊參數(shù)質(zhì)量失衡;二是由于缺乏平行句對(duì)導(dǎo)致沒(méi)有一個(gè)好的訓(xùn)練指導(dǎo)方向。
針對(duì)Lample等[16]實(shí)驗(yàn)中存在的編碼器和解碼器參數(shù)質(zhì)量不匹配的問(wèn)題,本文嘗試的第2種方法是抽取預(yù)訓(xùn)練模型中的Self-Attention參數(shù)初始化解碼器中的Cross-Attention參數(shù),再通過(guò)訓(xùn)練語(yǔ)言模型和反向翻譯微調(diào)。盡管2個(gè)注意力機(jī)制的作用有所不同,但是本文認(rèn)為預(yù)訓(xùn)練模型中的Self-Attention參數(shù)是由雙語(yǔ)混合并長(zhǎng)時(shí)間通過(guò)MLM訓(xùn)練而得的,其參數(shù)中包含的跨語(yǔ)言信息依然遠(yuǎn)遠(yuǎn)優(yōu)于隨機(jī)初始化的參數(shù),加載預(yù)訓(xùn)練模型中的Self-Attention的參數(shù)并利用其中可能包含的跨語(yǔ)言信息是一種可行方案。
為了提高模型參數(shù)的魯棒性,在使用無(wú)監(jiān)督預(yù)訓(xùn)練模型中的Self-Attention層初始化無(wú)監(jiān)督神經(jīng)機(jī)器翻譯模型中的Cross-Attention層參數(shù)方法的基礎(chǔ)上,本文又為Cross-Attention的參數(shù)添加高斯噪聲[21],即以帶有高斯噪聲的預(yù)訓(xùn)練模型Self-Attention參數(shù)初始化UNMT模型的Cross-Attention參數(shù)。
在預(yù)訓(xùn)練任務(wù)完成后,常規(guī)的UNMT任務(wù)需要分別通過(guò)降噪自編碼器和制造偽平行語(yǔ)料迭代語(yǔ)言模型訓(xùn)練和反向翻譯訓(xùn)練。受Teacher-Student框架[20]的啟發(fā),在訓(xùn)練任務(wù)中,如果作為Student的翻譯任務(wù)有一個(gè)好的Teacher任務(wù)指導(dǎo),對(duì)翻譯任務(wù)的參數(shù)學(xué)習(xí)有著很大的幫助。
如圖3a所示,Chen等[20]的實(shí)驗(yàn)中X、Y和Z分別為源語(yǔ)言、目標(biāo)語(yǔ)言和軸語(yǔ)言的語(yǔ)料庫(kù),x,y和z分別表示源語(yǔ)言、目標(biāo)語(yǔ)言和軸語(yǔ)言的句子。虛線表示雙語(yǔ)之間有平行數(shù)據(jù)。在這樣的情況下對(duì)于X-Z語(yǔ)料庫(kù)中的一個(gè)平行句對(duì),概率分布P(y|x;θx→y)應(yīng)該與P(y|z;θz→y)相似,因此z→y翻譯模型作為T(mén)eacher可以指導(dǎo)作為Student的翻譯模型x→y。
Figure 3 Teacher-Student translation method
本文嘗試使用降噪自編碼器進(jìn)行指導(dǎo)。如圖3b所示,Z′表示添加了噪聲的目標(biāo)語(yǔ)言語(yǔ)料庫(kù),x是由y反向翻譯而來(lái)的句子,與y構(gòu)成偽平行句對(duì),z′是添加了噪聲的目標(biāo)語(yǔ)言句子y,即C(Y′)。虛線表示構(gòu)成的偽平行數(shù)據(jù)。該方法嘗試以z′→y為T(mén)eacher,x→y為Student,讓降噪自編碼器指導(dǎo)反向翻譯任務(wù),以它們的概率分布之間的KL散度作為損失。
本文建立英語(yǔ)?德語(yǔ)(en?de)、英語(yǔ)?法語(yǔ)(en?fr)、英語(yǔ)?羅馬尼亞語(yǔ)(en?ro)的UNMT任務(wù)進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)的翻譯性能采用評(píng)測(cè)標(biāo)準(zhǔn)雙語(yǔ)互譯評(píng)估BLEU(BiLingual Evaluation Understudy)值[22]進(jìn)行評(píng)估。
本文實(shí)驗(yàn)訓(xùn)練集的選擇與Lample等[16]的實(shí)驗(yàn)相同,抽取WMT2007~WMT2010中德語(yǔ)、英語(yǔ)和法語(yǔ)各500萬(wàn)行單語(yǔ)句子和WMT2015中230萬(wàn)行羅馬尼亞語(yǔ)句子作為訓(xùn)練集,開(kāi)發(fā)集選用數(shù)據(jù)集newstest2014en-de、newstest2014en-fr和newstest2016en-ro,測(cè)試集分別為newstest2016en- de、newstest2014en-fr和newstest2016en-ro。
實(shí)驗(yàn)選用Adam[23]作為優(yōu)化器,GELU[24]為激活函數(shù)。失活率(dropout)設(shè)為0.1,詞嵌入的維度為1 024,最大句子長(zhǎng)度為100,超過(guò)100個(gè)單詞的句子會(huì)將超長(zhǎng)部分截去,每個(gè)batch以token為單位,總數(shù)不超過(guò)1 000,并設(shè)定20萬(wàn)個(gè)句子為一輪(epoch),共享2門(mén)語(yǔ)言的詞表并設(shè)置BPE操作數(shù)為60 000。其余超參數(shù)設(shè)置與Transformer模型的默認(rèn)超參數(shù)一致[4]。本文的幾組實(shí)驗(yàn)在2塊NVIDIA TITAN Xp GPU上訓(xùn)練10 epoch進(jìn)行比較。
作為對(duì)比實(shí)驗(yàn),基準(zhǔn)系統(tǒng)的超參數(shù)設(shè)置與上述實(shí)驗(yàn)設(shè)置相同。而Lample等[16]的實(shí)驗(yàn)使用8塊GPU并行計(jì)算,每個(gè)batch的最大token數(shù)為2 000,其余實(shí)驗(yàn)設(shè)置與上述實(shí)驗(yàn)一致。
表1展示了Lample等[16]的實(shí)驗(yàn)結(jié)果,并以本文復(fù)現(xiàn)其工作的實(shí)驗(yàn)結(jié)果為基準(zhǔn)系統(tǒng)(Baseline),同時(shí)統(tǒng)計(jì)了本文嘗試的3種方法的實(shí)驗(yàn)結(jié)果。
Table 1 Comparison of BLEU of each method
表1中,LM-pretrain表示3.1節(jié)中介紹的原有預(yù)訓(xùn)練基礎(chǔ)上二階段訓(xùn)練語(yǔ)言模型的方法;Cross-Attention表示3.2節(jié)中使用預(yù)訓(xùn)練模型中的Self-Attention模塊參數(shù)初始化翻譯模型的Cross-Attention模塊參數(shù)再微調(diào)的方法;Noise CA是3.2節(jié)中在Cross-Attention中添加高斯噪聲的方法;而TS frame指的是3.3節(jié)中以降噪自編碼器和反向翻譯模型建立的Teacher-Student框架指導(dǎo)UNMT訓(xùn)練的方法。
從表1可以看出,相比于Baseline,LM- pretrain方法在en→fr、fr→en、de→en和en→de這4項(xiàng)翻譯任務(wù)上的BLEU有0.4 ~ 0.6個(gè)百分點(diǎn)的提升,而在en→ro和ro→en這2項(xiàng)翻譯任務(wù)上提升不明顯。用Self-Attention初始化Cross- Attention的方法效果最為明顯,最高在en→ro任務(wù)中BLEU值提高了2.08個(gè)百分點(diǎn),即使是對(duì)比Lample的實(shí)驗(yàn)結(jié)果,其BLEU值依然提高了1.52個(gè)百分點(diǎn)。該方法在其余5項(xiàng)翻譯任務(wù)上的BLEU值也分別取得了0.8~1.9個(gè)百分點(diǎn)的提升。而Noise CA的實(shí)驗(yàn)結(jié)果在此基礎(chǔ)上略有降低。TS frame方法則只在en→fr和fr→en翻譯任務(wù)上有0.5個(gè)百分點(diǎn)的BLEU值提升,在其余4項(xiàng)翻譯任務(wù)上效果都不太明顯。
在顯著性測(cè)試(p=0.01)中,LM-pretrain方法在en→fr、fr→en、en→de和de→en 這4項(xiàng)翻譯任務(wù)上具有更好的性能,Cross-Attention方法和Noise CA方法則在6項(xiàng)翻譯任務(wù)上都具有更好的性能,TS frame方法則只在en→fr和fr→en 2項(xiàng)翻譯任務(wù)上效果比較顯著。
實(shí)驗(yàn)表明,UNMT任務(wù)中Cross-Attention模塊的不同初始化方式對(duì)實(shí)驗(yàn)結(jié)果影響明顯,其中使用預(yù)訓(xùn)練模型中Self-Attention模塊初始化的方法效果最為顯著,且通過(guò)添加高斯噪聲的方法證明了其魯棒性較好。這說(shuō)明了預(yù)訓(xùn)練模型的Self-Attention模塊的參數(shù)包含了豐富的目標(biāo)端語(yǔ)義信息。本文分析,這些語(yǔ)義信息主要來(lái)自2個(gè)方面:(1)本文在預(yù)訓(xùn)練任務(wù)和UNMT任務(wù)中共享BPE詞表,使得詞義信息開(kāi)始融合,這得益于德語(yǔ)、英語(yǔ)和法語(yǔ)3門(mén)語(yǔ)言屬于同一語(yǔ)系。(2)在預(yù)訓(xùn)練任務(wù)中,混合打亂了雙語(yǔ)句子。使用同一個(gè)詞表初始化句子的詞向量。混合訓(xùn)練的同時(shí)使用語(yǔ)言ID和對(duì)抗網(wǎng)絡(luò)鑒別語(yǔ)種。
根據(jù)以上實(shí)驗(yàn),本文嘗試回答以下2個(gè)問(wèn)題:(1)本文提出的幾種實(shí)驗(yàn)方法與基準(zhǔn)系統(tǒng)的收斂情況對(duì)比。(2)在有平行語(yǔ)料支撐的情況下,基于跨語(yǔ)言預(yù)訓(xùn)練模型的神經(jīng)機(jī)器翻譯中Cross- Attention層是否也存在如UNMT同樣的問(wèn)題。
(1)幾種方法收斂情況對(duì)比。
在神經(jīng)機(jī)器翻譯NMT中,要對(duì)訓(xùn)練語(yǔ)料整體訓(xùn)練多次,通常需要經(jīng)過(guò)多個(gè)epoch的訓(xùn)練才能獲得一個(gè)穩(wěn)定的模型。由于UNMT實(shí)驗(yàn)中僅具有大規(guī)模的單語(yǔ)數(shù)據(jù),使用全部訓(xùn)練集迭代訓(xùn)練多個(gè)epoch需要花費(fèi)的時(shí)間代價(jià)過(guò)于巨大,所以本文選擇從訓(xùn)練集中抽取20萬(wàn)個(gè)句子為1個(gè)epoch。因?yàn)槿狈ζ叫袛?shù)據(jù),常規(guī)的訓(xùn)練時(shí)長(zhǎng)可能并不能得到穩(wěn)定的結(jié)果,所以本文以de→en翻譯任務(wù)為例,探究訓(xùn)練的epoch數(shù)對(duì)翻譯結(jié)果的影響,結(jié)果如圖4所示。
Figure 4 Relationship between epoch and BLEU
可以看出,使用Self-Attention初始化Cross-Attention的方法迅速收斂到擬合狀態(tài)且性能明顯優(yōu)于基準(zhǔn)系統(tǒng)的,而在預(yù)訓(xùn)練基礎(chǔ)上二次訓(xùn)練語(yǔ)言模型的方法雖然開(kāi)始的時(shí)候性能優(yōu)于基準(zhǔn)系統(tǒng),但是隨著訓(xùn)練輪數(shù)的增加,翻譯性能的提升不再明顯。使用Teacher-Student框架指導(dǎo)UNMT模型訓(xùn)練的方法,性能也僅有微弱的提升。
為防止模型過(guò)擬合,本文最終選擇訓(xùn)練了10個(gè)epoch的模型為比較模型。
(2)初始化Cross-Attention層的方法應(yīng)用在NMT的情況分析。
為了驗(yàn)證Cross-Attention參數(shù)質(zhì)量在跨語(yǔ)言預(yù)訓(xùn)練模型中的重要性,本文另外設(shè)計(jì)了一組對(duì)比實(shí)驗(yàn),對(duì)比在預(yù)訓(xùn)練的基礎(chǔ)上常規(guī)的有監(jiān)督NMT中隨機(jī)初始化Cross-Attention方法和本文3.1節(jié)中使用預(yù)訓(xùn)練模型中Self-Attention初始化Cross-Attention的方法。本實(shí)驗(yàn)使用WMT2014 de-en和WMT2016 en-ro訓(xùn)練集訓(xùn)練了一個(gè)粗糙的預(yù)訓(xùn)練模型,并從語(yǔ)料庫(kù)中抽取40萬(wàn)行的平行句對(duì)作為神經(jīng)機(jī)器翻譯任務(wù)的訓(xùn)練集,將對(duì)比實(shí)驗(yàn)應(yīng)用到了常規(guī)的監(jiān)督NMT任務(wù)中。實(shí)驗(yàn)結(jié)果如表2所示。
由表2可以看出,在4項(xiàng)翻譯任務(wù)上,使用Self-Attention初始化Cross-Attention的訓(xùn)練方法的BLEU都獲得了提高,其中在en→ro和ro→en翻譯任務(wù)上提升較大,分別取得了2.24和1.58個(gè)百分點(diǎn)的BLEU值提升,而在de→en和en→de 2項(xiàng)翻譯任務(wù)上分別取得了0.61和0.78個(gè)百分點(diǎn)的提升。
這表明本文發(fā)現(xiàn)的XLM跨語(yǔ)言預(yù)訓(xùn)練實(shí)驗(yàn)的缺陷是正確的且具有改進(jìn)空間。
Table 2 Comparison of experimental results in NMT
本文分析了XLM實(shí)驗(yàn)在UNMT任務(wù)中跨語(yǔ)言預(yù)訓(xùn)練的一些不足,并嘗試使用3種方法改進(jìn)UNMT模型的訓(xùn)練。其中抽取預(yù)訓(xùn)練Self- Attention初始化Cross-Attention再微調(diào)的方法在一定程度上緩解了UNMT模型不同模塊參數(shù)質(zhì)量不匹配的問(wèn)題,模型收斂最快且在多個(gè)語(yǔ)言對(duì)上獲得了最顯著的效果。本文同樣在NMT任務(wù)中驗(yàn)證了該方法的有效性。而在預(yù)訓(xùn)練基礎(chǔ)上二階段訓(xùn)練語(yǔ)言模型的方法,雖然開(kāi)始時(shí)優(yōu)于原本的UNMT系統(tǒng),但是隨著訓(xùn)練時(shí)長(zhǎng)的增加,提升效果漸漸不明顯,僅在部分翻譯任務(wù)上有較為明顯的效果。本文同樣嘗試了將Teacher-Student框架融入到UNMT的任務(wù)中,但是隨著訓(xùn)練時(shí)長(zhǎng)的增加,提升效果也不明顯。
接下來(lái)的工作將考慮直接修改預(yù)訓(xùn)練模型,提出一個(gè)更加有效的訓(xùn)練Cross-Attention層的方法,讓模型在預(yù)訓(xùn)練階段就可以直接考慮到翻譯模型全部模塊的參數(shù)訓(xùn)練,這樣更有利于Cross- Attention層學(xué)習(xí)到目標(biāo)端的語(yǔ)義信息。本文認(rèn)為,新的模型經(jīng)歷長(zhǎng)時(shí)間的訓(xùn)練,能夠更好地獲得跨語(yǔ)言信息,會(huì)取得一定效果。