訂閱
糾錯
加入自媒體

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

2020-04-07 16:18
將門創投
關注

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

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

具體分享內容如下:

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

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

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

2. 解碼速度提升:

基于Cube Pruning解碼算法

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

背景

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

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

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

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

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

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

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

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

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

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

發表評論

0條評論,0人參與

請輸入評論內容...

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

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

暫無評論

暫無評論

文章糾錯
x
*文字標題:
*糾錯內容:
聯系郵箱:
*驗 證 碼:

粵公網安備 44030502002758號

电竞投注竞彩app