中科院計(jì)算所副研究員馮洋:神經(jīng)機(jī)器翻譯的訓(xùn)練改進(jìn)和解碼提速
2. 非自回歸解碼
最后介紹一下基于非自回歸的解碼方法,傳統(tǒng)的解碼方法是順序生成的。如果能夠使得解碼的時(shí)候并行的方式生成,這速度將會(huì)大大的提升。
傳統(tǒng)的非自回歸模型的做法是,在Transformer Encoder端頭部加一個(gè)Fertility預(yù)測(cè),用來(lái)預(yù)測(cè)每個(gè)源端Token能翻譯成一個(gè)目標(biāo)端的Token,然后根據(jù)預(yù)測(cè)的結(jié)果,將源端的Token拷貝到Decoder的輸入,如果一個(gè)源端Token能夠翻譯兩個(gè)目標(biāo)Token,那就拷貝兩次,如果源端Token不會(huì)翻譯成目標(biāo)端Token,那就不拷貝。由于每一步輸出的譯文是沒(méi)有給到下一步的,所以是可以并行的。對(duì)于Fertility的訓(xùn)練是采用某種對(duì)齊模型,通過(guò)計(jì)算源端和目標(biāo)端的對(duì)齊關(guān)系,然后就可以得到源端和目標(biāo)端的對(duì)齊結(jié)果,就可以采用監(jiān)督的方式來(lái)訓(xùn)練Fertility分支。
該方法有一個(gè)問(wèn)題,就是在翻譯當(dāng)前步的時(shí)候沒(méi)有考慮上一步的翻譯信息。這樣就可能導(dǎo)致翻譯結(jié)果的流暢度不夠好。我們的方法就是在該方法的基礎(chǔ)上添加了序列上的信息。這樣模型既能并行執(zhí)行,又能考慮的到前后的序列關(guān)系。
我們的工作分為兩個(gè)方面,一個(gè)是在訓(xùn)練上添加序列信息,一個(gè)是在模型上面同樣也添加序列信息。序列訓(xùn)練采用的是Reinforce的方法,Reinforce的方法非常難以訓(xùn)練,這是因?yàn)槠浞讲罘浅4螅讲畲蟮脑蚴菑?qiáng)化學(xué)習(xí)episode(一條軌跡從開(kāi)始到結(jié)束)的搜索空間非常大,我們每次只是采樣出一個(gè)episode,然后根據(jù)這個(gè)episode進(jìn)行計(jì)算,通過(guò)大數(shù)定律,我們可以假設(shè)這最終得到的是一個(gè)梯度的無(wú)偏估計(jì)。但是在實(shí)際情況下,抖動(dòng)是非常大的。
將Reinforce算法應(yīng)用到我們這個(gè)場(chǎng)景,首先看第一個(gè)公式,由于目標(biāo)端詞的概率是獨(dú)立的,所以就可以寫(xiě)成連乘的形式,第二個(gè)公式就是傳統(tǒng)的Reinforce公式,就是翻譯的reward。是通過(guò)前向后向算法計(jì)算出來(lái)的當(dāng)前步的reward。
上面的slides介紹的是計(jì)算reward時(shí)候的不同,接下來(lái)看sampling機(jī)制的區(qū)別。根據(jù)生成前后詞的獨(dú)立性,每一步我們并不是采樣出一個(gè)詞,而是采樣出K+1個(gè)詞。這樣的話就可以看做我們一次更新的過(guò)程中考慮到更多的episode,而不是僅用一個(gè)episode就去訓(xùn)練了。具體的做法是,每一步,我們先取Top-K,計(jì)算一下?lián)p失函數(shù)的值,然后從剩下的Token中再采樣出來(lái)一個(gè)。我們將這兩部分的loss合起來(lái),是為了保證無(wú)偏估計(jì)。為前k個(gè)翻譯的概率的和。
另外一個(gè)方法就是模型上的改進(jìn),在非自回歸層的上面加上自回歸層。具體的做法是,模型分為 Bottom Layer,F(xiàn)usion Layer,Top Layer。Bottom Layer就是之前介紹的非自回歸模型,F(xiàn)usion Layer的作用是將非自回歸模型的輸出和其Embedding整合起來(lái),Top-Layer和Transformer 的解碼器基本一致。
實(shí)驗(yàn)結(jié)果:AR(Transformer),NAT(非自回歸的方法),IRNAT(迭代的非自回歸方法),最后是我們提出的方法,第一種是在訓(xùn)練的過(guò)程中引入序列信息,第二是在模型上進(jìn)行改進(jìn)。作為對(duì)比的數(shù)據(jù)集有三個(gè),前兩個(gè)數(shù)據(jù)集比較小。主要關(guān)注第三個(gè)數(shù)據(jù)集。可以看出,使用NAT來(lái)代替AR模型的話,效果會(huì)降6個(gè)點(diǎn)左右,迭代的方法會(huì)帶來(lái)1到2個(gè)點(diǎn)的提升。我們提出的reinforce方法和傳統(tǒng)的reinforce方法相比,有0.6個(gè)點(diǎn)的提升。加上回歸層的模型已經(jīng)接近Transformer的效果了。關(guān)于速度的提升,如果僅訓(xùn)練的時(shí)候采用序列信息,速度可以提升10倍。如果是NAT加上自回歸層的方法,速度也可以提高4倍左右。
這里有一些翻譯實(shí)例,可以看出 NAT-base的方法流暢性不夠好,重復(fù)很多“more more …”,因?yàn)闆](méi)有考慮序列信息,所以導(dǎo)致結(jié)果的流暢度不行。使用我們提出的reinforce方法,能夠一定程度上的緩解流暢度的問(wèn)題,但是問(wèn)題還是存在。通過(guò)使用NAT+AR的方法,能夠更好的緩解流暢度的問(wèn)題。

發(fā)表評(píng)論
請(qǐng)輸入評(píng)論內(nèi)容...
請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字
最新活動(dòng)更多
-
3月27日立即報(bào)名>> 【工程師系列】汽車電子技術(shù)在線大會(huì)
-
4月30日立即下載>> 【村田汽車】汽車E/E架構(gòu)革新中,新智能座艙挑戰(zhàn)的解決方案
-
5月15-17日立即預(yù)約>> 【線下巡回】2025年STM32峰會(huì)
-
即日-5.15立即報(bào)名>>> 【在線會(huì)議】安森美Hyperlux™ ID系列引領(lǐng)iToF技術(shù)革新
-
5月15日立即下載>> 【白皮書(shū)】精確和高效地表征3000V/20A功率器件應(yīng)用指南
-
5月16日立即參評(píng) >> 【評(píng)選啟動(dòng)】維科杯·OFweek 2025(第十屆)人工智能行業(yè)年度評(píng)選
推薦專題
- 1 UALink規(guī)范發(fā)布:挑戰(zhàn)英偉達(dá)AI統(tǒng)治的開(kāi)始
- 2 北電數(shù)智主辦酒仙橋論壇,探索AI產(chǎn)業(yè)發(fā)展新路徑
- 3 降薪、加班、裁員三重暴擊,“AI四小龍”已折戟兩家
- 4 “AI寒武紀(jì)”爆發(fā)至今,五類新物種登上歷史舞臺(tái)
- 5 國(guó)產(chǎn)智駕迎戰(zhàn)特斯拉FSD,AI含量差幾何?
- 6 光計(jì)算迎來(lái)商業(yè)化突破,但落地仍需時(shí)間
- 7 東陽(yáng)光:2024年扭虧、一季度凈利大增,液冷疊加具身智能打開(kāi)成長(zhǎng)空間
- 8 地平線自動(dòng)駕駛方案解讀
- 9 封殺AI“照騙”,“淘寶們”終于不忍了?
- 10 優(yōu)必選:營(yíng)收大增主靠小件,虧損繼續(xù)又逢關(guān)稅,能否乘機(jī)器人東風(fēng)翻身?