當前位置:
首頁 > 新聞 > 神經機器翻譯:歷史與展望

神經機器翻譯:歷史與展望

機器翻譯(MT)利用機器的力量來做「從一種自然語言(源語言)到另一種自然語言(目標語言)的自動翻譯」[1]。使用機器來做翻譯的想法最早由Warren Weaver在1949年提出。在很長一段時間裡(1950s~1980s),機器翻譯通過研究源語言和目標語言的語言學信息而開展,基於詞典和語法生成翻譯結果,這被稱作基於規則的機器翻譯(RBMT)。隨著統計學的發展,統計模型開始被應用在機器翻譯中,它基於對雙語文本語料的分析生成翻譯結果。這種方法被稱作統計機器翻譯(SMT),SMT的性能優於RBMT,在1980s至2000s,SMT方法主導了這個領域。1997年,Ramon Neco和Mikel Forcada提出了使用「encoder-decoder」結構來做機器翻譯的想法 [2]。幾年後的2003年,蒙特利爾大學由Yoshua Bengio領導的一組研究者基於神經網路開發出了一個語言模型 [3],這個模型改善了傳統SMT模型中數據稀疏性的問題。他們的工作為未來神經網路在機器翻譯領域的使用奠定了基礎。

神經機器翻譯:歷史與展望

打開今日頭條,查看更多圖片

神經機器翻譯的誕生

2013年,Nal Kalchbrenner和 Phil Blunsom提出了一種用於機器翻譯的新型端到端編碼器-解碼器架構 [4]。該模型使用卷積神經網路(CNN)將給定的源文本編碼為連續向量,然後使用循環神經網路(RNN)作為解碼器將狀態向量轉換為目標語言。他們的研究可視為神經機器翻譯(NMT)的開端,NMT是一種使用深度學習神經網路在自然語言之間進行映射的方法。NMT的非線性映射不同於線性SMT模型,NMT使用連接編碼器和解碼器的狀態向量來描述語義等價。此外,RNN應該能夠捕捉到長句子背後的信息,解決「長距離調序」(long distance reodering)的問題[29]。然而,「梯度消失/爆炸」問題 [28] 使得 RNN 實際上很難處理長距離依賴的問題;對應地,NMT模型起初也不能實現很好的性能。

長距離記憶

一年後(2014),Sutskever et al.和 Cho et al 開發出序列到序列(seq2seq)方法,該方法在編碼器和解碼器中都使用RNN [5][6],並且在NMT中引入LSTM(RNN的一種變體)。由於LSTM中的門機制允許外顯記憶刪除和更新,「梯度爆炸/消失」的問題得以控制,因此模型可以更好地捕捉到句子中的「長距離依賴」。

LSTM的引入解決了「長距離調序」的問題,卻將NMT的主要挑戰轉移到了「定長向量」的問題上:如圖1所示,不管源句子有多長,神經網路需要將源句子壓縮為固定長度的向量,這增加了解碼階段的複雜度和不確定性,尤其是源句子比較長的時候 [6]。

神經機器翻譯:歷史與展望

圖1: 沒有「注意力」的原始神經機器翻譯機制 [5]。

注意力,注意力,注意力

自Yoshua Bengio的團隊在2014年向NMT引入「注意力機制」之後,「定長向量」的問題開始被解決。注意力機制最初是由DeepMind在解決圖像分類問題時提出的 [23],它能夠「使神經網路在執行預測任務的時候更加關注與輸入相關的部分,而不太關注不相關的部分」 [24]。當解碼器生成一個目標句子的組成單詞時,只有源句子中的一小部分是相關的;所以基於內容的注意力機制就被用來基於源句子動態地生成一個(加權)語境向量(如圖2所示,紫色線條的透明度表示的就是權重)。然後基於語境向量預測目標單詞,而不是基於定長向量去預測。之後,NMT的性能得到了顯著的提升,「注意力編碼器-解碼器網路」成為NMT最先進的模型。

神經機器翻譯:歷史與展望

圖2:谷歌神經機器翻譯(GNMT)的「注意力編碼器-解碼器網路」架構的工作機制 [8]。

NMT vs. SMT

儘管NMT已經取得了顯著的成績,尤其是在翻譯實驗中,然而研究者們仍在擔憂這種優秀性能能否在其他任務中得以持續,以及NMT是否可以取代SMT。因此,Junczys-Dowmunt等人在包含15個語言對、30個翻譯方向的聯合國平行語料庫上做了實驗。在以BLEU值(評價機器翻譯的一種方法,得分越高越好)為度量的實驗中,NMT在30個翻譯方向上與SMT持平或者優於SMT。此外,在2015年的WMT競賽中,蒙特利爾大學團隊使用NMT成功地拿下了英語-德語翻譯的冠軍,以及德語-英語、捷克語-英語、英語-捷克語翻譯的第三名 [31]。

與SMT相比,NMT可以聯合地訓練多個特徵,而且不需要先驗知識,這賦予它zero-shot翻譯的能力 [32]。除了更高的BLEU值和更好的句子結構之外,NMT還有助於減少SMT中常見的形態學錯誤、句法錯誤和詞序錯誤。另一方面,NMT還面臨著需要解決的問題和挑戰:訓練過程和解碼過程相當慢;同一單詞的譯文風格可能不一致;翻譯結果中存在「out-of-vocabulary」問題;「黑箱」神經網路機製造成了較差的可解釋性;用於訓練的參數大部分是基於經驗選擇的。

神經機器翻譯:歷史與展望

競賽進行時

由於NMT本身的特點和相對於SMT的優勢,NMT最近也開始被用於產業界。2016年9月,GoogleBrain團隊發表一篇博客,顯示他們已經在其產品Google Translate的中英翻譯中用NMT替換基於片語的翻譯(PBMT,SMT的一種變體)[8]。他們部署的NMT叫做谷歌神經機器翻譯(GNMT),同時還發表了一篇論文來解釋模型的細節 [9]。僅僅一年時間(2017),Facebook AI 研究院(FAIR)宣布他們使用CNN實現NMT的方法,這個方法能夠達到和基於RNN的NMT相似的性能 [10][11],但運行速度是後者的9倍。作為回應,谷歌於同年6月發布了一個僅僅基於注意力的NMT模型,該模型既沒有使用CNN也沒有使用RNN,而是僅依靠「注意力」機制 [12]。其他科技巨頭也在行動,例如亞馬遜發布了基於MXNet的NMT實現 [13];微軟在2016年的時候就談到他們使用了NMT,2018年3月,微軟機器翻譯出現新突破 [27]。IBM Watson(機器翻譯領域的老兵)、NVIDIA(AI計算領域的領跑者),以及SYSTRAN(機翻領域的先鋒)[35] 都或多或少地參與了NMT的研發。在遙遠的東方,中國這顆AI領域的明日之星,已經有更多的公司已經部署了NMT,這些公司包括百度、網易-有道、騰訊、搜狗、科大訊飛以及阿里巴巴等。所有這些公司都在盡全力,以在下一輪機器翻譯革命中得到競爭優勢。

神經機器翻譯:歷史與展望

未來是NMT的天下嗎?

在快節奏和高度競爭的環境中,NMT技術正在經歷相當大的發展。在ACL 2017大會上,機器翻譯領域的15篇接收論文全部是關於神經機器翻譯的 [34]。我們可以發現,NMT的連續發展表現在不同的方面,包括:

  • Rare word problem [14] [15]
  • Monolingual data usage [16] [17]
  • Multiple language translation/multilingual NMT [18]
  • Memory mechanism [19]
  • Linguistic integration [20]
  • Coverage problem [21]
  • Training process [22]
  • Priori knowledge integration [25]
  • Multimodal translations [26]
  • 罕見詞問題 [14] [15]
  • 單語數據使用 [16] [17]
  • 多語言翻譯/多語言NMT [18]
  • 記憶機制 [19]
  • 語言學集成 [20]
  • 覆蓋率問題 [21]
  • 訓練過程 [22]
  • 先驗知識集成 [25]
  • 多模態翻譯 [26]

因此,我們有理由相信NMT會實現更好的突破,逐漸發展成為機器翻譯領域的主流技術,替代SMT,並在不久的未來造福全社會。

補充

為了幫助您體驗NMT的魔力,我們列舉了一些使用不同工具的NMT開源實現,可以幫助您在實踐中學習:

  • Tensorflow

    [Google-GNMT]: https://github.com/tensorflow/nmt
  • Torch

    [Facebook-fairseq]: https://github.com/facebookresearch/fairseq
  • MXNet

    [Amazon-Sockeye]: https://github.com/awslabs/sockeye
  • Theano

    [NEMATUS]: https://github.com/EdinburghNLP/nematus
  • Theano

    [THUMT]: https://github.com/thumt/THUMT
  • Torch

    [OpenNMT]: https://github.com/opennmt/opennmt
  • PyTorch

    [OpenNMT]: https://github.com/OpenNMT/OpenNMT-py
  • Matlab

    [StanfordNMT]: https://nlp.stanford.edu/projects/nmt/
  • DyNet-lamtram

    [CMU]: https://github.com/neubig/nmt-tips
  • EUREKA

    [MangoNMT]: https://github.com/jiajunzhangnlp/EUREKA-MangoNMT

如果您有興趣了解更多關於NMT的知識,可以閱讀參考文獻部分的論文:[5][6][7] 是必讀的核心論文,可以幫助您了解NMT。[9] 是關於NMT機制和實現的全面論述。此外,我們已經發布的AI技術報告中有專門介紹機器翻譯的內容。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

這位頂會領域主席的論文被自己的AI審稿系統拒絕了
僅17 KB、一萬個權重的微型風格遷移網路!

TAG:機器之心 |