国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

集成多種策略模型的維漢神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯系統(tǒng)

2021-08-19 08:22宜年艾山吾買爾劉勝全
現(xiàn)代計(jì)算機(jī) 2021年21期
關(guān)鍵詞:編碼器漢語領(lǐng)域

宜年,艾山·吾買爾,劉勝全

(1.新疆大學(xué)信息科學(xué)與工程學(xué)院,烏魯木齊830046;2.新疆多語種信息技術(shù)重點(diǎn)實(shí)驗(yàn)室,烏魯木齊830046)

0 引言

神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯(Neural Machine Translation,NMT)是最近幾年研究人員主要關(guān)注的機(jī)器翻譯方法,該方法隨著計(jì)算能力的提升和網(wǎng)絡(luò)結(jié)構(gòu)的優(yōu)化使得其在多個(gè)翻譯任務(wù)上的性能超過統(tǒng)計(jì)機(jī)器翻譯,從而成為當(dāng)前機(jī)器翻譯領(lǐng)域中最引人注目的方法。2014年Sutskever等人[1]提出了一種端到端的神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯框架——編碼器-解碼器結(jié)構(gòu)。隨后Bahdanau等人[2]提出了注意力機(jī)制,改進(jìn)了編碼器-解碼器模型對(duì)于長句子翻譯不好的缺陷。2017年Facebook提出了ConvS2S翻譯模型[3],該模型根據(jù)利用多層卷積神經(jīng)網(wǎng)絡(luò)和門控機(jī)制來構(gòu)建翻譯模型,使得模型的訓(xùn)練時(shí)間更短和性能更好。2017年Google根據(jù)編碼器-解碼器框架和注意力機(jī)制提出一種基于自注意力(Self-Atten?tion)機(jī)制的Transformer模型[4],該模型相比于之前利用循環(huán)神網(wǎng)絡(luò)和多層卷積神經(jīng)網(wǎng)路的模型。它僅使用自注意力機(jī)制來構(gòu)成編碼器和解碼器,從而使得模型訓(xùn)練時(shí)間顯著縮短,并進(jìn)一步提升了機(jī)器翻譯的性能。Transformer是目前學(xué)術(shù)界和工業(yè)界使用最廣泛的機(jī)器翻譯模型。在本次的維漢機(jī)器翻譯任務(wù)中,我們使用Transformer模型實(shí)現(xiàn)了維漢機(jī)器翻譯模型,主要選用Facebook團(tuán)隊(duì)研發(fā)的FairSeq開源系統(tǒng)。

1 神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯及相關(guān)策略

1.1 基于自注意力機(jī)制的Transformer模型

Vaswani等人[4]提出了Transformer模型。它在機(jī)器翻譯領(lǐng)域取得了顯著的提升。不同于RNNSearch模型,它是完全基于自注意力機(jī)制,能夠有效地提升模型訓(xùn)練的效率。但它同RNNSearch一樣,同樣由編碼器和解碼器構(gòu)成。Transformer模型中的編碼器與RNN?Search的作用相同,都是用于將源語言序列所包含的語義信息轉(zhuǎn)換為特征向量。Transformer的編碼器有N層結(jié)構(gòu)相同的子層組成。其中每一個(gè)子層都由多頭注意力和前饋神經(jīng)網(wǎng)絡(luò)以及殘差網(wǎng)絡(luò)構(gòu)成。多頭注意力通過利用自注意力來提取序列中所包含的信息,前饋神經(jīng)網(wǎng)絡(luò)這可以將包含提取信息的特征向量進(jìn)行特征組合和非線性映射。使得特征向量在向量空間上更接近目標(biāo)語言的特征向量。而殘差網(wǎng)絡(luò)是為了防止模型結(jié)構(gòu)因?yàn)檫^于復(fù)雜而引起的退化。

對(duì)于第k層編碼器,其的公式為:

公式中MultiHead()為多頭注意力;FFN()為前饋神經(jīng)網(wǎng)絡(luò);AddNorm()為殘差網(wǎng)絡(luò)。為k-1層編碼器的輸出,dmodel為模型隱狀態(tài)的維度。當(dāng)k=1時(shí)為詞嵌入層的輸出。它由詞向量和位置信息向量加和得到。通過N次上述過程的迭代可以的得到序列的特征向量hs,它為編碼器最后一層的輸出即之后會(huì)將該特征向量輸入到解碼器中,用于預(yù)測目標(biāo)序列的字符。

解碼器的結(jié)構(gòu)與編碼器的結(jié)構(gòu)類似,也是由N層結(jié)構(gòu)相同的子層組成。不同于編碼器,解碼器的每個(gè)子層都由三部分組成,其中兩部分與編碼器的相同。不同的是在多頭注意力之前增加了一個(gè)遮掩多頭注意力(MaskMultiHead())用于提取已知的目標(biāo)序列的特征。對(duì)于第K層的遮掩多頭注意力,其公式為:

通過將ct經(jīng)過線性轉(zhuǎn)換和softmax操作之后,可以得到目標(biāo)序列的概率:

Linear為線性操作。在訓(xùn)練階段,可以通過最小化交叉熵?fù)p失(最大化目標(biāo)序列概率)來指導(dǎo)模型的更新:

y

1.2 反向翻譯與偽造數(shù)據(jù)選擇

文獻(xiàn)[5]提出了通過反向翻譯(Back Translation,BT)的方法,利用單語言數(shù)據(jù)提高模型性能的方法,反向翻譯已成為機(jī)器翻譯系統(tǒng)最主要的數(shù)據(jù)增強(qiáng)方法。本次評(píng)測提供了目標(biāo)端的漢語單語言文本,通過數(shù)據(jù)預(yù)處理保留了6881603條句子。本文中,使用CCMT2020提供的維漢數(shù)據(jù),采用知識(shí)蒸餾的方法實(shí)現(xiàn)了漢維翻譯模型,對(duì)全部單語數(shù)據(jù)進(jìn)行循環(huán)翻譯(Round Trip Translation)構(gòu)建《真實(shí)漢語句子、偽造維語句子、偽造漢語句子》的語料庫利用語言模型的困惑度、sim(Y,YPseudo)、領(lǐng)域相似度、Y,XPseudo的詞語對(duì)齊值等對(duì)DPseudo進(jìn)行排序,然后與真實(shí)數(shù)據(jù)合并進(jìn)行使用。文獻(xiàn)[6]提出了添加標(biāo)簽的方法,本系統(tǒng)所使用的全部偽造數(shù)據(jù)均添加標(biāo)簽。

偽造數(shù)據(jù)不一定全部是質(zhì)量高的數(shù)據(jù),如何從大量的偽造數(shù)據(jù)中選出質(zhì)量高,而且對(duì)模型性能提升有幫助的數(shù)據(jù)是充分挖掘反向翻譯的關(guān)鍵問題之一[7]。本評(píng)測系統(tǒng)研發(fā)中,借鑒已有的方法,嘗試采用基于語言模型計(jì)算偽造句子困惑度、通過詞對(duì)齊計(jì)算句子對(duì)齊度、對(duì)真實(shí)句子和循環(huán)翻譯的句子計(jì)算BLEU值、領(lǐng)域相似度計(jì)算等方法來評(píng)價(jià)數(shù)據(jù)質(zhì)量,根據(jù)實(shí)驗(yàn)結(jié)果使用插值化的方式使用多種評(píng)價(jià)值的方法,對(duì)評(píng)價(jià)值不在0-1之間的方法,使用Max-Min方法對(duì)困惑度進(jìn)行歸一化,以便于在插值化使用的保證每個(gè)評(píng)價(jià)值都在0-1之間。

(1)基于語言模型計(jì)算偽造句子的困惑度:該方法中利用雙語語料庫的維吾爾語文本,利用KenLM1https://github.com/kpu/kenlm工具實(shí)現(xiàn)維吾爾語N-Gram語言模型,并對(duì)反向翻譯得到的偽造維語句子計(jì)算困惑度,按照困惑度高低對(duì)所有句子進(jìn)行排序,然后使用Max-Min方法對(duì)困惑度進(jìn)行歸一化,以便于在插值化使用的保證每個(gè)評(píng)價(jià)值都在0-1之間。

(2)利用句子詞語對(duì)齊工具fast_align1對(duì)偽造的維漢句對(duì)計(jì)算基于對(duì)齊率的歸一化句子對(duì)齊質(zhì)量值。

(3)利用循環(huán)翻譯的結(jié)果,對(duì)真實(shí)的漢語句子和偽造得到的漢語句子計(jì)算句子BLEU,按照BLEU值進(jìn)行排序。

(4)領(lǐng)域相似度是基于預(yù)訓(xùn)練模型的基礎(chǔ)上,2019年騰訊CCMT評(píng)測報(bào)告[8]中的兩層全連接網(wǎng)絡(luò)的方法計(jì)算,模型直接加載預(yù)訓(xùn)練語言模型,獲得句子向量,將句子向量輸入到兩層的全連接層中,以實(shí)現(xiàn)領(lǐng)域內(nèi)外作為分類器目標(biāo)進(jìn)行建模,具體公式為:

領(lǐng)域內(nèi)數(shù)據(jù)為正例,通用領(lǐng)域數(shù)據(jù)為負(fù)例,訓(xùn)練BERT領(lǐng)域二分類器,使用BERT領(lǐng)域二分類器對(duì)偽造數(shù)據(jù)中的漢語數(shù)據(jù)使用分類器進(jìn)行分類,得到分類為正例和負(fù)例的概率,其中分類為正例的概率為領(lǐng)域相似度值。

領(lǐng)域內(nèi)數(shù)據(jù)選取:以開發(fā)集和訓(xùn)練集的每個(gè)句子計(jì)算相似度,使用編輯距離方法計(jì)算字符串相似度,開發(fā)集里面每個(gè)句子和訓(xùn)練集中的每個(gè)句子計(jì)算相似度,大于0.5的保留然后排序,將最相似的20個(gè)句子保存起來;開發(fā)集里面每個(gè)句子和單語漢語中的每個(gè)句子計(jì)算相似度,大于0.5的保留然后排序,將最相似的20個(gè)句子保存起來,如果大于0.5的不夠20條,有多少就保留多少。

由于訓(xùn)練分類器,領(lǐng)域內(nèi)數(shù)據(jù)和通用領(lǐng)域數(shù)據(jù)應(yīng)當(dāng)有一定的差別。因此采用和選領(lǐng)域內(nèi)數(shù)據(jù)相同的方法選取參與訓(xùn)練的通用領(lǐng)域數(shù)據(jù)。

具體做法:中文開發(fā)集作為領(lǐng)域內(nèi)數(shù)據(jù)集,使用編輯距離方法計(jì)算字符串相似度,給開發(fā)集里面每個(gè)句子和訓(xùn)練集中的每個(gè)句子計(jì)算相似度,小于0.5,大于0.1的保留然后排序,將最不相似的100個(gè)句子保存起來,給開發(fā)集里面每個(gè)句子和漢語單語每個(gè)句子計(jì)算相似度,小于0.5,大于0.1的保留然后排序,將最不相似的100個(gè)句子保存起來,將得到的這些最不相似的句子合并之后,將長度小于5的句子去掉,去重,從中隨機(jī)選和領(lǐng)域內(nèi)數(shù)據(jù)相同數(shù)量的數(shù)據(jù)作為通用領(lǐng)域數(shù)據(jù)。

1.3 知識(shí)蒸餾與微調(diào)

知識(shí)蒸餾(Knowledge Distillation,KD)[9]是一種知識(shí)遷移的方法,是一種基于“教師-學(xué)生網(wǎng)絡(luò)思想”的訓(xùn)練方法,由于其簡單、有效,在工業(yè)界被廣泛應(yīng)用。針對(duì)NMT的特點(diǎn),本文采用句子級(jí)的知識(shí)蒸餾方法來獲取偽造數(shù)據(jù),具體的知識(shí)蒸餾過程包括不同策略和機(jī)構(gòu)的模型訓(xùn)練、生成翻譯文件、混合真實(shí)和蒸餾文件從新訓(xùn)練系統(tǒng)。本系統(tǒng)中,分別使用Left2Right(L2R)、Right2Left(R2L)、Source2Target(S2T)、Target2Source(T2S)方式訓(xùn)練四個(gè)Teacher模型,然后生成訓(xùn)練數(shù)據(jù)的四個(gè)蒸餾文件,與真實(shí)數(shù)據(jù)合并,采用最大似然估計(jì)的方法訓(xùn)練得到學(xué)生模型。

1.4 模型平均

Sennrich等人[10]在WMT16比賽中使用模型參數(shù)平均方法,該方法可以提升模型魯棒性。模型平均是指在使用不同數(shù)據(jù)和不同方式進(jìn)行訓(xùn)練過程中保存在驗(yàn)證集上翻譯結(jié)果最好的N個(gè)模型,并在利用這N個(gè)模型翻譯源端語言時(shí)對(duì)其翻譯得到的目標(biāo)端字符概率平均,是一種融合策略[11]。利用在訓(xùn)練中得到的N個(gè)模型預(yù)測當(dāng)前時(shí)刻木掰斷語言單詞的概率分別,進(jìn)而將多個(gè)模型的預(yù)測的概率分布進(jìn)行加權(quán)平均,以聯(lián)合預(yù)測最終輸出。本文中,對(duì)真實(shí)數(shù)據(jù)與偽造數(shù)據(jù)混合訓(xùn)練的多種策略的模型、知識(shí)蒸餾后的模型等進(jìn)行模型平均,根據(jù)實(shí)驗(yàn)結(jié)果選用合理的系統(tǒng)。

2 數(shù)據(jù)

在本次的維漢機(jī)器翻譯任務(wù)中,對(duì)維漢雙語數(shù)據(jù)和機(jī)器翻譯數(shù)據(jù)都進(jìn)行了預(yù)處理和過濾,主要操作全角字符轉(zhuǎn)半角字符、處理轉(zhuǎn)義字符、控制字符等特殊字符過濾、分詞及token、單語、雙語語料篩選等,維吾爾語分詞使用本課題組自己開發(fā)的工具,漢語分詞使用清華大學(xué)分詞系統(tǒng)THULAC,過濾掉句子長度比例3以上的句子,最終保留維漢句子164315條。對(duì)漢語單語數(shù)據(jù),除了采用以上的預(yù)處理方法之外,去掉了“網(wǎng)址,email”或句子中英文或數(shù)字的單詞比例超過句子的25%的句子以及長度大于100漢語單詞的句子,最終保留了6881603條句子。數(shù)據(jù)統(tǒng)計(jì)如表1所示。

表1 評(píng)測數(shù)據(jù)統(tǒng)計(jì)分析

3 實(shí)驗(yàn)

3.1 實(shí)驗(yàn)環(huán)境

在本次的機(jī)器翻譯評(píng)測中,我們使用的操作系統(tǒng)版本為CentOS 7.2,CPU為Intel Xeon CPU E5-2640,內(nèi)存256G,顯卡NVIDIA Tesla V100(4塊),顯存16G。本次實(shí)驗(yàn)中,使用了Transformer模型,采用了Facebook開源的FairSeq1https://github.com/pytorch/fairseq系統(tǒng)的PyTorch版本。本次評(píng)測采用FairSeq系統(tǒng)Transformer Big Model,每個(gè)模型使用1塊GPU核進(jìn)行訓(xùn)練,BPE,每個(gè)batch大約含有4096 to?ken,模型訓(xùn)練60 epoch,每epoch保存一次模型用于之后的模型平均。模型中詞嵌入層的維度為1024,解碼器和編碼器包含6個(gè)子層,其中每個(gè)子層的頭自注意力機(jī)制使用16個(gè)頭,前饋神經(jīng)網(wǎng)絡(luò)中隱層維度為4096。本次評(píng)測采用了dropout機(jī)制,dropout設(shè)為0.3。使用Adam梯度優(yōu)化算法來訓(xùn)練得到最終的模型參數(shù),其中β 1=0.90,β2=0.98。初始學(xué)習(xí)率為0.001,warmup步數(shù)設(shè)定為4000,beam size=24。漢語和維語端均使用BPE切分,每一個(gè)的BPE詞表大小為8K,聯(lián)合切分。

3.2 偽造數(shù)據(jù)選用實(shí)驗(yàn)

為了充分利用評(píng)測提供的漢語單語數(shù)據(jù),對(duì)偽造平行語料庫進(jìn)行數(shù)據(jù)規(guī)模和選擇方法方面的實(shí)驗(yàn),使用10個(gè)模型進(jìn)行平均得到模型的平均值。本實(shí)驗(yàn)中,使用維漢真實(shí)數(shù)據(jù)實(shí)現(xiàn)漢維翻譯模型對(duì)全部漢語單語數(shù)據(jù)進(jìn)行翻譯,使用維吾爾語文本訓(xùn)練得到基于N-Gram的語言模型,實(shí)驗(yàn)數(shù)據(jù)是通過語言模型對(duì)偽造數(shù)據(jù)計(jì)算困惑度排序,按照排序結(jié)果依次提取。

從表2可以看出,3百萬數(shù)據(jù)的Best Model和平均模型的值處于第二的水平,最好單模型的結(jié)果略低于4百萬數(shù)據(jù)訓(xùn)練的單模型,平均模型的水平略低于3.5萬數(shù)據(jù)訓(xùn)練的平均模型,所以本系統(tǒng)中確定選用3百萬句對(duì)維漢偽造語料庫。

表2 反向翻譯不同規(guī)模數(shù)據(jù)的實(shí)驗(yàn)對(duì)比分析

如何從偽造語料庫中選擇使用對(duì)系統(tǒng)訓(xùn)練幫助最大的數(shù)據(jù)是充分挖掘單語言的關(guān)鍵問題之一。本文中,為了選出來最好的數(shù)據(jù),單獨(dú)和插值化的方式使用語言模型計(jì)算偽造句子的困惑度、領(lǐng)域相似度、循環(huán)翻譯的原句子和最終偽造句子的句子BLEU值分?jǐn)?shù)、詞對(duì)齊分?jǐn)?shù)等作為評(píng)價(jià)偽造句子質(zhì)量的方法從維漢偽造平行語料庫選擇300萬數(shù)據(jù)與真實(shí)數(shù)據(jù)合并訓(xùn)練模型,實(shí)驗(yàn)結(jié)果如表3所示,表3使用偽造數(shù)據(jù)使用知識(shí)蒸餾的漢維和維漢翻譯。

表3 不同數(shù)據(jù)選擇方法的實(shí)驗(yàn)結(jié)果

從實(shí)驗(yàn)結(jié)果可以看出,通過循環(huán)翻譯把漢語句子翻譯成維語,然后把偽造維語句子再一次使用機(jī)器翻譯翻譯成漢語,對(duì)最初的真實(shí)漢語句子和最后的偽造漢語句子進(jìn)行相似度計(jì)算的方法評(píng)價(jià)偽造維語句子的方法是最有效的數(shù)據(jù)選擇方法之一,其次領(lǐng)域相似度也是相對(duì)有一定效果。插值化的方式合并使用詞對(duì)齊分?jǐn)?shù)、領(lǐng)域相似度、句子BLEU、句子困惑度等也能接近句子BLEU的水平,集成Char BELU 47以上的模型得到模型值為48.81。

3.3 知識(shí)蒸餾、微調(diào)和模型平均實(shí)驗(yàn)

為了提高系統(tǒng)的適應(yīng)性,提高僅有少量數(shù)據(jù)的潛力,采用知識(shí)蒸餾的方法開展了實(shí)驗(yàn),分析了知識(shí)蒸餾的可行性,并在表4中的模型就使用4種方式進(jìn)行了知識(shí)遷移和微調(diào)。從表4可以看到,不同解碼方向和不同語言方向的確對(duì)模型性能具有較大的影響。

表4 Teacher模型的實(shí)驗(yàn)結(jié)果

從表4和表5,可以看出知識(shí)蒸餾對(duì)維漢模型和漢維模型的性能有較大幅度的提升。為了測試蒸餾文件加入類似于反向翻譯的偽造數(shù)據(jù)添加標(biāo)簽的作用,實(shí)驗(yàn)中分別實(shí)現(xiàn)了不帶任何標(biāo)簽的蒸餾數(shù)據(jù)與真實(shí)數(shù)據(jù)合并的學(xué)生模型、帶標(biāo)簽的蒸餾文件與真實(shí)數(shù)據(jù)合并混合訓(xùn)練的學(xué)生模型。從實(shí)驗(yàn)結(jié)果可以看出,添加標(biāo)簽對(duì)模型性能的影響可以忽略不計(jì)。

表5 Student模型的實(shí)驗(yàn)結(jié)果

根據(jù)表5的結(jié)果,利用四個(gè)蒸餾數(shù)據(jù)和真實(shí)數(shù)據(jù),對(duì)表3中Char BLEU值大于47的模型進(jìn)行基于三種策略的微調(diào):①直接利用四個(gè)蒸餾數(shù)據(jù)對(duì)模型進(jìn)行微調(diào),然后集成模型;②四個(gè)蒸餾數(shù)據(jù)和真實(shí)數(shù)據(jù)的混合數(shù)據(jù)對(duì)所有模型進(jìn)行微調(diào),然后集成模型;③使用四個(gè)蒸餾數(shù)據(jù)進(jìn)行微調(diào),然后再使用真實(shí)的數(shù)據(jù)進(jìn)行微調(diào),最終集成模型。

表6 知識(shí)蒸餾與微調(diào)系統(tǒng)結(jié)果對(duì)比

表7 多個(gè)系統(tǒng)在開發(fā)集上的性能對(duì)比

4 結(jié)語

本文對(duì)機(jī)器翻譯系統(tǒng)性能有影響的反向翻譯和數(shù)據(jù)評(píng)價(jià)、知識(shí)蒸餾、微調(diào)、模型平均等進(jìn)行比較詳細(xì)的對(duì)比實(shí)驗(yàn),并融合使用以上多種策略所得到的模型后,取得了顯著提升。從本文實(shí)驗(yàn)中,可以得到通過反向翻譯生成偽造數(shù)據(jù),并合理的方式篩選機(jī)器翻譯得到的偽造數(shù)據(jù)對(duì)提高低資源翻譯模型幫助非常明顯。

猜你喜歡
編碼器漢語領(lǐng)域
電子戰(zhàn)領(lǐng)域的爭鋒
基于ResNet18特征編碼器的水稻病蟲害圖像描述生成
學(xué)漢語
基于Beaglebone Black 的絕對(duì)式編碼器接口電路設(shè)計(jì)*
輕輕松松聊漢語 后海
2020 IT領(lǐng)域大事記
領(lǐng)域·對(duì)峙
追劇宅女教漢語
2018年熱門領(lǐng)域趨勢展望
漢語不能成為“亂燉”
祁门县| 清新县| 唐海县| 正定县| 淳化县| 东阿县| 隆林| 蕉岭县| 伊金霍洛旗| 双鸭山市| 阆中市| 姚安县| 焦作市| 松溪县| 蒙阴县| 得荣县| 武陟县| 闽侯县| 五台县| 封丘县| 寻乌县| 鄂尔多斯市| 余姚市| 克什克腾旗| 泰来县| 阜城县| 乌拉特后旗| 富裕县| 西乌| 突泉县| 通山县| 安龙县| 女性| 富裕县| 漯河市| 堆龙德庆县| 洞头县| 兴化市| 台安县| 怀安县| 银川市|