訂閱
糾錯
加入自媒體

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

當前機器翻譯模型通常采用自注意力機制進行編碼,訓練時直接將Ground Truth詞語用作上文,并行生成所有的目標詞語,極大的提升了訓練速度。

但測試的時候卻面臨以下難題:首先,模型得不到Ground Truth,從而只能用自己生成的詞作為上文,使得訓練和測試的分布不一致,影響了翻譯質(zhì)量;其次,由于每個目標詞語的生成依賴于其之前生成的詞,所以目標詞語只能順序生成,不能并行,從而影響了解碼速度。本次分享將針對以上問題,介紹他們的解決方法。

具體分享內(nèi)容如下:

1. 改進訓練和測試的分布不一致問題:

采用計劃采樣的方法 (ACL 2019 best paper)

采用可導的序列級損失函數(shù)進行貪心搜索解碼

2. 解碼速度提升:

基于Cube Pruning解碼算法

融入序列信息的非自回歸翻譯模型

背景

當前,自然語言處理方向的生成任務主要包括:機器翻譯,人機對話,文章寫作,文章摘要等等。目前這些問題主要是通過序列到序列模型來解決的。序列到序列模型的主要架構(gòu)是一個帶有注意力機制的編碼器-解碼器架構(gòu)。這個架構(gòu)基于一個重要的假設:即“源端的輸入和目的端的輸出之間是可以找到一個共同的語義空間。編碼器的任務就是對輸入進行各種變換,映射到共同語義空間上的一個點。解碼器的任務是對共同語義空間的這個點進行一些反操作,將其映射到目標端空間,從而生成相應的詞語?紤]到在每一步進行翻譯的時候不需要關(guān)注所有的源端輸入,而是僅僅關(guān)注一部分,注意力機制主要目的就是將當前步需要關(guān)注的部分找出來。

目前主流的序列到序列模型主要包括兩種: 一個是RNNSearch,一個是Transformer。

RNNSearch通過RNN來將源端的輸入編碼成一個表示,通常源端采用的是雙向RNN,這樣對于每一個源端Token的編碼表示都能考慮到其上下文信息。在目標端同樣是使用一個RNN,它可以將翻譯的歷史信息給串起來,這樣在當前步翻譯的時候就能考慮到上文的信息。

Google在2017年提出了Transformer結(jié)構(gòu),該結(jié)構(gòu)經(jīng)過無數(shù)人的驗證,發(fā)現(xiàn)非常好用,所以Transformer就成為了當前主流的序列到序列模型。Transformer主要的機制是:在生成源端表示的時候并沒有使用RNN,而是使用自注意力機制來生成每一個Token的表示。這樣做的好處是,在訓練的時候可以并行,因為每個詞都可以并行的和其它詞計算attention ( RNN則只能串行 )。同樣在解碼端的時候,也是使用的自注意力機制。

這種模型在訓練的時候都是采用的TeacherForcing形式。模型在解碼當前步的時候,通常會有三個輸入:解碼器當前的狀態(tài),attention和上一步解碼的結(jié)果。在訓練的過程中,我們通常使用上一步的真實輸出而非模型輸出作為當前步解碼的結(jié)果,這就是所謂的Teacher Forcing。

在Inference的時候通常采用Beam-Search +順序生成的方式,在每一步都保存Top-K個最優(yōu)結(jié)果。

在介紹了訓練和推斷之后,我們來看一下目前面臨的問題,因為在訓練的時候我們使用Teacher Forcing的方式,但是我們在推斷的時候并不知道上一步的GroundTruth是什么,所以,我們只能將上一步預測的結(jié)果來近似為Ground Truth。這樣,訓練和推斷在生成分布的條件上就產(chǎn)生了差異(Ground Truth vs Predicted),這個問題被稱作為 Exposure Bias。

在訓練的時候,我們還存在另一個問題。訓練的時候由于我們使用的交叉熵損失函數(shù),該損失函數(shù)只對Ground Truth友好,對于非Ground Truth的結(jié)果一視同仁。但是對于翻譯任務來說,并不是只有一種翻譯方式,從slides中可以看到,Output1和Ground Truth表示的是同一個意思,但是Output2和Ground Truth表示的含義就是不同了,但是在訓練的時候,交叉熵損失函數(shù)會將Output1和Output2一視同仁,這樣是不合理的。

在推斷階段解碼的時候同樣存在兩個問題,在每一個解碼step我們都要執(zhí)行n各預測,每個預測都要得到整個詞表的一個分布,所以在每一個step都要生成n*|V|個詞語。而且每個時間步還必須串行,這大大影響了解碼速度。

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號