UNSUPERVISED MACHINE TRANSLATION USING MONOLINGUAL CORPORA ONLY 閱讀筆記 無監督機器翻譯

UNSUPERVISED MACHINE TRANSLATION USING MONOLINGUAL CORPORA ONLY

時間會議:2018 ICLR

作者:Guillaume Lample † ‡ , Alexis Conneau † , Ludovic Denoyer ‡ , Marc’Aurelio Ranzato †

† Facebook AI Research

 

摘要:

 

在這項工作中,將這個研究方向發揮到了極致,研究是否可以在沒有任何並行數據的情況下學習翻譯。提出了一種從兩種語言的單語語料庫中提取句子並將其映射到同一潛在空間的模型。

介紹:

我們研究在沒有任何形式監督的情況下,是否有可能訓練一個通用的機器翻譯系統。我們唯一的假設是每種語言都有一個單語語料庫。這種設置之所以有趣,有兩個原因。首先,當遇到沒有註釋的新語言對時,這是適用的。其次,它提供了一個強大的下界性能,任何良好的半監督方法都有望產生這樣的性能。

 

2.1無監督翻譯模型

 

在本文中,我們使用了一個有注意的序列到序列模型(Bahdanau et al., 2015),沒有輸入輸入。編碼器是一個雙向lstm,它返回一個隱藏狀態序列z = (z1, z2,…zm評選)。在每個步驟中,解碼器(也是一個LSTM)將之前的隱藏狀態、當前單詞和由編碼器狀態的加權和給出的上下文向量作爲輸入。在我們考慮的所有實驗中,編碼器和解碼器都有3層。LSTM層在源和目標編碼器之間以及源和目標解碼器之間共享。我們還共享源和目標解碼器之間的注意權重。嵌入和LSTM隱藏狀態維度都設置爲300。使用貪婪解碼生成句子。

2.2 OVERVIEW OF THE METHOD

 

我們考慮源域中的一個句子數據集(用Dsrc表示)和目標域中的另一個數據集(用Dtgt表示)。通常,這些數據集彼此不對應。我們通過在特定域中重構一個句子來訓練編碼器和解碼器,給定同一句子在同一域中或在另一個域中的嘈雜版本。

2.3 DENOISING AUTO-ENCODING

 

在沒有任何約束的情況下,自動編碼器很快就學會了只複製每個輸入單詞。這樣的模型還可以完美地複製隨機單詞序列,這表明該模型沒有在數據中學習任何有用的結構。爲了解決這個問題,我們採用了同樣的去噪策略自動編碼器(DAE) (Vincent et al., 2008),並在輸入語句中添加噪聲(見圖1-left),如果可以學習到這種語義信息,能夠在缺省句子中某個詞情況下

成功表達語義信息,我們的自動編碼器模型就能學習句子中結構和語義信息。

過程是把某種語言L的句子加一些噪聲(打亂順序和丟掉一些詞),然後用 e(x,L) 編碼加噪聲後的句子,再用 d(x,L) 恢復它。通過最小化與原句子的差異來訓練encoder 和 decoder,loss函數如上式。加噪聲的目的是讓模型不是僅僅學習到了複製句子,尤其模型加了attention機制的情況下。

考慮到域' = src或' = tgt,以及一個對句子起作用的C表示的隨機噪聲模型,我們定義如下目標函數:

2.4 CROSS DOMAIN TRAINING

 

方法的第二個目標是約束模型能夠將輸入語句從源/目標域' l1映射到目標/目標域' l2,這是我們在測試時最終感興趣的。

這裏的原則是採樣一個句子x∈D 'l1,並在'l 2中生成這個句子的損壞平移表示。將當前表示爲M的轉換模型應用於y = M(x)的x,生成此損壞版本。然後採樣損壞的版本C(y)(參見圖1-right)。因此,目標是學習編碼器和解碼器,使它們能夠從C(y)重構x。跨域損失可表示爲:

2.5 ADVERSARIAL TRAINING

 

因此,我們希望我們的編碼器在相同的空間輸出特性,而不管輸入語句的實際語言是什麼。如果滿足這種條件,我們的譯碼器就可以用某種語言譯碼,而不用考慮編碼器輸入語句的語言。

但是請注意,解碼器仍然可能產生錯誤的翻譯,同時在目標域中生成有效的句子,因爲限制編碼器在相同的特徵空間映射兩種語言並不意味着句子之間存在嚴格的對應關係。幸運的是,前面介紹的公式2中跨域訓練的損失減輕了這種擔憂。此外,最近關於雙語詞彙歸納的研究表明,這種約束在詞彙層面非常有效,這表明,只要這兩種潛在表徵在特徵空間中表現出較強的結構,這種約束也可能在句子層面發揮作用。

爲了增加這樣一個約束,我們訓練了一個神經網絡,我們稱之爲識別器,對源句編碼和目標句編碼進行分類(Ganin et al., 2016)。該鑑別器對編碼器的輸出進行操作,編碼器的輸出是一個潛在向量序列(z1,…zm),zi∈Rn,並對編碼器輸入語句的語言產生二進制預測其中0對應源域,1對應目標域。

相反,編碼器被訓練用來欺騙鑑別器:

最終目標函數

 

 

3 TRAINING

在訓練時,兩個翻譯方向的nmt的所有 loss 加起來訓一個 batch,然後判別器 D 訓一個 batch,這樣交錯下去。訓練流程如下:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章