腾讯AI Lab提出翻译改进模型Transformer的3个优化方法

一种完全基于注意力机制的翻译模型 – Transformer,最近在不同语言对上的翻译任务上都取得了最好的效果,引起了工业界和学术界的极大兴趣。 由腾讯AI Lab主导,与来自南京大学、澳门大学、香港中文大学的实习生合作完成的三篇论文中,作者从多层表示融合,自注意力模型,和多头注意力模型三个方面改进Transformer模型。以下是技术详细解读。

论文:Exploiting Deep Representations for Neural Machine Translation

http://ai.tencent.com/ailab/nlp/papers/emnlp2018_deep_representations.pdf

论文:Modeling Localness for Self-Attention Networks

http://ai.tencent.com/ailab/nlp/papers/emnlp2018_localness_modeling.pdf

论文 :Multi-Head Attention with Disagreement Regularization

http://ai.tencent.com/ailab/nlp/papers/emnlp2018_disagreement_regularizations.pdf

Transformer模型介绍

Transformer仍然是经典的编码器-解码器框架。其中编码器是由L层神经网络组成,每层网络中包含:

1. 多头自注意力层 (Multi-Head Self-attention)

2. 全连接的前向网络层 (Feed Forward)

3. 多头源注意力层 (Multi-Head Attention)

受益于更强大的模型表达能力,该新型网络结构在机器翻译任务上超过了过去基于递归神经网络(RNN)和卷积神经网络(CNN)的翻译模型。

多层表示融合

本文由腾讯AI Lab主导,与南京大学合作完成。如上所述,神经机器翻译系统通常由多层编码器和解码器构成,这允许系统对于复杂函数进行建模并捕获复杂的语言结构。最近研究工作表明,不同网络层会捕获不同层次的句法和语义信息。 然而,通常情况下,翻译过程仅利用了编码器和解码器的顶层,这错过了利用在其他层中的有用信息的机会。在这项工作中,研究人员提出用层聚合和多层注意力模型的方法同时利用不同网络包含的信息。

a.标准架构 b.层聚合 c.多层注意力模型

以Transformer编码器为例,其架构如图(a)所示。具体计算过程如下:

其中ATT是指自注意力模型,FFN指前向连接网络,LN指层归一化函数。是由第(l-1)层的编码器表示转化得到的。

层聚合模型如图(b)所示,聚合节点(绿色圆圈)的计算公式如下:

其中聚合函数AGG定义为:

多层注意力模型如图(c)所示,在构建第l层网络时,我们允许注意力模型可以查询所有低层网络,而不是只查询第(l-1)层:

对比提出的两种方法,其中层聚合模型将不同网络层同一位置的表示融合起来,而多层注意力模型则允许融合不同层不同位置的表示,但代价是计算复杂度更高。

自注意力模型的局部性建模

本文由腾讯AI Lab主导,与澳门大学合作完成。自注意力模型的一个优势在于通过直接注意所有输入元素,从而捕获长距离依赖关系。但是该过程是通过加权平均操作完成的,我们认为会导致其忽视相邻元素间关系。本文通过为自注意力模型进行局部建模,增强其学习局部上下文的能力。

相邻元素的关系通常对应短语的概念,在机器翻译中起着重要作用。以下图为例,当“Bush”对齐到“held”时,我们希望自注意力模型能同时将更多注意力放到其邻近的词“a talk”上。这样,模型能捕获短语“held a talk”。

针对该问题,本文将局部建模设计为一种可学习的高斯偏差,这种高斯偏差表示了需要得到更多关注的局部范围的中心Pi和尺寸Di:

如上图中,P在单词“talk”位置处,而D则为2。我们通过不同的策略(如利用不同的模型中间表示)来计算pi和zi。

随后,高斯偏差被用于修正原始注意力分布以得到局部强化的的权重分布:

上图中,通过引入学习到的高斯偏差,自注意力模型更多关注于短语“held a talk”。为了保持原模型捕获长距离依赖性的能力的同时增强其学习短距离依存关系的能力,本文仅将局部性建模应用于较低层的自我关注网络中。

具有差异性约束的多头注意力模型

本文由腾讯AI Lab主导,与香港中文大学和澳门大学合作完成。多头注意力机制是Transformer中的一个重要组件,优势在于能在不同子空间学习不同表征。以下图为例,绿色和红色代表了不同的注意力头(attention head),对于查询词“Bush”,它们分别对齐到“talk”和“Sharon”,对应着不同的语言学关系。


多头注意力模型将Q, K, V转换到H个子空间中:

其中是第h个注意力头的查询向量、键向量和值向量。每个注意力头通过标准注意力机制计算输出向量:

所有注意力头的输出向量通过拼接操作得到最终向量表示。

在这个工作中,我们引入一种差异性约束来显式地鼓励多个注意力头的多样性:

具体地,本文提出了3种差异性约束,分别鼓励每个注意力头在输入子空间、对齐矩阵、输出表示上跟其他的注意力头不一样:

输入子空间差异化约束:

对齐矩阵差异化约束:

输出表示差异化约束:

腾讯AI实验室
腾讯AI实验室

理论Transformer神经网络机器翻译腾讯AI LabEMNLP 2018
3
相关数据
权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

神经机器翻译技术

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

注意力机制技术

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

机器翻译技术

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

神经网络技术

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

卷积神经网络技术

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

查询技术

一般来说,查询是询问的一种形式。它在不同的学科里涵义有所不同。在信息检索领域,查询指的是数据库和信息系统对信息检索的精确要求

长距离依赖技术

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

正则化技术

当模型的复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值后又增大。当选择的模型复杂度过大时,过拟合现象就会发生。这样,在学习时就要防止过拟合。进行最优模型的选择,即选择复杂度适当的模型,以达到使测试误差最小的学习目的。

层归一化技术

深度神经网络的训练是具有高度的计算复杂性的。减少训练的时间成本的一种方法是对神经元的输入进行规范化处理进而加快网络的收敛速度。层规范化是在训练时和测试时对数据同时进行处理,通过对输入同一层的数据进行汇总,计算平均值和方差,来对每一层的输入数据做规范化处理。层规范化是基于批规范化进行优化得到的。相比较而言,批规范化是对一个神经元输入的数据以mini-batch为单位来进行汇总,计算平均值和方法,再用这个数据对每个训练样例的输入进行规整。层规范化在面对RNN等问题的时候效果更加优越,也不会受到mini-batch选值的影响。

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