訂閱
糾錯
加入自媒體

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

2. 非自回歸解碼

最后介紹一下基于非自回歸的解碼方法,傳統(tǒng)的解碼方法是順序生成的。如果能夠使得解碼的時候并行的方式生成,這速度將會大大的提升。

傳統(tǒng)的非自回歸模型的做法是,在Transformer Encoder端頭部加一個Fertility預測,用來預測每個源端Token能翻譯成一個目標端的Token,然后根據(jù)預測的結(jié)果,將源端的Token拷貝到Decoder的輸入,如果一個源端Token能夠翻譯兩個目標Token,那就拷貝兩次,如果源端Token不會翻譯成目標端Token,那就不拷貝。由于每一步輸出的譯文是沒有給到下一步的,所以是可以并行的。對于Fertility的訓練是采用某種對齊模型,通過計算源端和目標端的對齊關(guān)系,然后就可以得到源端和目標端的對齊結(jié)果,就可以采用監(jiān)督的方式來訓練Fertility分支。

該方法有一個問題,就是在翻譯當前步的時候沒有考慮上一步的翻譯信息。這樣就可能導致翻譯結(jié)果的流暢度不夠好。我們的方法就是在該方法的基礎(chǔ)上添加了序列上的信息。這樣模型既能并行執(zhí)行,又能考慮的到前后的序列關(guān)系。

我們的工作分為兩個方面,一個是在訓練上添加序列信息,一個是在模型上面同樣也添加序列信息。序列訓練采用的是Reinforce的方法,Reinforce的方法非常難以訓練,這是因為其方差非常大,方差大的原因是強化學習episode(一條軌跡從開始到結(jié)束)的搜索空間非常大,我們每次只是采樣出一個episode,然后根據(jù)這個episode進行計算,通過大數(shù)定律,我們可以假設(shè)這最終得到的是一個梯度的無偏估計。但是在實際情況下,抖動是非常大的。

將Reinforce算法應用到我們這個場景,首先看第一個公式,由于目標端詞的概率是獨立的,所以就可以寫成連乘的形式,第二個公式就是傳統(tǒng)的Reinforce公式,就是翻譯的reward。是通過前向后向算法計算出來的當前步的reward。

上面的slides介紹的是計算reward時候的不同,接下來看sampling機制的區(qū)別。根據(jù)生成前后詞的獨立性,每一步我們并不是采樣出一個詞,而是采樣出K+1個詞。這樣的話就可以看做我們一次更新的過程中考慮到更多的episode,而不是僅用一個episode就去訓練了。具體的做法是,每一步,我們先取Top-K,計算一下?lián)p失函數(shù)的值,然后從剩下的Token中再采樣出來一個。我們將這兩部分的loss合起來,是為了保證無偏估計。為前k個翻譯的概率的和。

另外一個方法就是模型上的改進,在非自回歸層的上面加上自回歸層。具體的做法是,模型分為 Bottom Layer,F(xiàn)usion Layer,Top Layer。Bottom Layer就是之前介紹的非自回歸模型,F(xiàn)usion Layer的作用是將非自回歸模型的輸出和其Embedding整合起來,Top-Layer和Transformer 的解碼器基本一致。

實驗結(jié)果:AR(Transformer),NAT(非自回歸的方法),IRNAT(迭代的非自回歸方法),最后是我們提出的方法,第一種是在訓練的過程中引入序列信息,第二是在模型上進行改進。作為對比的數(shù)據(jù)集有三個,前兩個數(shù)據(jù)集比較小。主要關(guān)注第三個數(shù)據(jù)集。可以看出,使用NAT來代替AR模型的話,效果會降6個點左右,迭代的方法會帶來1到2個點的提升。我們提出的reinforce方法和傳統(tǒng)的reinforce方法相比,有0.6個點的提升。加上回歸層的模型已經(jīng)接近Transformer的效果了。關(guān)于速度的提升,如果僅訓練的時候采用序列信息,速度可以提升10倍。如果是NAT加上自回歸層的方法,速度也可以提高4倍左右。

這里有一些翻譯實例,可以看出 NAT-base的方法流暢性不夠好,重復很多“more more …”,因為沒有考慮序列信息,所以導致結(jié)果的流暢度不行。使用我們提出的reinforce方法,能夠一定程度上的緩解流暢度的問題,但是問題還是存在。通過使用NAT+AR的方法,能夠更好的緩解流暢度的問題。

<上一頁  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
    *文字標題:
    *糾錯內(nèi)容:
    聯(lián)系郵箱:
    *驗 證 碼:

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