打败两款国际知名翻译引擎。解析网易有道神经机器翻译模型

在 2018 年,神经机器翻译似乎有了很大的改变,以前用 RNN 加上注意力机制打造的 Seq2Seq 模型好像都替换为了 Tramsformer。大家都在使用更大型的 Transformer,更高效的 Transformer 组件。当然随着新架构的采用,机器翻译的效果也有极大的提升,现在不论是网页端翻译还是终端翻译设备,至少都对实际生活工作有很大的帮助。

早一段时间,网易有道首席科学家段亦涛向机器之心介绍了有道翻译所采用的模型,他们同样经历了从Seq2Seq到Transformer的演变。其实早在2008年,有道就推出机器翻译服务,当时采用的是流行的 SMT(统计机器翻译)技术。从2年前开始研发到2017年4月,网易有道的"神经网络翻译" (NMT) 技术正式上线,因此迈入了Seq2Seq模型。到了今年,网易有道进一步采用Transformer作为基础架构,并研发出第三代高效翻译系统。

与有道翻译的发展类似,其实自DL崛起以来,基于编码器解码器框架的神经机器翻译系统取得了很大的进步与应用。最开始我们基于循环神经网络构建神经机器翻译的标准模型,后来我们考虑使用卷积神经网络提升并行训练效果,而去年谷歌研究团队更是提出不使用 CNN 和 RNN 抽取特征的 Transformer。尽管 Transformer 在解码速度和位置编码等方面有一些缺点,但它仍然是当前效果最好的神经机器翻译基本架构。

下面机器之心主要针对有道神经机器翻译模型提了一些问题:

机器之心:因为有道NMT的主要架构采用的是Transformer,那么它相比于以前采用的RNN在性能、速度和计算力上有什么样的显著提升?

有道翻译:RNN模型隐层状态的计算是分步进行的,每一步状态更新需要依赖于上一步的状态输出,这会导致编码长度为N的句子时需要N步计算,不能并行化计算,而且因为梯度消失和梯度爆炸的问题,RNN对长序列的建模效果较差。Transformer相比于RNN而言,每个位置状态的更新都是独立的,所以它是可以并行进行的,Transformer只需要一步就可以连接句子的所有位置,它对于长句的建模效果也会更好。我们从RNN 升级为 Transformer,单模型BLEU(翻译通用评价指标)提升了2~3个点,与RNN相比,Transformer模型对漏词和重复翻译这些问题都得到了较好的改善。训练速度也有明显提升。在推理方面,Transformer 相比于我们之前的 RNN 模型计算量上没有减少,而且由于模型的特点,导致在RNN中使用的一些预计算等空间换时间的方法不再奏效,给上线带来了很大的挑战。我们通过一些优化还是将推理速度做到了和之前RNN基本一致的状态,上线了完整的Transformer模型。

机器之心:因为现在很多NMT应用都采用的是Transformer架构,那么有道NMT会在哪些方面对模型有提升,主要的优势是什么?

有道翻译:我们对于Transformer架构的提升可以分几个方面,包括对单语数据的利用,模型结构的调整,训练方法的改进等。在对单语数据的利用上,我们尝试了back translation及dual learning等一些策略;模型结构调整上我们使用了relative position提升对相对位置的建模;我们还通过对抗训练和scheduled sampling提升了模型对输入和输出端噪声的鲁棒性,在训练中通过会同时引入多个监督目标来优化模型。我们也利用了迁移学习来提升多语种的翻译效果。最新的BLEU值对比数据是11月底的,我们的效果在之前的基础上又有了一个提升。

机器之心:在数据方面,有道NMT所采用的训练集来源都是哪些方面,会采用一些提升训练样本质量的方法吗?

有道翻译:有道从2008年上线第一个版本的统计机器翻译引擎之初,就持续抓取和清洗互联网上的平行语料,这是一个持续积累和建设的过程。除此之外,我们也会使用一些开源的数据集、使用一些特定领域或者语种的语料,甚至会使用众包方式人工标注一些数据。另外,我们也发现,语料的规模并不是最重要的,所以我们在数据的清洗、领域的分布和用户需求的分析及适配上也做了很多的工作。NMT模型对噪声数据是比较敏感的,所以除了我们训练模型加一些对抗噪声外,在处理语料的时候也会从多个方面提升样本的质量,包括利用有道词典,对齐信息等来过滤语料。

机器之心:在训练方面,有道NMT会不会采用集成方法提升翻译效果,或者其它技术润色译文?

有道翻译:我们在Transformer模型上也实验了model average和ensemble的方法,model average在我们的实验中效果一般,ensemble有一定的提升。除此之外,在部分特定领域下,我们开发了干预机制,可以将术语按照提供的术语表正确翻译出来。


值得注意的是,今年9月份,网易有道发布了有道翻译王2.0 Pro。与第一代产品有道翻译蛋相比,翻译王增设了英日韩三大常用外语与中文的离线互译功能,在线语音互译的语言包也从 27 种拓展为 43 种,覆盖 191 个国家和地区。同时,翻译王结合了OCR 识别技术,支持 7 种语言离线拍照翻译、21 种语言在线拍照翻译,是目前市面上拍照翻译支持语种最多的翻译机。

有道翻译王能支持离线翻译,这势必需要将NMT模型嵌入到终端中,这会产生非常多的工程化问题,这也是影响实际用户体验的重要因素。为此,有道翻译针对这些困难做了一个简要的概述:

机器之心:因为翻译王能实现离线翻译,而NMT模型又非常巨大,那么有道会采用一些模型压缩方法或优化方法加速NMT模型在翻译王上面的推断吗?

有道翻译:深度学习技术落地在移动端离线状态下应用挑战很大,我们做了很多工作。实际上不止是离线翻译NMT,还包括离线的语音识别、OCR等。一方面,我们通过裁减词表、简化网络结构、共享参数、量化等方法压缩模型,另外一方面我们在实际计算过程中优化搜索剪枝算法,针对平台做了大量的指令优化。考虑到终端设备的软件硬件限制,在服务加载速度,内存使用管理上我们也做了较多的优化。

机器之心:将NMT模型部署到翻译王这样的边缘设备很多时候遇到的都是工程化问题,有道在开发深度模型时采用的是TensorFlow还是内部的DL框架?

有道翻译:虽然目前有很多开源离线框架,如TensorFlow Lite,Caffe2等,可以较为方便的做离线工程化。但是具体到我们的模型,这些通用框架效率还是太低了。有道有自研的离线框架,能够根据模型的特点做一些优化处理,包括模型的压缩、层间合并,使用芯片支持的向量操作指令集,调整指令执行顺序和逻辑结构,提高cache命中率、提高内存使用效率等。我们在这方面下了非常多的功夫,目前我们的离线框架已经相对比较成熟,能够支持cpu、gpu、dsp、npu等各种硬件平台,在cpu (或arm) 上比caffe2要快4倍以上。我们在端侧的工程化都是基于自己内部的离线框架做的。


入门Encoder-Decoder神经机器翻译Transformer机器翻译
2
相关数据
网易机构

网易成立于1997年6月24日,是中国领先的互联网技术公司,为用户提供免费邮箱、游戏、搜索引擎服务,开设新闻、娱乐、体育等30多个内容频道,及博客、视频、论坛等互动交流,网聚人的力量。

https://www.163.com/
深度学习技术

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

神经机器翻译技术

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

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

剪枝技术

剪枝顾名思义,就是删去一些不重要的节点,来减小计算或搜索的复杂度。剪枝在很多算法中都有很好的应用,如:决策树,神经网络,搜索算法,数据库的设计等。在决策树和神经网络中,剪枝可以有效缓解过拟合问题并减小计算复杂度;在搜索算法中,可以减小搜索范围,提高搜索效率。

TensorFlow技术

TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。目前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索,其中许多产品曾使用过其前任软件DistBelief。

机器翻译技术

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

神经网络技术

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

卷积神经网络技术

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

集成方法技术

在统计学和机器学习中,集成方法使用多种学习算法来获得比单独使用任何组成学习算法更好的预测性能。

逻辑技术

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

统计机器翻译技术

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

对抗训练技术

对抗训练涉及两个模型的联合训练:一个模型是生成器,学习生成假样本,目标是骗过另一个模型;这另一个模型是判别器,通过对比真实数据学习判别生成器生成样本的真伪,目标是不要被骗。一般而言,两者的目标函数是相反的。

迁移学习技术

迁移学习是一种机器学习方法,就是把为任务 A 开发的模型作为初始点,重新使用在为任务 B 开发模型的过程中。迁移学习是通过从已学习的相关任务中转移知识来改进学习的新任务,虽然大多数机器学习算法都是为了解决单个任务而设计的,但是促进迁移学习的算法的开发是机器学习社区持续关注的话题。 迁移学习对人类来说很常见,例如,我们可能会发现学习识别苹果可能有助于识别梨,或者学习弹奏电子琴可能有助于学习钢琴。

语音识别技术

自动语音识别是一种将口头语音转换为实时可读文本的技术。自动语音识别也称为语音识别(Speech Recognition)或计算机语音识别(Computer Speech Recognition)。自动语音识别是一个多学科交叉的领域,它与声学、语音学、语言学、数字信号处理理论、信息论、计算机科学等众多学科紧密相连。由于语音信号的多样性和复杂性,目前的语音识别系统只能在一定的限制条件下获得满意的性能,或者说只能应用于某些特定的场合。自动语音识别在人工智能领域占据着极其重要的位置。

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