蘇依拉,王 昊,賀玉璽,孫曉騫,仁慶道爾吉,吉亞圖
(內蒙古工業(yè)大學 信息工程學院,呼和浩特 010080)
近年來提出的神經(jīng)網(wǎng)絡機器翻譯(neural machine translation,NMT)得益于其模型結構,相比統(tǒng)計機器翻譯能夠更好的建模長距離依賴關系.但是自神經(jīng)網(wǎng)絡由Allen 等人[1]和Chrisman 等人[2]最初嘗試機器翻譯任務以來,已經(jīng)歷了很長時間.由于早期翻譯性能較差以及受計算機硬件的限制,NMT 方法多年來一直被忽視.直到2000年以后,隨著DNN (deep neural network,深度神經(jīng)網(wǎng)絡)等機器學習方法在自然處理領域的逐漸成熟,以及并行計算能力隨著GPU (graphics processing unit,圖形處理器)的廣泛應用逐漸提高,基于DNN的機器翻譯方法重新受到研究人員的關注.2013年,基于DNN的機器翻譯模型訓練方法由Kalchbrenner 等人[3]提出,文中編碼器(encoder)-解碼器(decoder)架構展現(xiàn)出了巨大的應用潛力.并在隨后的幾年,Sutskever等人[4]提出了一種以兩個循環(huán)神經(jīng)網(wǎng)絡(recurrent neural network,RNN)構成的序列到序列(sequence-to-sequence,Seq2Seq)神經(jīng)網(wǎng)絡結構,用來處理英語到法語的翻譯問題,以解決先前的DNN 方法無法處理變長的輸入序列、輸出序列問題.Cho 等人[5,6]提出GRU(gated recurrent unit,門控循環(huán)單元)結構,并將其應用于機器翻譯領域之后取得了不錯的效果,但是他們在實驗中發(fā)現(xiàn)隨著輸入句子長度的增加,使用原始encoderdecoder 結構建立的機器翻譯模型性能會迅速下降.為了解決這一問題,Bahdanau 等人[7]首次將注意力機制(attention) 用到NMT 訓練中,作為對encoderdecoder 模型的拓展.每當帶注意力機制的機器翻譯模型在翻譯一個單詞的時候,它會搜索源語言句子中與該單詞最相關的上下文信息.然后,翻譯模型根據(jù)與待翻譯詞最相關的上下文向量,結合之前翻譯出的所有目標語言單詞來預測待翻譯詞對應的譯文.以此為基礎,2015年Luong 等人[8]又提出了兩種新的attention,其中一種是始終關注整個源句子的全局(global)方式,另一種是以節(jié)省計算量為目的,關注部分源句子的局部(local)方式,分別證明了提出的兩種attention 在機器翻譯任務中的有效性.雖然此時的NMT 模型,相比于傳統(tǒng)統(tǒng)計翻譯模型在翻譯質量上已經(jīng)取得了令人滿意的成績.但是在神經(jīng)機器翻譯對詞表的大小有限制,隨著詞表的增大,訓練的復雜度以及解碼的復雜度都會相應增大.為此2015年Jean 等人[9,10]提出了一種基于重要性采樣的方法,可以在不加大訓練復雜度的情況下,使用非常大的目標詞表.通過選擇目標詞表的一個較小的子集,較大目標詞表解碼的效率也可以有效的提高,并在WMT14和WMT15的英-德、英-法的任務上取得了最新的進展.在之后的2016年,許多研究人員[11–14]通過實驗證明了神經(jīng)機器翻譯相比傳統(tǒng)的統(tǒng)計機器翻譯有更好的表現(xiàn).其中最突出的是Junczys 等人[13]在超過30 個語言對上,將NMT和SMT 進行對比以展現(xiàn)神經(jīng)機器翻譯的強大的性能,結果顯示NMT在27 個任務上超過了SMT中性能最好的PBSMT.從這之后,谷歌翻譯等[15]工業(yè)級在線機器翻譯系統(tǒng)的翻譯內核由NMT 模型代替了原有的SMT 模型,該神經(jīng)網(wǎng)絡翻譯模型通過在基于循環(huán)神經(jīng)網(wǎng)絡上改進的LSTM(long short term memory,長短時記憶網(wǎng)絡)結構[16]的層之間引入殘差連接,以解決深度模型梯度消失的問題,并將模型編碼器-解碼器層數(shù)堆疊到了8 層,一定程度上緩解了傳統(tǒng)機器翻譯中的長距離依賴問題,使得機器翻譯的譯文準確率得到進一步的提升.在這之后,來自Facebook的Gehring 等人[17]提出了基于CNN(convolutional neural networks,卷積神經(jīng)網(wǎng)絡)的編碼器—解碼器模型,在機器翻譯的譯文準確度上超越了谷歌的LSTM 機器翻譯模型,并大幅的提升了翻譯模型的翻譯速度.
盡管基于編碼器-解碼器的神經(jīng)機器翻譯模型的翻譯質量已經(jīng)有了顯著的提高,但對于低資源語言,基于NMT 模型生成的譯文流暢度與準確度仍有優(yōu)化空間.為了緩解小語種之間因為平行語料庫匱乏導致的機器翻譯質量不高的問題,2014年Goodfellow 等人[18]首次提出了生成對抗網(wǎng)絡(generative adversarial networks,GAN),由于圖像的連續(xù)性該網(wǎng)絡首次被提出就是應用在了計算機視覺領域,隨著研究者對其不斷地進行更深入的研究,如今該網(wǎng)絡已經(jīng)成功的延伸到了其他領域,一些研究[19,20]已經(jīng)將對抗訓練應用在了情感分析、自然語言處理(natural language processing,NLP)等任務中.2015年Sennrich 等人[21]提出了使用單語數(shù)據(jù),通過構造偽平行數(shù)據(jù)集的方式進行機器翻譯模型的訓練.該方法有效的利用了大量的、容易獲得的單語數(shù)據(jù),一定程度上緩解了因平行語料稀缺造成的機器翻譯質量不高的問題.2016年劉鐵巖等人[22]將對偶學習機制應用在了機器翻譯中,該方法在訓練機器翻譯模型時,使用單語數(shù)據(jù)結合雙語數(shù)據(jù)進行翻譯模型的訓練,在平行雙語數(shù)據(jù)匱乏的情況下,依然得到了較好的翻譯模型.以對偶學習為基礎,Yi 等人[23]提出了一種Dual-GAN 算法用于跨領域圖片到圖片翻譯,實驗表明,Dual-GAN 比單個GAN 在圖像翻譯中具有更大的性能優(yōu)勢.隨著使用單語數(shù)據(jù)訓練機器翻譯模型的技術逐漸成熟,機器翻譯的研究者們提出了更加大膽的想法.2017年Wu 等人[24]使用對抗訓練的方法得到了Adversarial-NMT 模型,該模型是生成對抗網(wǎng)絡在機器翻譯領域中的首次應用.該模型的訓練有效的結合了生成對抗網(wǎng)絡和深度強化學習系列技術,在翻譯質量上超越了現(xiàn)有神經(jīng)機器翻譯模型,有效的緩解了因平行語料庫匱乏及使用最大似然估計訓練翻譯模型而造成的機器翻譯質量不高的問題.在這基礎上,2018年Yang 等人[25]進一步研究了條件序列生成對抗網(wǎng)絡對神經(jīng)機器翻譯模型質量的影響,其思想主要來自于Goodfellow 提出的GAN.即生成器生成難以與人類翻譯的句子區(qū)分開的語句,而鑒別器努力將機器生成的句子與人類翻譯的句子區(qū)分開.背后的動機是:雖然無法全面的手動定義標準句子的數(shù)據(jù)分布,但能夠利用判別網(wǎng)絡自動學習標準句子,因此,建立了條件序列生成對抗網(wǎng)絡來聯(lián)合訓練兩個子對抗模型.同樣驗證了使用對抗學習進行機器翻譯模型訓練的方法可以有效的提高譯文的自然性、充分性和準確性.
因此,將對抗學習策略應用在平行語料資源較為匱乏的蒙漢機器翻譯中以提升其翻譯質量具有非常重要的研究價值.本文從如何提高蒙漢機器翻譯模型質量的角度出發(fā),將生成對抗網(wǎng)絡應用在了蒙漢機器翻譯中,并通過將Dual-GAN 算法應用于翻譯模型訓練過程中,進一步優(yōu)化基于對抗學習的蒙漢神經(jīng)機器翻譯模型,最終有效的提高了蒙漢機器翻譯模型的質量.本文具體的研究內容如下.
(1)基于GAN的蒙漢機器翻譯
相比于統(tǒng)計機器翻譯,基于編碼器-解碼器的神經(jīng)機器翻譯模型的翻譯效果顯而易見,然而,端到端神經(jīng)機器翻譯仍然存在著眾多問題,其中之一就是,在進行模型訓練時都采用最大似然估計原理,即模型可以為當前生成最佳的候選詞,但這從長遠來看對整個句子的翻譯并不是最佳翻譯,并且保證不了譯文的自然性,充分性以及準確性,因此本文將生成對抗網(wǎng)絡應用在了蒙漢機器翻譯中,研究生成對抗網(wǎng)絡對蒙漢機器翻譯模型質量的影響.首先對生成對抗網(wǎng)絡機器翻譯模型進行重點闡述;接著介紹可以作為生成對抗網(wǎng)絡中生成器的神經(jīng)機器翻譯模型并通過實驗來驗證Transformer是作為生成器最佳的模型;與此同時,介紹可以作為生成對抗網(wǎng)絡中鑒別器的神經(jīng)網(wǎng)絡模型并通過實驗來驗證CNN是作為鑒別器最佳的網(wǎng)絡模型,最后對生成對抗網(wǎng)絡的訓練原理及訓練方法進行介紹,通過實驗驗證對抗訓練可以有效的提高蒙漢神經(jīng)機器翻譯模型的質量.
(2)基于Dual-GAN的蒙漢機器翻譯
目前,小語種之間的機器翻譯效果不理想,最主要的原因之一就是平行語料庫嚴重匱乏,對偶學習策略就是在平行雙語數(shù)據(jù)集匱乏的條件下,能夠利用單語數(shù)據(jù)很好的進行模型的訓練并且得到質量較高的翻譯模型,因此,本文在基于生成對抗網(wǎng)絡的蒙漢機器翻譯模型的基礎上,結合了對偶學習策略進一步蒙漢機器翻譯模型.首先在基于Transformer 框架的基礎上,采用對偶學習的訓練方法,并通過實驗驗證對偶學習的有效性,在此基礎上,通過結合對抗式訓練和對偶學習策略來進一步提高蒙漢翻譯模型的質量.
本文將基于生成對抗網(wǎng)絡的神經(jīng)機器翻譯模型簡稱為Adversarial-NMT,其模型結構如圖1所示.
圖1 對抗神經(jīng)機器翻譯模型結構
在生成對抗網(wǎng)絡模型中,生成器和鑒別器是相互對抗又相互協(xié)助的模型,而單獨來看,生成器本身已經(jīng)是一個完整的機器翻譯模型,只是該模型的性能比較差,不能夠像專家一樣做到精準翻譯,可以類似于一個沒有通過英語四級的學生,可以是基于編碼器-解碼器模型,也可以是帶有注意力機制的編碼器-解碼器模型.本文主要通過將帶有注意力機制的編碼器-解碼器模型、編碼器-解碼器重構模型、基于Transformer的模型3 種機器翻譯模型分別作為生成對抗網(wǎng)絡中的編碼器,通過實驗獲得這3 種模型中質量最好的模型,作為對抗訓練中研究的主要模型.
首先,將帶有注意力機制的編碼器-解碼器模型作為生成器,該模型結構簡單,計算復雜度比較小,但存在一個很大的缺陷,就是翻譯句子時會有較多的過譯和漏譯現(xiàn)象.
之后,將基于編碼器-解碼器重構模型作為生成器,該模型可以有效的彌補傳統(tǒng)的帶有注意力機制的編碼器-解碼器模型的缺陷,即緩解翻譯中的過譯和漏譯現(xiàn)象,因此將該模型作為第2 種生成器.本文在原傳統(tǒng)編碼器-解碼器架構基礎上加入了重構器,其模型的架構如圖2所示.
圖2 編碼器-解碼器重構模型
觀察圖2可以發(fā)現(xiàn),帶有注意力機制的編碼器-解碼器模型作為了該模型的一個組成部分,在此模型中,編碼器采用了雙向LSTM 網(wǎng)絡.首先,源語言句子經(jīng)過基于注意力機制的編碼器-解碼器架構中的編碼器會得到隱藏狀態(tài),然后通過反向LSTM計算出輸入語言的后向隱藏狀態(tài),接著通過連接和得到整體的隱藏狀態(tài)hi,最后通過非線性變換q將輸入序列的隱藏狀態(tài)轉化為上下文向量ci,該框架中的解碼器通常使用單向LSTM 網(wǎng)絡來實現(xiàn),i時刻的條件概率如式(1)所示:
此時,源語言句子已經(jīng)翻譯成了目標語言句子,但由于在解碼過程中對解碼器沒有添加約束,所以會導致有些詞被解碼器解了碼,而有一些詞沒有解碼,使翻譯結果與真實的翻譯產(chǎn)生了差異.因此,本文通過添加重構器,再將目標語言翻譯成源語言句子,以一種自我約束的方式較少翻譯過程中過多翻譯和漏譯的現(xiàn)象.其中,j時刻重構器重構出源語言句子中詞的條件概率如式(2)所示:
其中,重構器中隱藏狀態(tài)的計算如式(4)所示:
通過觀察上述公式可以發(fā)現(xiàn),重構器的重構過程和解碼器的解碼過程非常類似,只不過解碼器是將源語言句子的向量表示解碼為目標語言句子,而重構器的任務是將目標語言句子的向量表示重新構建為源語言句子.
最后將基于Transformer的機器翻譯模型作為第3 種生成器,該模型完全基于注意力機制,模型中沒有任何循環(huán)神經(jīng)網(wǎng)絡、卷積神經(jīng)網(wǎng)絡這樣的網(wǎng)絡結構.
鑒別器是生成對抗網(wǎng)絡中起監(jiān)督作用的網(wǎng)絡,用源語言句子、生成器生成的目標語言句子以及人工翻譯的目標語言句子進行訓練后,就可以區(qū)分出哪些句子是生成器翻譯的,哪些句子是人工翻譯的,在本文中也就是給蒙古語比較差的學生翻譯的蒙古語句子進行打分,可以使用循環(huán)神經(jīng)網(wǎng)絡、卷積神經(jīng)網(wǎng)絡等,本文使用卷積神經(jīng)網(wǎng)絡作為鑒別器.
在分類器中將CNN 網(wǎng)絡作為特征提取是因為CNN 網(wǎng)絡在提取圖像特征時具有平移不變性,可以很好地捕捉到圖像的空間特征,這也讓CNN 在處理圖像問題時擁有強大的特征表達能力,卷積神經(jīng)網(wǎng)絡的結構圖如圖3所示.
圖3 卷積神經(jīng)網(wǎng)絡
由圖3可得,卷積神經(jīng)網(wǎng)絡結構主要由卷積層和池化層兩部分組成,卷積層主要負責對特征圖做卷積操作,池化層主要對特征圖像做池化操作.原始特征圖輸入CNN 網(wǎng)絡后經(jīng)過不斷地卷積和池化處理可以將簡單淺層特征不斷地抽象為高級深度特征.這些高級特征可以用于復雜的模式識別任務,例如圖像分類、語音識別等.當CNN 作為鑒別器時,基于CNN的鑒別器的圖形說明如圖4所示.
圖4 基于CNN的鑒別器
由于生成器生成的句子的長度本身是可變的,因此首先需要通過填充將輸入的句子轉換為固定長度T的序列,T是預先設定好的輸入句子序列的最大長度.給定源語言句子x1,···,xT和目標語言句子y1,···,yT,我們建立源矩陣X1:T和目標矩陣Y1:T,計算分別為式(5)和式(6)所示:
其中,xi,yi∈Rk是k維單詞嵌入,分號為連接運算符.對于源矩陣X1:T,使用卷積核wj∈Rl×k,窗口大小為l個詞的卷積運算產(chǎn)生一系列特征圖,運算如式(7):
其中,? 運算符為按元素產(chǎn)生和,b為偏置,ρ為非線性激活函數(shù)ReLU.BP 表示批標準化.為了得到最終的特征,在特征圖中進行核為wj的最大池化操作,如式(8)所示:
分別使用不同大小的卷積核和變化的窗口獲取不同的特征,最終通過連接形成源語言句子的向量表示cx,同樣的方法通過目標矩陣Y1:T計算出目標語言句子的向量表示cy,最后,給定源語言句子,目標語言句子為真實句子的概率計算如式(9)所示:
以什么樣的順序進行對抗訓練是一個非常關鍵的問題,假如先訓練生成器,那么生成器生成的數(shù)據(jù)就稍微接近真實的數(shù)據(jù)一點,而此時鑒別器性能特別差,根本不認識什么是真實數(shù)據(jù),此時很有可能給出錯誤的判別,而生成器就會根據(jù)一個錯誤的反饋去優(yōu)化自己的模型,這樣生成器的性能只會越來越差.因此,生成對抗網(wǎng)絡模型的訓練過程如圖5所示.
圖5中有4 幅子圖,均有粗虛線,細虛線和實線,分別代表:真實數(shù)據(jù)的分布、判別器的衡量標準以及生成器生成的數(shù)據(jù)的分布情況.圖5(a)為模型經(jīng)過預訓練后的狀態(tài),也就是對抗訓練的初始狀態(tài),此時鑒別器沒有統(tǒng)一的衡量標準,線條波動比較大,生成器生成的數(shù)據(jù)與真實數(shù)據(jù)分布差距比較大.接下來模型的訓練步驟如下.
圖5 GAN 模型的訓練過程
(1)首先訓練鑒別器模型,使鑒別器有一個比較穩(wěn)定的衡量標準.
(2)經(jīng)過對鑒別器的訓練,此時鑒別器已經(jīng)有了比較穩(wěn)定的標準,如圖5(b)所示,接下來對生成器進行訓練,經(jīng)過訓練的生成器生成的數(shù)據(jù)與真實數(shù)據(jù)的差距變小了,如圖5(c)所示.
(3)步驟(1)和步驟(2)循環(huán)進行,直到鑒別器認為生成器生成的數(shù)據(jù)與真實的數(shù)據(jù)非常相似,然后停止訓練,如圖5(d)所示,此時鑒別器的衡量標準非常穩(wěn)定,生成器生成的數(shù)據(jù)與真實的數(shù)據(jù)非常相似.
生成對抗網(wǎng)絡模型結構比較簡單,但如何進行參數(shù)訓練卻是一個難題.在訓練生成對抗網(wǎng)絡時,不能通過反向求導的方式把誤差信號從鑒別器直接傳遞到生成器上,原因是,句子不像圖像,其本身就是離散的.因此,本文在進行完生成器和鑒別器模型的預訓練之后通過策略梯度算法進行對抗訓練,保證在訓練過程中生成器模型和鑒別器模型的參數(shù)都能夠得到很好的優(yōu)化.使用生成器模型G和鑒別器模型D表示法,得到模型的最終訓練目標如式(10)所示:
其中,V(D,G) 表示生成器模型G和鑒別器D的損失函數(shù),E表示期望,Pdata(x,y) 表示將平行語料庫中的源語言句子x和目標語言句子y輸入到鑒別器D中,鑒別器認為其為人工翻譯的概率,G(y′,x) 表示將平行語料庫中的源語言句子x和由G生成的目標語言句子y輸入到鑒別器中,鑒別器認為其為人工翻譯的概率.翻譯模型G的目標是盡力生成質量較高的目標語言句子y去欺騙鑒別器D,而鑒別器的目標是成功區(qū)分出生成器翻譯的句子和真實的句子.
由式(9)可知,訓練D的方法非常簡單,即一直向D 提供來自真實的語言對 (x,y)和采樣翻譯對 (x,y′),可以將 (x,y) 稱為積極數(shù)據(jù),(x,y′) 稱為消極數(shù)據(jù).然而,當訓練NMT 模型G時,設計訓練過程就比較復雜了,因為由G產(chǎn)生的y′是離散的,使得D到G的誤差信號很難直接反向傳播,致使V(D,G) 不可微G的模型參數(shù)ΘG.為了解決這個問題,本文使用了強化學習中的蒙特卡羅策略梯度下降算法來優(yōu)化模型G.需要注意的是,在固定源語言句子和D下,訓練G的目的是盡量減小式(11)所示的損失值:
其中,L相對于 ΘG的梯度計算如式(12)所示:
其中,來自G(·|x)的樣本y′用于近似上述梯度,式(11)可以化簡為式(13):
其中,?ΘGlogG(y′|x)是用神經(jīng)機器翻譯網(wǎng)絡指定的梯度,這個近似梯度用來更新 ΘG,如式(14)所示:
其中,α 表示學習率.
在上述式(11)–式(13)中,NMT 模型G(·|x)是面對源語言句子x的條件策略,而鑒別器D提供的-log(1-D(x,y′)) 充當獎勵的蒙特卡羅估算.y′成功欺騙鑒別器D的可能性越大,即D(x,y′) 越大,NMT 模型獲得的獎勵越大,并且“偽”訓練數(shù)據(jù) (x,y′) 相應的也會更多,有助于提高策略G(·|x).
本文使用3 種神經(jīng)機器翻譯模型預訓練生成器,分別為Google-NMT、在編碼器-解碼器結構中加入重構器的Reconstructor-NMT 以及谷歌提出的Transformer架構,實驗數(shù)據(jù)使用內蒙古工業(yè)大學人工智能與模式識別實驗室提供的515 000 句對蒙漢平行語料,其中10 000 句作為驗證集,5 000 句作為測試集,對訓練所得到的模型在測試集上的BLEU 值進行統(tǒng)計,結果如表1.
表1 生成器實驗結果對比
由表1可知,當使用相同的數(shù)據(jù)集時,相比于NMT模型,Reconstructor-NMT 模型在測試集上的BLEU 值有一定的提升,而Transformer 模型的BLEU 值遠遠高于前兩個模型.因此,后續(xù)對抗訓練中,使用50 萬句的蒙漢訓練集來訓練Transformer 框架作為生成器.
本文使用上述訓練結果最好的基于Transformer框架訓練的生成器,使用50 萬句蒙漢平行語料和50 萬句由生成器生成的偽平行語料,分別結合卷積神經(jīng)網(wǎng)絡、長短時記憶網(wǎng)絡作為鑒別器進行對抗訓練,之后對訓練得到的蒙漢神經(jīng)機器翻譯模型在測試集上的BLEU 值進行了評估,結果如圖6所示.
觀察圖6可知,當LSTM 作為鑒別器時,經(jīng)過對抗訓練后的Transformer 翻譯模型在測試集上的BLEU值均隨著訓練的進行出現(xiàn)大幅度下降,而使用CNN 作為鑒別器時,Transformer 翻譯模型在測試集上的BLEU值總體呈上升狀態(tài).實驗結果證明CNN 相比LSTM 更適合作為基于對抗學習的蒙漢神經(jīng)翻譯模型的鑒別器.
圖6 不同網(wǎng)絡作為鑒別器時翻譯模型BLEU 值的變化趨勢
當鑒別器使用CNN 時,本文進一步分別對3 種生成器經(jīng)過對抗訓練之后的蒙漢翻譯模型在測試集上的BLEU 值進行了統(tǒng)計,針對不同的模型類型,統(tǒng)計結果如表2所示.
表2 對抗訓練前后BLEU 值的對比
由表2可以看出,無論哪個網(wǎng)絡作為生成器,經(jīng)過對抗訓練之后的模型在測試集上的BLEU 值總是優(yōu)于對抗訓練之前的模型,且使用Transformer 作為生成器時,得到的最終的翻譯模型在測試集上的BLEU 值最高.
生成對抗網(wǎng)絡可以有效的提高傳統(tǒng)機器翻譯模型中存在的翻譯不自然,不充分等的現(xiàn)象,然而對于屬于小語種的蒙古語,其和漢語之間的平行語料非常匱乏,且基于生成對抗網(wǎng)絡的蒙漢機器翻譯算法嚴重依賴平行語料庫的規(guī)模.對偶學習在訓練機器翻譯模型時,使用單語數(shù)據(jù)結合雙語數(shù)據(jù)的模式,在平行雙語數(shù)據(jù)匱乏的情況下,依然能夠得到較好的翻譯模型,因此本章使用Dual-GAN 算法,在使用GAN的條件下加入對偶學習策略來進一步提高蒙漢機器翻譯模型的質量,最終實現(xiàn)基于Dual-GAN的蒙漢機器翻譯系統(tǒng).
談到對偶學習,可以從一個翻譯游戲開始講起,這個游戲中有兩個玩家分別為x和y,如圖7所示.
圖7 對偶學習原理圖
左邊為x,只會講蒙古文,右邊為y,只會講中文,他們希望提高他們兩個人之間的蒙漢和漢蒙機器翻譯模型,給定一個蒙古文句子a,x首先通過蒙漢機器翻譯模型將其翻譯為中文句子b,然后把這個中文句子發(fā)送給y,因為沒有標注,所以y并不清楚正確的翻譯是什么,但是因為y懂中文,所以能夠判別這個句子b是不是符合中文語法,是不是符合中文的語言模型,這些信息對y判別蒙漢機器翻譯模型的好壞有很大的幫助,判斷完之后,y會把中文句子b通過漢蒙機器翻譯模型翻譯成蒙古文句子a′,并發(fā)送給x,x通過對比a和a′的相似度就可以知道蒙漢機器翻譯模型和漢蒙機器翻譯模型的好壞.因此本文通過這樣的一個對偶游戲,使用無標注的數(shù)據(jù)來提高蒙漢神經(jīng)機器翻譯模型的質量.
語言A的單語集合用DA表示,語言B的單語集合用DB表示,其中,DA和DB并不需要相互平行,可以是完全不平行,假如目前我們已經(jīng)有可以將A語言翻譯成B語言的模型,也有將B語言翻譯成A語言的模型,只是這兩個模型比較弱,接下來我們的目標是,使用單語數(shù)據(jù)來提高這兩個比較弱的翻譯模型的準確率.
假設DA包含NA個句子,DB包含NB個句子,P(·|s;ΘAB)和P(·|s;ΘBA) 分別表示A到B的翻譯模型和B到A的翻譯模型,其中,ΘAB和ΘBA分別是這兩個翻譯模型中的參數(shù).
假設我們已經(jīng)有了兩個已經(jīng)訓練好的語言模型LMA(·)和LMB(·),輸入一個句子給語言模型,會輸出一個真值,這個值用來表示這個句子是否為一個自然、正確的句子,只是來判斷一個句子的語法是否正確、句子是否通順,并不用來翻譯句子.這兩個語言模型可以分別用數(shù)據(jù)集DA和DB來訓練.
對于數(shù)據(jù)集DA中以句子s開頭的游戲,用smid表示翻譯的中間輸出,此中間步驟具有立即獎勵r1=LMB(smid),該獎勵指輸出句子在語言B中的自然程度.在給定翻譯的中間輸出smid的條件下,使用從smid中恢復的s的對數(shù)概率作為通信的獎勵,用數(shù)學語言表示為r2=logP(s|smid;ΘBA).簡單的采用LM獎勵和通信獎勵的線性組合作為總獎勵,例如:r=αr1+(1-α)r2,其中 α是一個超參數(shù).因為游戲的獎勵可以看作是s、smid和翻譯模型中參數(shù) ΘAB與 ΘBA的函數(shù),可以通過策略梯度方法優(yōu)化翻譯模型中的參數(shù)以實現(xiàn)獎勵的最大化.
本文首先根據(jù)翻譯模型P(·|s;ΘAB) 采樣,然后根據(jù)參數(shù) ΘAB和ΘBA計算期望獎勵E[r]的梯度,計算方法如式(15)和式(16)所示.
本節(jié)實驗使用與第2 節(jié)同樣的50 萬句對蒙漢平行數(shù)據(jù)集,同時加入20 萬句蒙語單語語料以及20 萬句漢語單語語料用于對本文對抗模型進行對偶訓練.本文將對抗訓練所得模型作為本節(jié)實驗的基線模型,通過對比單獨使用對抗學習策略、單獨使用對偶學習策略以及結合對偶和對抗學習策略3 種方法訓練所得的蒙古語到漢語的翻譯模型翻譯的漢語句子的BLEU值,從而驗證Dual-GAN 算法的有效性,其中,翻譯模型均使用Transformer 進行訓練,表3展示了上述3 種模型在相同測試集上的BLEU 值,其中,其中,GAN 表示單獨使用生成對抗網(wǎng)絡所得模型在測試集上的BLEU值,Dual 表示在Transformer的基礎上只使用對偶學習策略訓練所得的模型在測試集上的BLEU 值,Dual-GAN 表示使用對偶學習策略訓練生成對抗網(wǎng)絡所得模型在測試集上的BLEU 值.
表3 3 種模型BLEU 值的對比
觀察表3中的BLEU 值可以發(fā)現(xiàn),基于對偶學習的蒙漢翻譯模型(Dual)所對應的BLEU 值比基于對抗學習的蒙漢翻譯模型(GAN)對應的BLEU 值明顯要高,可見加入一定的蒙漢單語語料進行對偶訓練對蒙漢機器翻譯模型的質量具有積極的作用.使用對偶策略訓練生成對抗網(wǎng)絡所得蒙漢翻譯模型(Dual-GAN)的BLEU 值最高,證明對偶學習可以提高基于GAN的蒙漢機器翻譯模型的質量.表4展示了分別通過上述三種翻譯模型(GAN、Dual、Dual-GAN)將蒙古語翻譯成漢語句子的效果.
表4 3 種模型的翻譯效果對比
由表4可得,3 種模型翻譯所得的漢語句子均已經(jīng)能夠表達句子的基本含義,但最后一種模型翻譯得到的漢語句子更加自然、準確.綜上所述,Dual-GAN算法可以在一定程度上提高蒙漢神經(jīng)機器翻譯模型的翻譯質量.
本文從如何提高蒙漢機器翻譯模型質量的角度出發(fā),研究基于對抗學習方法提高蒙漢神經(jīng)機器翻譯模型的質量.本文首先通過將不同神經(jīng)機器翻譯框架(NMT,Reconstructor-NMT,Transformer 模型)作為生成器,選擇出了Transformer是更適合生成器的框架.之后分別將LSTM 與CNN 作為鑒別器,以實驗的方式驗證了只有CNN 做鑒別器時,對抗訓練可以有效的提高蒙漢機器翻譯模型的質量,且通過對比實驗結果,發(fā)現(xiàn)在CNN 做鑒別器的條件下,無論生成器用NMT、Reconstructor-NMT 還是Transformer 框架,經(jīng)對抗訓練后模型的BLEU 值總是高于原模型的BLEU 值,證明了基于對抗方法訓練蒙漢神經(jīng)機器翻譯模型的有效性.最后,本文將DualGAN 算法引入蒙漢神經(jīng)機器翻譯模型的訓練中,以進一步優(yōu)化蒙漢神經(jīng)機器翻譯模型質量.實驗結果表明,使用Dual-GAN 算法得到的蒙漢機器翻譯模型譯文BLEU 值,相比僅使用GAN 或對偶學習得到翻譯模型譯文BLEU 值有一定的提升,且譯文的質量也有明顯提升.綜上,本文通過研究性能更強的對抗學習框架訓練蒙漢翻譯模型,并結合對偶訓練方法對翻譯模型進行優(yōu)化,有效的提高了蒙漢機器翻譯模型的質量.由于訓練生成對抗網(wǎng)絡需要比較多的計算資源以及存儲空間,對硬件資源要求比較高.因此,本文接下來的工作可以從進一步簡化以及優(yōu)化模型的角度出發(fā),研究出更加高效的蒙漢機器翻譯算法.