□文/Guillaume Lample、Ludovic Denoyer、Marc’Aurelio Ranzato
Facebook探索無(wú)監(jiān)督機(jī)器翻譯
□文/Guillaume Lample、Ludovic Denoyer、Marc’Aurelio Ranzato
得益于最近在深度學(xué)習(xí)方面取得的進(jìn)展以及大規(guī)模平行語(yǔ)料庫(kù)的可用性,現(xiàn)如今,機(jī)器翻譯已經(jīng)在多個(gè)語(yǔ)言對(duì)上取得了令人印象深刻的表現(xiàn)。然而,沒(méi)有平行數(shù)據(jù)的情況下,是否有可能學(xué)習(xí)翻譯?
相信大家都知道,最近在機(jī)器翻譯領(lǐng)域取得了令人印象深刻的成果,而這主要?dú)w功于最近在深度學(xué)習(xí)方面所取得的巨大進(jìn)步,以及大規(guī)模平行語(yǔ)料庫(kù)(large-scale parallel corpora)的可用性。我們已經(jīng)進(jìn)行過(guò)無(wú)數(shù)次嘗試,試圖將這些成功擴(kuò)展到低資源語(yǔ)言對(duì),但這需要數(shù)以萬(wàn)計(jì)的并行句子。在這項(xiàng)研究中,我們把這個(gè)研究方向做到了極致,并研究了在沒(méi)有任何平行數(shù)據(jù)的情況下,是否有可能學(xué)習(xí)翻譯?我們提出構(gòu)建一種模型,它用兩種不同的語(yǔ)言從單語(yǔ)語(yǔ)料庫(kù)(monolingual corpora)中提取句子,然后將它們映射到相同的潛在空間中。通過(guò)學(xué)習(xí)從這個(gè)共享的特征空間中以兩種語(yǔ)言進(jìn)行重構(gòu),該模型有效地學(xué)習(xí)了在不使用任何標(biāo)記數(shù)據(jù)的情況下進(jìn)行翻譯。我們?cè)趦蓚€(gè)廣泛使用的數(shù)據(jù)集和兩個(gè)語(yǔ)言對(duì)上對(duì)模型進(jìn)行演示,結(jié)果顯示,BLEU分?jǐn)?shù)高達(dá)32.8,而在訓(xùn)練期間甚至沒(méi)有使用一個(gè)平行句。
得益于最近在深度學(xué)習(xí)方面取得的進(jìn)展以及大規(guī)模平行語(yǔ)料庫(kù)的可用性,現(xiàn)如今,機(jī)器翻譯已經(jīng)在多個(gè)語(yǔ)言對(duì)上取得了令人印象深刻的表現(xiàn)。然而,這些模型只有在提供大量的并行數(shù)據(jù),即大約數(shù)百萬(wàn)個(gè)并行句子的情況下,才能很好地運(yùn)行。不幸的是,并行語(yǔ)料庫(kù)的構(gòu)建成本是非常高的,因?yàn)檫@需要專(zhuān)門(mén)的專(zhuān)業(yè)知識(shí),而且通常對(duì)于低資源語(yǔ)言來(lái)說(shuō)是不可能的。相反,單語(yǔ)數(shù)據(jù)更容易找得到,而且許多具有有限并行數(shù)據(jù)的語(yǔ)言仍然擁有大量的單語(yǔ)數(shù)據(jù)。
在半監(jiān)督環(huán)境中,我們已經(jīng)進(jìn)行了多次嘗試,試圖利用單語(yǔ)數(shù)據(jù)來(lái)提高機(jī)器翻譯系統(tǒng)的質(zhì)量。最值得注意的是,Sennrich 等人于2015年提出了一個(gè)非常高效的數(shù)據(jù)增強(qiáng)方案,我們稱(chēng)之為“回譯(back-translation)”,即從目標(biāo)語(yǔ)言到源語(yǔ)言的輔助翻譯系統(tǒng)首先在可用的并行數(shù)據(jù)上進(jìn)行訓(xùn)練,然后用于從大的目標(biāo)端的單語(yǔ)語(yǔ)料庫(kù)中生成翻譯。然后將這些翻譯的組成對(duì)以及與其相對(duì)應(yīng)的參考目標(biāo)(ground truth targets)用作原始翻譯系統(tǒng)的附加訓(xùn)練數(shù)據(jù)。
另一種在目標(biāo)端使用單語(yǔ)數(shù)據(jù)的方式是用語(yǔ)言模型來(lái)增強(qiáng)解碼器(Gulcehre等人于2015年提出)。最后,Cheng等人(于2016年)、He等人(于2016年)提出在單語(yǔ)數(shù)據(jù)上增加一個(gè)輔助自動(dòng)編碼任務(wù),這樣就可以保證翻譯后的句子可以再次被回翻成原文。但是,所有這些研究依然依賴(lài)于數(shù)萬(wàn)個(gè)平行的句子。
之前關(guān)于零資源(zero-resource)機(jī)器翻譯的研究也依賴(lài)于標(biāo)記信息,它們不是來(lái)自于那些有用的語(yǔ)言對(duì),而是其他相關(guān)的語(yǔ)言對(duì)(Firat等人于2016年、Johnson等人于2016年、Chen等人于2017年提出)或其他形式的語(yǔ)言對(duì)(Nakayama 和 Nishida于2017年、Lee等人于2017年提出)。唯一的例外就是Ravi和Knight(于2011年)、Pourdamghani和Knight(于2017年)所進(jìn)行的研究,他們將機(jī)器翻譯問(wèn)題簡(jiǎn)化為解密問(wèn)題。不幸的是,他們的方法局限性在于只適用于相當(dāng)短的句子,而且它只是在一個(gè)非常簡(jiǎn)單的環(huán)境中得以證明的,包括那些最常見(jiàn)的短句子或者是非常接近的語(yǔ)言中。
在論文中,我們研究是否可以訓(xùn)練一個(gè)通用的機(jī)器翻譯系統(tǒng),而不需要任何形式的監(jiān)督。我們所做的唯一假設(shè)是每種語(yǔ)言都存在一個(gè)單語(yǔ)語(yǔ)料庫(kù)。這個(gè)假設(shè)有兩個(gè)有趣的原因。 首先,當(dāng)我們遇到一個(gè)我們沒(méi)有注釋的新語(yǔ)言對(duì),就可以使用它。其次,它對(duì)任何好的半監(jiān)督方法預(yù)期會(huì)產(chǎn)生一個(gè)強(qiáng)大的下界表現(xiàn)。
僅使用單語(yǔ)語(yǔ)料庫(kù)的無(wú)監(jiān)督機(jī)器翻譯
圖1:原理簡(jiǎn)筆圖,用以指導(dǎo)我們?cè)O(shè)計(jì)目標(biāo)函數(shù)。左(自動(dòng)編碼):模型被訓(xùn)練,以便基于其噪聲版本重建一個(gè)句子。其中,x是目標(biāo),C(x)是噪聲輸入,x^是重建。右(翻譯):模型被訓(xùn)練用以翻譯另一個(gè)領(lǐng)域的句子。其中輸入是在前一次迭代(t),y = M(t)(x)處由模型本身M產(chǎn)生的噪聲翻譯(在這種情況下,翻譯順序?yàn)閺脑吹侥繕?biāo)(from source-to-target))。該模型是對(duì)稱(chēng)的,我們?cè)谄渌Z(yǔ)言中將重復(fù)相同的過(guò)程。
關(guān)鍵點(diǎn)是在兩種語(yǔ)言(或領(lǐng)域)之間建立一個(gè)共同的潛在空間,并根據(jù)兩個(gè)原則通過(guò)在兩個(gè)領(lǐng)域進(jìn)行重構(gòu)來(lái)學(xué)習(xí)翻譯:(1)模型必須能夠從噪聲版本中以給定的語(yǔ)言重構(gòu)句子,如在標(biāo)準(zhǔn)去噪自動(dòng)編碼器中。(2)該模型還學(xué)習(xí)了在目標(biāo)域中對(duì)同一句子進(jìn)行有噪的翻譯時(shí)重構(gòu)任何源語(yǔ)句,反之亦然。對(duì)于(2),翻譯的句子通過(guò)使用回譯程序獲得,即通過(guò)使用學(xué)習(xí)模型將源句子翻譯成目標(biāo)域來(lái)獲得翻譯后的句子。除了這些重構(gòu)目標(biāo)之外,我們還使用對(duì)抗正則化術(shù)語(yǔ)將源句子和目標(biāo)句子的潛在表示限制為相同的分布,由此模型試圖欺騙鑒別器,該鑒別器被同時(shí)訓(xùn)練以識(shí)別給定的潛在句子表示的語(yǔ)言。然后迭代地重復(fù)這個(gè)過(guò)程,從而產(chǎn)生高質(zhì)量的翻譯模型。為了保持我們的方法完全無(wú)監(jiān)督,我們初始化我們的算法,通過(guò)使用一個(gè)基于從同一單語(yǔ)數(shù)據(jù)衍生出雙語(yǔ)詞匯的句子逐字翻譯的無(wú)監(jiān)督翻譯模型。
雖然無(wú)法與使用大量并行資源的有監(jiān)督方法進(jìn)行競(jìng)爭(zhēng),但我們?cè)谙嚓P(guān)應(yīng)用中展示了我們的模型能夠?qū)崿F(xiàn)卓越的性能。例如,在WMT數(shù)據(jù)集上,在對(duì)10萬(wàn)對(duì)句子進(jìn)行完全監(jiān)督的機(jī)器翻譯系統(tǒng)中,我們可以達(dá)到同樣的翻譯質(zhì)量。在Multi30K-Task1數(shù)據(jù)集中,我們?cè)谒姓Z(yǔ)言對(duì)上實(shí)現(xiàn)了22以上的BLEU值,英翻法BLEU值達(dá)到32.76。
我們提出了一種新的神經(jīng)機(jī)器翻譯方法,其中翻譯模型僅使用單語(yǔ)言數(shù)據(jù)集學(xué)習(xí),句子或文檔之間沒(méi)有任何對(duì)齊。這個(gè)方法的原理是從一個(gè)簡(jiǎn)單的無(wú)監(jiān)督逐字翻譯模型開(kāi)始,并基于重構(gòu)損失迭代地改進(jìn)這個(gè)模型,并且使用鑒別器來(lái)對(duì)齊源語(yǔ)言和目標(biāo)語(yǔ)言的潛在分布。我們的實(shí)驗(yàn)表明,我們的方法能夠在沒(méi)有任何監(jiān)督的情況下學(xué)習(xí)有效的翻譯模型。