中科院計(jì)算所副研究員馮洋:神經(jīng)機(jī)器翻譯的訓(xùn)練改進(jìn)和解碼提速
訓(xùn)練
1. 計(jì)劃采樣
對上面提到的問題進(jìn)行一個(gè)小總結(jié):訓(xùn)練預(yù)測過程中Ground Truth的未知導(dǎo)致的Exposure Bias 問題交叉熵?fù)p失函數(shù)的逐詞匹配所導(dǎo)致對于所有的非Ground Truth 一視同仁的問題。解碼Beam Search 的Beam Size 會引入大量的計(jì)算成本自回歸解碼導(dǎo)致的無法并行問題。
首先,針對于Exposure Bias問題,我們采用的是進(jìn)化采樣的方法,這個(gè)就是我們2019ACL Best Paper的工作。針對與訓(xùn)練和測試時(shí)context不一致的情況,我們的解決方法的主要思想是,在訓(xùn)練的時(shí)候模仿測試時(shí)候可能會碰到的情況,這樣在測試的時(shí)候就會發(fā)現(xiàn),當(dāng)前碰到的情況在訓(xùn)練的時(shí)候都碰到過,這樣模型就可以應(yīng)對了。
具體的做法是我們在每一步,模擬上一步的翻譯結(jié)果,就是slides中的oracle,其中帶*的是就是Ground Truth,在每一步,我們都會隨機(jī)的選擇是Oracle還是Ground Truth來作為當(dāng)前步的上一步詞輸入。
使用上述方法,我們需要解決的三個(gè)關(guān)鍵問題是:1)如何生成Oracle翻譯,2)Oracle和Ground Truth如何進(jìn)行采樣,3) 如何訓(xùn)練模型。
對于Oracle的生成,我們有兩種方法,一個(gè)是生成詞級別的Oracle,另一個(gè)是生成句級別的Oracle。詞級Oracle即每一步都會選擇最優(yōu),句子級別Oracle需要考慮到整個(gè)句子的最優(yōu)。
由于RNN Search會在生成oracle的算法中會用到。在講生成oracle的算法之前,先大體介紹一下RNN Search模型。RNN Search在當(dāng)前步翻譯的時(shí)候,會輸入歷史的隱狀態(tài)信息,同時(shí)也會將上一步翻譯的結(jié)果輸入進(jìn)去,經(jīng)過一系列的變換,會得到當(dāng)前步的一個(gè)隱狀態(tài),該隱狀態(tài)再經(jīng)過幾層全連接的計(jì)算,最終輸入到softmax層得到詞表中每一個(gè)詞的歸一化的分?jǐn)?shù)。
在生成詞級oracle的時(shí)候,我們會在softmax歸一化分布之前加上一個(gè)Gumble Noise。Gumble Noise 的公式如slides中所示,其中 表示一個(gè)均勻分布。式子中的 表示溫度,當(dāng)非常大的時(shí)候,相當(dāng)于argmax,當(dāng) 比較小的時(shí)候,相當(dāng)于均勻分布。
對于句級Oracle,我們首先采用Beam Search生成前K個(gè)候選譯文,然后對選定的K個(gè)候選譯文進(jìn)行排序,這里的排序可以根據(jù)K個(gè)候選譯文和Ground Truth計(jì)算一個(gè)BLUE值,還可以用一些其它的方法進(jìn)行排序,最終選取得分最高的譯文作為句級的Oracle。詞級Oracle和句級Oracle 是一個(gè)局部最優(yōu)和全局最優(yōu)的一個(gè)區(qū)別。
對于采樣,具體是怎么操作的呢?首先考慮到一點(diǎn)就是在剛開始訓(xùn)練的時(shí)候,模型的效果不怎么好,這樣,無論是詞級oracle的生成還是句級oracle的生成效果肯定都不是很理想,如果這時(shí)候使用oracle來引導(dǎo)模型訓(xùn)練的話, 可能會使得模型收斂的比較慢。一個(gè)比較合理的做法是,剛開始我們盡量選用Ground Truth的詞,當(dāng)模型快收斂的時(shí)候,我們再加大Oracle翻譯的采樣比例。這里的采樣概率公式如slides所示,其中,隨著epoch的增長,系統(tǒng)越來越傾向于選擇oracle label。
對于訓(xùn)練的話,同樣的采用最大化log likelihood的方式。
實(shí)驗(yàn)結(jié)果:除了對比Transformer 和 RNN-Search,也對比了另外兩個(gè)系統(tǒng),SS-NMT 和 MIXER。其中,SS-NMT也是通過計(jì)劃采樣的方式。MIXER的loss分為兩個(gè)部分,一個(gè)部分是傳統(tǒng)的Transformer使用的交叉熵?fù)p失函數(shù),另外一部分是將BLEU值作為reward,然后通過policy gradient的方法對模型進(jìn)行訓(xùn)練。
這個(gè)是在中英文新聞數(shù)據(jù)上的結(jié)果,可以看到,在RNN-Search的系統(tǒng)上, 我們相比于Baseline能夠提升2.3個(gè)點(diǎn)。在Transformer系統(tǒng)上,相比于Baseline能夠提升1.5個(gè)點(diǎn)。
在英德新聞數(shù)據(jù)結(jié)果上,基于RNN-Search的系統(tǒng)比baseline高了1.6個(gè)點(diǎn),基于Transformer的系統(tǒng)比baseline高了1.3個(gè)點(diǎn)。

發(fā)表評論
請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個(gè)字
最新活動更多
-
即日-9.1立即下載>> 【限時(shí)下載】ADI中國三十周年感恩回饋助力企業(yè)升級!
-
即日-9.16點(diǎn)擊進(jìn)入 >> 【限時(shí)福利】TE 2025國際物聯(lián)網(wǎng)展·深圳站
-
10月23日立即報(bào)名>> Works With 開發(fā)者大會深圳站
-
10月24日立即參評>> 【評選】維科杯·OFweek 2025(第十屆)物聯(lián)網(wǎng)行業(yè)年度評選
-
11月27日立即報(bào)名>> 【工程師系列】汽車電子技術(shù)在線大會
-
12月18日立即報(bào)名>> 【線下會議】OFweek 2025(第十屆)物聯(lián)網(wǎng)產(chǎn)業(yè)大會
推薦專題
- 1 阿里首位程序員,“掃地僧”多隆已離職
- 2 先進(jìn)算力新選擇 | 2025華為算力場景發(fā)布會暨北京xPN伙伴大會成功舉辦
- 3 宇樹機(jī)器人撞人事件的深度剖析:六維力傳感器如何成為人機(jī)安全的關(guān)鍵屏障
- 4 清華跑出具身智能獨(dú)角獸:給機(jī)器人安上眼睛和大腦,融資近20億
- 5 特朗普要求英特爾首位華人 CEO 辭職
- 6 踢館大廠和微軟,剖析WPS靈犀的AI實(shí)用主義
- 7 騰訊 Q2 財(cái)報(bào)亮眼:AI 已成第二增長曲線
- 8 谷歌吹響AI沖鋒號,AI還有哪些機(jī)會
- 9 蘋果把身家押在Siri上:一場輸不起的自我革命
- 10 騰訊米哈游押寶的中國AI應(yīng)用,正在海外悶聲發(fā)財(cái)