訂閱
糾錯
加入自媒體

中科院計算所副研究員馮洋:神經(jīng)機器翻譯的訓(xùn)練改進(jìn)和解碼提速

訓(xùn)練

1. 計劃采樣

對上面提到的問題進(jìn)行一個小總結(jié):訓(xùn)練預(yù)測過程中Ground Truth的未知導(dǎo)致的Exposure Bias 問題交叉熵?fù)p失函數(shù)的逐詞匹配所導(dǎo)致對于所有的非Ground Truth 一視同仁的問題。解碼Beam Search 的Beam Size 會引入大量的計算成本自回歸解碼導(dǎo)致的無法并行問題。

首先,針對于Exposure Bias問題,我們采用的是進(jìn)化采樣的方法,這個就是我們2019ACL Best Paper的工作。針對與訓(xùn)練和測試時context不一致的情況,我們的解決方法的主要思想是,在訓(xùn)練的時候模仿測試時候可能會碰到的情況,這樣在測試的時候就會發(fā)現(xiàn),當(dāng)前碰到的情況在訓(xùn)練的時候都碰到過,這樣模型就可以應(yīng)對了。

具體的做法是我們在每一步,模擬上一步的翻譯結(jié)果,就是slides中的oracle,其中帶*的是就是Ground Truth,在每一步,我們都會隨機的選擇是Oracle還是Ground Truth來作為當(dāng)前步的上一步詞輸入。

使用上述方法,我們需要解決的三個關(guān)鍵問題是:1)如何生成Oracle翻譯,2)Oracle和Ground Truth如何進(jìn)行采樣,3) 如何訓(xùn)練模型。

對于Oracle的生成,我們有兩種方法,一個是生成詞級別的Oracle,另一個是生成句級別的Oracle。詞級Oracle即每一步都會選擇最優(yōu),句子級別Oracle需要考慮到整個句子的最優(yōu)。

由于RNN Search會在生成oracle的算法中會用到。在講生成oracle的算法之前,先大體介紹一下RNN Search模型。RNN Search在當(dāng)前步翻譯的時候,會輸入歷史的隱狀態(tài)信息,同時也會將上一步翻譯的結(jié)果輸入進(jìn)去,經(jīng)過一系列的變換,會得到當(dāng)前步的一個隱狀態(tài),該隱狀態(tài)再經(jīng)過幾層全連接的計算,最終輸入到softmax層得到詞表中每一個詞的歸一化的分?jǐn)?shù)。

在生成詞級oracle的時候,我們會在softmax歸一化分布之前加上一個Gumble Noise。Gumble Noise 的公式如slides中所示,其中  表示一個均勻分布。式子中的 表示溫度,當(dāng)非常大的時候,相當(dāng)于argmax,當(dāng)  比較小的時候,相當(dāng)于均勻分布。

對于句級Oracle,我們首先采用Beam Search生成前K個候選譯文,然后對選定的K個候選譯文進(jìn)行排序,這里的排序可以根據(jù)K個候選譯文和Ground Truth計算一個BLUE值,還可以用一些其它的方法進(jìn)行排序,最終選取得分最高的譯文作為句級的Oracle。詞級Oracle和句級Oracle 是一個局部最優(yōu)和全局最優(yōu)的一個區(qū)別。

對于采樣,具體是怎么操作的呢?首先考慮到一點就是在剛開始訓(xùn)練的時候,模型的效果不怎么好,這樣,無論是詞級oracle的生成還是句級oracle的生成效果肯定都不是很理想,如果這時候使用oracle來引導(dǎo)模型訓(xùn)練的話, 可能會使得模型收斂的比較慢。一個比較合理的做法是,剛開始我們盡量選用Ground Truth的詞,當(dāng)模型快收斂的時候,我們再加大Oracle翻譯的采樣比例。這里的采樣概率公式如slides所示,其中,隨著epoch的增長,系統(tǒng)越來越傾向于選擇oracle label。

對于訓(xùn)練的話,同樣的采用最大化log likelihood的方式。

實驗結(jié)果:除了對比Transformer 和 RNN-Search,也對比了另外兩個系統(tǒng),SS-NMT 和 MIXER。其中,SS-NMT也是通過計劃采樣的方式。MIXER的loss分為兩個部分,一個部分是傳統(tǒng)的Transformer使用的交叉熵?fù)p失函數(shù),另外一部分是將BLEU值作為reward,然后通過policy gradient的方法對模型進(jìn)行訓(xùn)練。

這個是在中英文新聞數(shù)據(jù)上的結(jié)果,可以看到,在RNN-Search的系統(tǒng)上, 我們相比于Baseline能夠提升2.3個點。在Transformer系統(tǒng)上,相比于Baseline能夠提升1.5個點。

在英德新聞數(shù)據(jù)結(jié)果上,基于RNN-Search的系統(tǒng)比baseline高了1.6個點,基于Transformer的系統(tǒng)比baseline高了1.3個點。

<上一頁  1  2  3  4  5  下一頁>  
聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權(quán)或其他問題,請聯(lián)系舉報。

發(fā)表評論

0條評論,0人參與

請輸入評論內(nèi)容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

暫無評論

暫無評論

    掃碼關(guān)注公眾號
    OFweek人工智能網(wǎng)
    獲取更多精彩內(nèi)容
    文章糾錯
    x
    *文字標(biāo)題:
    *糾錯內(nèi)容:
    聯(lián)系郵箱:
    *驗 證 碼:

    粵公網(wǎng)安備 44030502002758號