神奇的神經機器翻譯:從發展脈絡到未來前景(附論文資源)

機器之心發表於2017-08-22

機器翻譯(MT)是藉機器之力「自動地將一種自然語言文字(源語言)翻譯成另一種自然語言文字(目標語言)」[1]。使用機器做翻譯的思想最早由 Warren Weaver 於 1949 年提出。在很長一段時間裡(20 世紀 50 年代到 80 年代),機器翻譯都是透過研究源語言與目標語言的語言學資訊來做的,也就是基於詞典和語法生成翻譯,這被稱為基於規則的機器翻譯(RBMT)。隨著統計學的發展,研究者開始將統計模型應用於機器翻譯,這種方法是基於對雙語文字語料庫的分析來生成翻譯結果。這種方法被稱為統計機器翻譯(SMT),它的表現比 RBMT 更好,並且在 1980 年代到 2000 年代之間主宰了這一領域。1997 年,Ramon Neco 和 Mikel Forcada 提出了使用「編碼器-解碼器」結構做機器翻譯的想法 [2]。幾年之後的 2003 年,蒙特利爾大學 Yoshua Bengio 領導的一個研究團隊開發了一個基於神經網路的語言模型 [3],改善了傳統 SMT 模型的資料稀疏性問題。他們的研究工作為未來神經網路在機器翻譯上的應用奠定了基礎。


神經機器翻譯的誕生

2013 年,Nal Kalchbrenner 和 Phil Blunsom 提出了一種用於機器翻譯的新型端到端編碼器-解碼器結構 [4]。該模型可以使用卷積神經網路(CNN)將給定的一段源文字編碼成一個連續的向量,然後再使用迴圈神經網路(RNN)作為解碼器將該狀態向量轉換成目標語言。他們的研究成果可以說是神經機器翻譯(NMT)的誕生;神經機器翻譯是一種使用深度學習神經網路獲取自然語言之間的對映關係的方法。NMT 的非線性對映不同於線性的 SMT 模型,而且是使用了連線編碼器和解碼器的狀態向量來描述語義的等價關係。此外,RNN 應該還能得到無限長句子背後的資訊,從而解決所謂的「長距離重新排序(long distance reordering)」問題 [29]。但是,「梯度爆炸/消失」問題 [28] 讓 RNN 實際上難以處理長距依存(long distance dependency);因此,NMT 模型一開始的表現並不好。

用於長距問題的記憶

一年後的 2014 年,Sutskever et al. 和 Cho et al. 開發了一種名叫序列到序列(seq2seq)學習的方法,可以將 RNN 既用於編碼器也用於解碼器 [5][6],並且還為 NMT 引入了長短時記憶(LSTM,是一種 RNN)。在門機制(gate mechanism)的幫助下(允許在 LSTM 中刪除和更新明確的記憶),「梯度爆炸/消失」問題得到了控制,從而讓模型可以遠遠更好地獲取句子中的「長距依存」。

LSTM 的引入解決了「長距離重新排序」問題,同時將 NMT 的主要難題變成了「固定長度向量(fixed-length vector)」問題:如圖 1 所示,不管源句子的長度幾何,這個神經網路都需要將其壓縮成一個固定長度的向量,這會在解碼過程中帶來更大的複雜性和不確定性,尤其是當源句子很長時 [6]。

神奇的神經機器翻譯:從發展脈絡到未來前景(附論文資源)

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

注意、注意、注意

自 2014 年 Yoshua Bengio 的團隊為 NMT 引入了「注意力(attention)」機制 [7] 之後,「固定長度向量」問題也開始得到解決。注意力機制最早是由 DeepMind 為影像分類提出的 [23],這讓「神經網路在執行預測任務時可以更多關注輸入中的相關部分,更少關注不相關的部分」[24]。當解碼器生成一個用於構成目標句子的詞時,源句子中僅有少部分是相關的;因此,可以應用一個基於內容的注意力機制來根據源句子動態地生成一個(加權的)語境向量(context vector)(如圖 2 所示,紫色線的透明度表示權重大小)。然後網路會根據這個語境向量而不是某個固定長度的向量來預測詞。自那以後,NMT 的表現得到了顯著提升,「注意力編碼器-解碼器網路」已經成為了 NMT 領域當前最佳的模型。

神奇的神經機器翻譯:從發展脈絡到未來前景(附論文資源)

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

NMT vs. SMT

儘管 NMT 已經在特定的翻譯實驗上取得了驚人的成就,但研究者還想知道能否在其它任務上也實現這樣的優良表現,以及 NMT 是否確實能取代 SMT。因此,Junczys-Dowmunt et al. 在「United Nations Parallel Corpus」語料庫上進行了實驗,該語料庫包含 15 個語言對和 30 個翻譯方向;而透過 BLEU 分數(一種自動評估機器翻譯的方法,分數越高越好 [33])對實驗結果的測定,NMT 在這所有 30 個翻譯方向上都得到了與 SMT 媲美或更好的表現。此外,在 2015 年的 Workshop on Statistical Machine Translation(WMT)比賽上,來自蒙特利爾大學的這個團隊使用 NMT 贏得了英語-德語翻譯的第一名和德語-英語、捷克語-英語、英語-捷克語翻譯的第三名 [31]。

與 SMT 相比,NMT 可以聯合訓練多個特徵,而無需先驗的領域知識,這可以實現 zero-shot 翻譯 [32]。除了更高的 BLEU 分數和更好的句子結構,NMT 還有助於減少 SMT 上常見的形態學錯誤、句法錯誤和詞序錯誤。另一方面,NMT 還有一些需要解決的問題和挑戰:訓練和解碼過程相當慢;對同一個詞的翻譯風格可能不一致;在翻譯結果上還存在「超出詞彙表(out-of-vocabulary)」的問題;「黑箱」的神經網路機制的可解釋性很差;訓練所用的引數大多數是根據經驗選擇的。

神奇的神經機器翻譯:從發展脈絡到未來前景(附論文資源)

軍備競賽已經開始

因為 NMT 的特性及其相對於 SMT 的優勢,產業界最近也開始採用 NMT 了:2016 年 9 月,谷歌大腦團隊釋出了一篇部落格說他們已經在谷歌翻譯產品的漢語-英語語言對上開始使用 NMT 替代基於短語的機器翻譯(PBMT,這是一種 SMT)。他們部署的 NMT 名叫谷歌神經機器翻譯(GNMT),他們也在同一時間釋出了一篇論文 [9],對該模型進行了詳細的解釋。之後還不到一年時間(2017 年),Facebook 人工智慧研究院(FAIR)就宣佈了他們使用 CNN 實現 NMT 的方法,其可以實現與基於 RNN 的 NMT 近似的表現水平 [10][11],但速度卻快 9 倍。作為回應,谷歌在 6 月份釋出了一個完全基於注意力(attention)的 NMT 模型;這個模型既沒有使用 CNN,也沒有使用 RNN,而是完全基於注意力機制 [12]。

其它科技巨頭也都各有動作。比如亞馬遜剛在 7 月份釋出了他們使用 MXNet 的 NMT 實現 [13];微軟在 2016 年談論過他們對 NMT 的應用,儘管目前還未披露進一步的技術細節 [27]。IBM Watson(機器翻譯領域的老將)、英偉達(人工智慧計算的領軍者)和 SYSTRAN(機器翻譯先驅)[35] 全都或多或少地參與到了 NMT 的開發中。在東亞地區,中國這個人工智慧領域的新星正在升起,百度、網易有道、騰訊、搜狗、訊飛、阿里巴巴等許多公司甚至已經部署了 NMT。它們全都拼盡全力想在機器翻譯的下一輪演進中取得競爭優勢。

神奇的神經機器翻譯:從發展脈絡到未來前景(附論文資源)

NMT 就是未來嗎?

在高速發展和高度競爭的環境中,NMT 技術正在取得顯著的進展。在最近的 ACL 2017 會議上,機器翻譯類別下接收的 15 篇論文全都與神經機器翻譯有關 [34]。我們可以看到 NMT 還將在許多方面得到不斷完善,其中包括:

  • 罕見詞問題 [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 的機制和實現的全面展示。此外,在機器之心正在整理編輯的《人工智慧技術報告》中,機器翻譯也是一個重要篇章。

參考文獻

[1] Russell, S. & Norvig, P. (1995). Artificial intelligence: a modern approach.

[2] Neco, R. P., & Forcada, M. L. (1997, June). Asynchronous translations with recurrent neural nets. In Neural Networks, 1997., International Conference on (Vol. 4, pp. 2535-2540). IEEE.

[3] Bengio, Y., Ducharme, R., Vincent, P., & Jauvin, C. (2003). A neural probabilistic language model. Journal of machine learning research, 3(Feb), 1137-1155.

[4] Kalchbrenner, N., & Blunsom, P. (2013, October). Recurrent Continuous Translation Models. In EMNLP (Vol. 3, No. 39, p. 413).

[5] Sutskever, I., Vinyals, O., & Le, Q. V. (2014). Sequence to sequence learning with neural networks. In Advances in neural information processing systems(pp. 3104-3112).

[6] Cho, K., Van Merriënboer, B., Gulcehre, C., Bahdanau, D., Bougares, F., Schwenk, H., & Bengio, Y. (2014). Learning phrase representations using RNN encoder-decoder for statistical machine translation. arXiv preprint arXiv:1406.1078.

[7] Bahdanau, D., Cho, K., & Bengio, Y. (2014). Neural machine translation by jointly learning to align and translate. arXiv preprint arXiv:1409.0473.

[8] A Neural Network for Machine Translation, at Production Scale. (2017). Research Blog. Retrieved 26 July 2017, from https://research.googleblog.com/2016/09/a-neural-network-for-machine.html

[9] Wu, Y., Schuster, M., Chen, Z., Le, Q. V., Norouzi, M., Macherey, W., … & Klingner, J. (2016). Google』s neural machine translation system: Bridging the gap between human and machine translation. arXiv preprint arXiv:1609.08144.

[10] Gehring, J., Auli, M., Grangier, D., & Dauphin, Y. N. (2016). A convolutional encoder model for neural machine translation. arXiv preprint arXiv:1611.02344.

[11] Gehring, J., Auli, M., Grangier, D., Yarats, D., & Dauphin, Y. N. (2017). Convolutional Sequence to Sequence Learning. arXiv preprint arXiv:1705.03122.

[12] Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., … & Polosukhin, I. (2017). Attention Is All You Need. arXiv preprint arXiv:1706.03762.

[13] Train Neural Machine Translation Models with Sockeye | Amazon Web Services. (2017). Amazon Web Services. Retrieved 26 July 2017, from https://aws.amazon.com/blogs/ai/train-neural-machine-translation-models-with-sockeye/

[14] Jean, S., Cho, K., Memisevic, R., & Bengio, Y. (2014). On using very large target vocabulary for neural machine translation. arXiv preprint arXiv:1412.2007.

[15] Luong, M. T., Sutskever, I., Le, Q. V., Vinyals, O., & Zaremba, W. (2014). Addressing the rare word problem in neural machine translation. arXiv preprint arXiv:1410.8206.

[16] Sennrich, R., Haddow, B., & Birch, A. (2015). Improving neural machine translation models with monolingual data. arXiv preprint arXiv:1511.06709.

[17] Cheng, Y., Xu, W., He, Z., He, W., Wu, H., Sun, M., & Liu, Y. (2016). Semi-supervised learning for neural machine translation. arXiv preprint arXiv:1606.04596.

[18] Dong, D., Wu, H., He, W., Yu, D., & Wang, H. (2015). Multi-Task Learning for Multiple Language Translation. In ACL (1) (pp. 1723-1732).

[19] Wang, M., Lu, Z., Li, H., & Liu, Q. (2016). Memory-enhanced decoder for neural machine translation. arXiv preprint arXiv:1606.02003.

[20] Sennrich, R., & Haddow, B. (2016). Linguistic input features improve neural machine translation. arXiv preprint arXiv:1606.02892.

[21] Tu, Z., Lu, Z., Liu, Y., Liu, X., & Li, H. (2016). Modeling coverage for neural machine translation. arXiv preprint arXiv:1601.04811.

[22] Shen, S., Cheng, Y., He, Z., He, W., Wu, H., Sun, M., & Liu, Y. (2015). Minimum risk training for neural machine translation. arXiv preprint arXiv:1512.02433.

[23] Mnih, V., Heess, N., & Graves, A. (2014). Recurrent models of visual attention. In Advances in neural information processing systems (pp. 2204-2212).

[24] Dandekar, N. (2017). How does an attention mechanism work in deep learning for natural language processing?. Quora. Retrieved 26 July 2017, from https://www.quora.com/How-does-an-attention-mechanism-work-in-deep-learning-for-natural-language-processing

[25] Cohn, T., Hoang, C. D. V., Vymolova, E., Yao, K., Dyer, C., & Haffari, G. (2016). Incorporating structural alignment biases into an attentional neural translation model. arXiv preprint arXiv:1601.01085.

[26] Hitschler, J., Schamoni, S., & Riezler, S. (2016). Multimodal pivots for image caption translation. arXiv preprint arXiv:1601.03916.

[27] Microsoft Translator launching Neural Network based translations for all its speech languages. (2017). Translator. Retrieved 27 July 2017, from https://blogs.msdn.microsoft.com/translation/2016/11/15/microsoft-translator-launching-neural-network-based-translations-for-all-its-speech-languages/

[28] Pascanu, R., Mikolov, T., & Bengio, Y. (2013, February). On the difficulty of training recurrent neural networks. In International Conference on Machine Learning (pp. 1310-1318).

[29] Sudoh, K., Duh, K., Tsukada, H., Hirao, T., & Nagata, M. (2010, July). Divide and translate: improving long distance reordering in statistical machine translation. In Proceedings of the Joint Fifth Workshop on Statistical Machine Translation and MetricsMATR (pp. 418-427). Association for Computational Linguistics.

[30] Junczys-Dowmunt, M., Dwojak, T., & Hoang, H. (2016). Is neural machine translation ready for deployment. A case study on, 30.

[31] Bojar O, Chatterjee R, Federmann C, et al. Findings of the 2015 Workshop on Statistical Machine Translation[C]. Tech Workshop on Statistical Machine Translation, 2015.

[32] Johnson, M., Schuster, M., Le, Q. V., Krikun, M., Wu, Y., Chen, Z., … & Hughes, M. (2016). Google』s multilingual neural machine translation system: enabling zero-shot translation. arXiv preprint arXiv:1611.04558.

[33] Bartolome, Diego, and Gema Ramirez.「Beyond the Hype of Neural Machine Translation,」MIT Technology Review (May 23, 2016), bit.ly/2aG4bvR.

[34] ACL 2017. (2017). Accepted Papers, Demonstrations and TACL Articles for ACL 2017. [online] Available at: https://chairs-blog.acl2017.org/2017/04/05/accepted-papers-and-demonstrations/ [Accessed 7 Aug. 2017].

[35] Crego, J., Kim, J., Klein, G., Rebollo, A., Yang, K., Senellart, J., … & Enoue, S. (2016). SYSTRAN』s Pure Neural Machine Translation Systems. arXiv preprint arXiv:1610.05540.


機器之心英文網站文章連結:https://syncedreview.com/2017/08/17/history-and-frontier-of-the-neural-machine-translation/


相關文章