张悠曙作者Synced Global制作Nurhachu Null编译

神经机器翻译:历史与展望

机器翻译(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月,Google Brain团队发表一篇博客,显示他们已经在其产品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开源实现,可以帮助您在实践中学习:

如果您有兴趣了解更多关于NMT的知识,可以阅读参考文献部分的论文:[5][6][7] 是必读的核心论文,可以帮助您了解NMT。[9] 是关于NMT机制和实现的全面论述。此外,我们已经发布的AI技术报告中有专门介绍机器翻译的内容。

参考文献

[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] Hassan, H., Aue, A., Chen, C.; Chowdhary, V, et al. (2018) Achieving Human Parity on Automatic Chinese to English News Translation. arXiv preprint arXiv: 1803.05567.

[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.

技术的前世今生
技术的前世今生

总结和梳理技术的发展,讨论和反思行业的选择

理论神经机器翻译
2
相关数据
DeepMind机构

DeepMind是一家英国的人工智能公司。公司创建于2010年,最初名称是DeepMind科技(DeepMind Technologies Limited),在2014年被谷歌收购。在2010年由杰米斯·哈萨比斯,谢恩·列格和穆斯塔法·苏莱曼成立创业公司。继AlphaGo之后,Google DeepMind首席执行官杰米斯·哈萨比斯表示将研究用人工智能与人类玩其他游戏,例如即时战略游戏《星际争霸II》(StarCraft II)。深度AI如果能直接使用在其他各种不同领域,除了未来能玩不同的游戏外,例如自动驾驶、投资顾问、音乐评论、甚至司法判决等等目前需要人脑才能处理的工作,基本上也可以直接使用相同的神经网上去学而习得与人类相同的思考力。

约书亚·本吉奥人物

约书亚·本希奥(法语:Yoshua Bengio,1964年-)是一位加拿大计算机科学家,因人工神经网络和深度学习领域的研究而闻名。Yoshua Bengio于1991年获得加拿大麦吉尔大学计算机科学博士学位。经过两个博士后博士后,他成为蒙特利尔大学计算机科学与运算研究系教授。他是2本书和超过200篇出版物的作者,在深度学习,复现神经网络,概率学习算法,自然语言处理和多元学习领域的研究被广泛引用。他是加拿大最受欢迎的计算机科学家之一,也是或曾经是机器学习和神经网络中顶尖期刊的副主编。

纳尔·卡尔克布伦纳人物

谷歌大脑阿姆斯特丹研究实验室研究科学家和联合创始人,曾在DeepMind担任深度学习方面的研究科学家,参与过AlphaGo的研究。研究领域:神经机器翻译、卷积句子和序列模型、RNN架构,以及图像、视频、音频的生成模型。

深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

神经机器翻译技术

2013 年,Nal Kalchbrenner 和 Phil Blunsom 提出了一种用于机器翻译的新型端到端编码器-解码器结构 [4]。该模型可以使用卷积神经网络(CNN)将给定的一段源文本编码成一个连续的向量,然后再使用循环神经网络(RNN)作为解码器将该状态向量转换成目标语言。他们的研究成果可以说是神经机器翻译(NMT)的诞生;神经机器翻译是一种使用深度学习神经网络获取自然语言之间的映射关系的方法。NMT 的非线性映射不同于线性的 SMT 模型,而且是使用了连接编码器和解码器的状态向量来描述语义的等价关系。此外,RNN 应该还能得到无限长句子背后的信息,从而解决所谓的「长距离重新排序(long distance reordering)」问题。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

基于规则的机器翻译技术

在很长一段时间里(20 世纪 50 年代到 80 年代),机器翻译都是通过研究源语言与目标语言的语言学信息来做的,也就是基于词典和语法生成翻译,这被称为基于规则的机器翻译(RBMT)

机器翻译技术

机器翻译(MT)是利用机器的力量「自动将一种自然语言(源语言)的文本翻译成另一种语言(目标语言)」。机器翻译方法通常可分成三大类:基于规则的机器翻译(RBMT)、统计机器翻译(SMT)和神经机器翻译(NMT)。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

语料库技术

语料库一词在语言学上意指大量的文本,通常经过整理,具有既定格式与标记;事实上,语料库英文 "text corpus" 的涵意即为"body of text"。

先验知识技术

先验(apriori ;也译作 先天)在拉丁文中指“来自先前的东西”,或稍稍引申指“在经验之前”。近代西方传统中,认为先验指无需经验或先于经验获得的知识。先验知识不依赖于经验,比如,数学式子2+2=4;恒真命题“所有的单身汉一定没有结婚”;以及来自纯粹理性的推断“本体论证明”

统计机器翻译技术

随着统计学的发展,研究者开始将统计模型应用于机器翻译,这种方法是基于对双语文本语料库的分析来生成翻译结果。这种方法被称为统计机器翻译(SMT)

分类问题技术

分类问题是数据挖掘处理的一个重要组成部分,在机器学习领域,分类问题通常被认为属于监督式学习(supervised learning),也就是说,分类问题的目标是根据已知样本的某些特征,判断一个新的样本属于哪种已知的样本类。根据类别的数量还可以进一步将分类问题划分为二元分类(binary classification)和多元分类(multiclass classification)。

长距离依赖技术

也作“长距离调序”问题,在机器翻译中,比如中英文翻译,其语言结构差异比较大,词语顺序存在全局变化,不容易被捕捉

序列到序列技术

语言模型技术

语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。由于字词与句子都是任意组合的长度,因此在训练过的语言模型中会出现未曾出现的字串(资料稀疏的问题),也使得在语料库中估算字串的机率变得很困难,这也是要使用近似的平滑n元语法(N-gram)模型之原因。

推荐文章
暂无评论
暂无评论~