返回 登录
0

快进连接改进Attention机制,深度学习提升机器翻译效果

利用神经网络模型来提升机器翻译效果是深度学习的一个重要应用方向。在这篇文章中,百度深度学习研究院研究人员详细解析了神经网络在翻译任务中的研究和难点,介绍了百度团队为突破这些难点采取的思路和最新进展。

机器翻译致力于将源语言翻译为目标语言,一直以来都是自然语言理解领域最重要的问题之一,也吸引了大量学者的关注。随着2014年前后基于神经网络机器翻译技术的提出,该领域出现了两条技术分支,即神经网络模型和传统模型。百度深度学习研究院最近也在致力于利用神经网络模型来提升翻译效果,并在国际上最为主流和通用的评估数据集WMT’14英法翻译上,第一次利用单模型神经网络超过了传统模型,达到16层单模型BLEU为37.7的效果[1]。

神经网络在机器翻译中的应用和挑战

传统上,解决机器翻译问题的方法基于对人的主观经验进行拆分和量化,是众多相互依存的子步骤的串联。这些子步骤包括命名实体识别,词性判定,句法分析,语言模型,短语对齐等。这种方式可以直观的反映出人们对机器翻译问题甚至语言本身的理解,但由于大多步骤的优化目标并不对应翻译结果本身,这对利用解决方式获得持续的效果提升带来了很大的困难。

在2014年左右,一种基于时序神经网络的端到端的解决方案被Google提出。该方案仅仅依赖原始的源语言纯文本信息作为全部的输入,就可以依次产生目标语言文本序列,被称为“编码-解码”(Encoding-Decoding)模型[2]。通过神经网络,该模型将源语言序列编码成为了一个定长的向量,这个向量就是源语言的量化表示,然后利用该向量来产生目标语言序列。可以说,该模型将传统的机器翻译流程简化到了一个最简流程。与此同时,多伦多大学的Bengio团队考虑到利用单一定长向量来作为源语言的量化表示过于简单,会造成信息损失,他们引入了“注意力”(Attention)机制[3],保留源语言每一个时间点的产出向量的集合作为源语言的量化表示,在生成目标语言的每一个单词的时候,都会去计算该单词与源语言的每个时间点的关联系数。关联系数大的时间点对应的向量,将会在生成目标语言的相关单词时被重点考虑。“注意力”机制是基于“编码-解码”模型的改进,利用源语言所有时间步的输出向量来表示源语言,取代了利用单一向量来表示源语言的机制。在2015年,上述两个团队均提出了利用计算多模型统计平均和扩展词表大小的两个方案,使神经网络模型获得了进一步的效果提升,同时超过了传统模型的最好效果。尽管如此,单一神经网络模型的效果距离传统模型依然有很大差距。

这主要是由于利用神经网络来解决机器翻译问题,包含了很多特定的困难。不考虑模型和算法包含的内在问题,仅从总体流程框架考虑,就有如下两个方面的问题:

  1. 这是一个序列预测问题,在预测第K个单词的时候,依赖于前面K-1次的预测结果。也就是同样的一次错误的预测,发生在第一个时间点和最后一个时间点,造成的后果是完全不同的。
  2. 每一条源语句,可能存在多个差异化的目标语局,作为正确的翻译结果。这极大的提升了模型接触到的数据的多样性。

这使得我们意识到提升模型的信息容量和学习能力成为了提升机器学习效果的核心需求。最直观的方法就是增加模型深度,这也在图像和语音领域得到了充分验证。

事实上,基于神经网络模型,各方面的新工作不断的涌现出来,包括将传统模型与神经网络模型相结合,利用多语言语料来增强目标语言的学习效果,利用卷积神经网络来代替时序神经网络,利用在训练过程中增加噪声(Scheduled Sampling)来提升预测的鲁棒性,以及尝试更好的模型训练算法等。但是当前,时序神经网络本身的学习能力正处于被挖掘的初期,也就是整个基于神经网络的机器翻译流程的核心单元还有巨大的推动空间,因此我们倾向于先集中考虑时序模型本身,尽管还存在更多的方式能够从各个角度推动整体流程的效果。

当前,在最为主流使用的WMT’14英法翻译数据集上,最好的神经网络翻译结果还是停留在原始的“编码-解码”模型和“注意力”机制模型上,这也说明当数据量充足的时候,模型的信息容量学习能力是整个流程的瓶颈,很多针对流程其它方面的优化也会受到模型学习能力这一核心环节的制约。更为重要的是,提升模型的学习能力,是一项更为普适的提升方式,不仅仅是对于机器翻译问题,对于各个包含时序信息的问题,我们的探索都可以提供帮助。同时,这种提升,也能帮助我们更加深入的理解模型和问题的内在关联,挖掘模型的内涵。

基于快进连接的深度时序神经网络

如前所述,提升模型深度是最为便捷有效的提升模型的信息容量和学习能力的方式已成为业内共识。对于时序模型,也有很多人已经进行了探索,这些探索集中于参考深度卷积网络的成功经验,即引入“捷径”(shortcut)连接。“捷径”连接是指用一条新的边来连接原始网络上距离相对较远的路径,使得在增加网络深度的同时,梯度传播距离并没有大幅增加。在时序网络领域这方面的工作,我们仅举最有代表性的一例,来自谷歌的学者Graves提出了网格时序网络(Grid LSTM)[4],通过连接相邻两层的时序网络(本文指LSTM[5])的核心存储单元(State Memory)来增加模型深度。

我们注意到时序模型和卷积模型之间存在两个核心差异和困难:

  1. 时序模型包含的非线性变换的数量远多于卷积模型,这使得梯度传播过程中的信息衰减更加严重。
  2. 单层的时序模型本身的计算是迭代进行的,通常一层网络包含了十几次的反复迭代计算,这使得时序网络的等效深度是远高于相同实际深度的卷积网络的。

为了有效的搭建深度时序模型,我们认为必须回避上述两个困难。我们知道,时序网络的计算包含了前向计算和迭代计算两个部分,上述的两个困难都集中于迭代计算部分。基于此,我们引入的“捷径”连接旨在连接相邻两层的时序网络的前向部分[1]。随着引入该连接,从源语言的输入,到目标语言的输出,存在一条完全由这种“捷径”连接搭建的信息传播路径,即不包含迭代计算,又不包含非线性变换,是信息快捷传播的快捷路径,因此我们称之为“快进”连接(Fast-forward connections)。该连接也是这项工作的核心贡献。基于快进连接,我们搭建了包含了9层编码时序网络和7层解码时序网络的总共16层的神经网络机器翻译模型。

此外,我们的工作还引入了其它若干创新。首先,我们采用了“双向衔接”(Interleaved bidirectional)的连接方式。即在编码阶段,第k层处理语句的方向和第k-1层相反。在之前Google的网络中所有编码层都沿着同一个时序方向处理源语言。其次,我们更改了源语言的表示的提取方式,增加了时序网络的前向计算输出向量,和时序网络的最终输出一起,拼接成了新的表示。这种改造同时适用于“编码-解码”网络和“注意力”机制模型。最终,我们的工作在WMT’14英法翻译数据集上,相对于之前的单神经网络模型,带来了超过6个点的BLEU值提升,其中最核心的提升还是来自于“快进”连接。

图片描述

当模型深度增加到16层之后,我们也面临系统层面的问题,即单显卡(GPU)的很多内存空间被模型占据,如果想使用较大的数Batch进行模型优化,则不可避免地要使用多机训练,将每个Batch的数据拆分到不同机器的多个显卡中,最后同步融合所有显卡的梯度信息。依据模型的大小不同,我们的工作使用了4-8台包含了4块K40显卡的机器进行计算。所有计算都是在百度的深度学习计算平台Paddle上完成。

在工业领域,我们面临更多的其实是单语言的问题,这是一种特殊的翻译流程。在百度,我们经常需要去计算两条文本的相似性或先后逻辑关系的统一性,这两条文本可以是用户的query和网页的title组成的语句对,也可以是query和从query抽取的关键短语片段。这些技术都隶属于平行语料处理技术,都可以应用我们的机器翻译模型。在百度的产品线上,该模型已经为公司带来了极大的收入和效果提升,同时将传统的句子分析系统简化为了一个端到端的单步模型。

参考文献

[1]. Jie Zhou, Ying Cao, Xuguang Wang, Peng Li, Wei Xu, 2016. Deep Recurrent Models with Fast-Forward Connections for Neural Machine Translation. arXiv:1606.04199
[2]. Ilya Sutskever, Oriol Vinyals, and Quoc Le. 2014. Sequence to sequence learning with neural networks. In Advances in Neural Information Processing Systems 27 (NIPS 2014), pages 3104–3112
[3]. Dzmitry Bahdanau, Kyunghyun Cho, and Yoshua Bengio. 2015. Neural machine translation by jointly learning to align and translate. In International Conference on Learning Representations (ICLR 2015)
[4]. Nal Kalchbrenner, Ivo Danihelka, and Alex Graves.2015. Grid long short-term memory. arXiv:1507.01526
[5].Sepp Hochreiter and J¨urgen Schmidhuber. 1997. Long short-term memory. Neural Computation, 9(8):1735–1780

作者:周杰,百度科学家、深度学习研究院算法组和自然语言理解组负责人
责编:周建丁(投稿请联系zhoujd@csdn.net)


CCAI 2016中国人工智能大会将于8月26-27日在京举行,AAAI主席,多位院士,MIT、微软、大疆、百度、滴滴专家领衔全球技术领袖和产业先锋打造国内人工智能前沿平台,6大主题报告,人机交互、机器学习、模式识别、产业实战相关4大专题论坛,1000+高质量参会嘉宾。门票限时六折优惠中

图片描述

评论