閱讀757 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Facebook最新對抗學習研究:無需平行語料庫完成無監督機器翻譯

Facebook試圖將機器翻譯的成功擴展到低資源語言對,研究了在沒有任何平行數據的情況下,實現無監督的機器翻譯。他們提出的模型有效地學習了在不使用任何標記數據的情況下進行翻譯。

論文下載鏈接:https://arxiv.org/pdf/1711.00043.pdf

相信大家都知道,最近在機器翻譯領域取得了令人印象深刻的成果,而這主要歸功於最近在深度學習方麵所取得巨大進步,以及大規模平行語料庫(large-scale parallel corpora)的可用性。我們已經進行過無數次嚐試,試圖將這些成功擴展到低資源語言對,但這需要數以萬計的並行句子。在這項研究中,我們把這個研究方向做到了極致,並研究了在沒有任何平行數據的情況下,是否有可能學習翻譯?我們提出構建一種模型,它用兩種不同的語言從單語語料庫(monolingual corpora)中提取句子,然後將它們映射到相同的潛在空間中。通過學習從這個共享的特征空間中以兩種語言進行重構,該模型有效地學習了在不使用任何標記數據的情況下進行翻譯。我們在兩個廣泛使用的數據集和兩個語言對上對模型進行演示,結果顯示,BLEU分數高達32.8,而在在訓練期間甚至沒有使用一個平行句。

得益於最近在深度學習方麵取得的進展以及大規模平行語料庫的可用性,現如今,機器翻譯已經在多個語言對上取得了令人印象深刻的表現。然而,這些模型隻有在提供大量的並行數據,即大約數百萬個並行句子的情況下,才能很好地運行。不幸的是,並行語料庫的構建成本是非常高的,因為這需要專門的專業知識,而且通常對於低資源語言來說是不可能的。相反,單語數據更容易找得到,而且許多具有有限並行數據的語言仍然擁有大量的單語數據。

4eb77864ea97d5525cba11e98f2f30eb811799f2

在半監督環境中,我們已經進行了多次嚐試,試圖利用單語數據來提高機器翻譯係統的質量。最值得注意的是,Sennrich 等人於2015年提出了一個非常高效的數據增強方案,我們稱之為“回譯(back-translation)”,即從目標語言到源語言的輔助翻譯係統首先在可用的並行數據上進行訓練,然後用於從大的目標端的單語語料庫中生成翻譯。然後將這些翻譯的組成對以及與其相對應的參考目標(ground truth targets)用作原始翻譯係統的附加訓練數據。

另一種在目標端使用單語數據的方式是用語言模型來增強解碼器(Gulcehre等人於2015年提出)。最後,Cheng等人(於2016年)、He等人(於2016年)提出在單語數據上增加一個輔助自動編碼任務,這樣就可以保證翻譯後的句子可以再次被回翻成原文。但是,所有這些研究依然依賴於數萬個平行的句子。

之前關於零資源(zero-resource)機器翻譯的研究也依賴於標記信息,它們不是來自於那些有用的語言對,而是其他相關的語言對(Firat等人於2016年、Johnson等人於2016年、Chen等人於2017年提出)或其他形式的語言對(Nakayama 和 Nishida於2017年、Lee等人於2017年提出)。唯一的例外就是Ravi和Knight(於2011年)、 Pourdamghani和Knight(於2017年)所進行的研究,他們將機器翻譯問題簡化為解密問題。不幸的是,他們的方法局限性在於隻適用於相當短的句子,而且它隻是在一個非常簡單的環境中得以證明的,包括那些最常見的短句子或者是非常接近的語言中。

ec01f42cb750a95570f04bcf734a348191c1a2ed

圖1:原理簡筆圖,用以指導我們設計目標函數。左(自動編碼):模型被訓練,以便基於其噪聲版本重建一個句子。其中,x是目標,C(x)是噪聲輸入,x^是重建。右(翻譯):模型被訓練用以翻譯另一個領域的句子。其中輸入是在前一次迭代(t),y = M(t)(x)處由模型本身M產生的噪聲翻譯(在這種情況下,翻譯順序為從源到目標(from source-to-target))。該模型是對稱的,我們在其他語言中將重複相同的過程。


在本文中,我們研究是否可以訓練一個通用的機器翻譯係統,而不需要任何形式的監督。我們所做的唯一假設是每種語言都存在一個單語語料庫。這個假設有兩個有趣的原因。 首先,當我們遇到一個我們沒有注釋的新語言對,就可以使用它。其次,它對任何好的半監督方法預期會產生一個強大的下界表現。

關鍵點是在兩種語言(或領域)之間建立一個共同的潛在空間,並根據兩個原則通過在兩個領域進行重構來學習翻譯:(1)模型必須能夠從噪聲版本中以給定的語言重構句子,如在標準去噪自動編碼器中。(2)該模型還學習了在目標域中對同一句子進行有噪的翻譯時重構任何源語句,反之亦然。對於(2),翻譯的句子通過使用回譯程序獲得,即通過使用學習模型將源句子翻譯成目標域來獲得翻譯後的句子。除了這些重構目標之外,我們還使用對抗正則化術語將源句子和目標句子的潛在表示限製為相同的分布,由此模型試圖欺騙鑒別器,該鑒別器被同時訓練以識別給定的潛在句子表示的語言。然後迭代地重複這個過程,從而產生高質量的翻譯模型。為了保持我們的方法完全無監督,我們初始化我們的算法,通過使用一個基於從同一單語數據衍生出雙語詞匯的句子逐字翻譯的無監督翻譯模型。

雖然無法與使用大量並行資源的有監督方法進行競爭,但我們在第4部分中展示了我們的模型能夠實現卓越的性能。例如,在WMT數據集上,在對100000對句子進行完全監督的機器翻譯係統中,我們可以達到同樣的翻譯質量。在Multi30K-Task1數據集中,我們在所有語言對上實現了22以上的BLEU值,英翻法BLEU值達到32.76。

接下來,在第2部分中,我們將描述模型和訓練算法。然後我們在第四部分給出實驗結果。最後,我們在第五部分進一步討論相關工作,並在第六部分總結我們的發現。


原文發布時間為:2017-11-4

本文作者:馬文

本文來自雲棲社區合作夥伴新智元,了解相關信息可以關注“AI_era”微信公眾號

原文鏈接:Facebook最新對抗學習研究:無需平行語料庫完成無監督機器翻譯

最後更新:2017-11-06 10:04:00

  上一篇:go  【前沿】TensorFlow Pytorch Keras代碼實現深度學習大神Hinton NIPS2017 Capsule論文
  下一篇:go  Database Restoration Solutions