李诗萌 张倩编译

普适注意力:用于机器翻译的2D卷积神经网络,显著优于编码器-解码器架构

现有的当前最佳机器翻译系统都是基于编码器-解码器架构的,二者都有注意力机制,但现有的注意力机制建模能力有限。本文提出了一种替代方法,这种方法依赖于跨越两个序列的单个 2D 卷积神经网络。该网络的每一层都会根据当前生成的输出序列重新编码源 token。因此类似注意力机制的属性适用于整个网络。该模型得到了非常出色的结果,比当前最佳的编码器-解码器系统还要出色,而且从概念上讲,该模型也更加简单、参数更少。

引言

深度神经网络自然语言处理技术造成了深远的影响,尤其是机器翻译(Blunsom, 2013; Sutskever et al., 2014; Cho et al., 2014; Jean et al., 2015; LeCun et al., 2015)。可以将机器翻译视为序列到序列的预测问题,在这类问题中,源序列和目标序列的长度不同且可变。目前的最佳方法基于编码器-解码器架构(Blunsom, 2013; Sutskever et al., 2014; Cho et al., 2014; Bahdanau et al., 2015)。编码器「读取」长度可变的源序列,并将其映射到向量表征中去。解码器以该向量为输入,将其「写入」目标序列,并在每一步用生成的最新的单词更新其状态。基本的编码器-解码器模型一般都配有注意力模型(Bahdanau et al., 2015),这样就可以在解码过程中重复访问源序列。在给定解码器当前状态的情况下,可以计算出源序列中的元素的概率分布,然后使用计算得到的概率分布将这些元素的特征选择或聚合在解码器使用的单个「上下文」向量中。与依赖源序列的全局表征不同,注意力机制(attention mechanism)允许解码器「回顾」源序列,并专注于突出位置。除了归纳偏置外,注意力机制还绕过了现在大部分架构都有的梯度消失问题

但现有的注意力机制建模能力有限,一般是对源表征的权重求和(Bahdanau et al., 2015; Luong et al., 2015),在这些模型中,这里的权重是源元素和目标元素的简单匹配。注意力模块将相同的源词编码重新组合,在解码时就无法重新编码或重新解释源序列。

为了克服这些局限,我们提出了一种基于深度 2D 卷积神经网络的可替代神经 MT 架构。源序列和目标序列中的位置的积空间定义了用于定义网络的 2D 网格。屏蔽卷积核,使其无法访问源自目标序列未来 token 的信息,从而获得与图像和音频波形中常用的生成模型(Oord et al., 2016a,b)类似的自回归模型(autoregressive model)。相关说明请参见图 1。

这种方法允许我们根据一堆 2D 卷积层学到深度特征的层次关系,并从训练过程中的并行运算受益。我们的网络的每一层都能根据目前生成的目标序列计算出源 token 的特征,并利用这些特征预测出下一个输出 token。因此,我们的模型通过构造类似注意力的能力,使这种能力适用于网络的所有层,而不是「添加」一个注意力模型。

我们在 IWSLT 2014 的德译英 (De-En) 和英译德 (En-De) 任务上通过实验验证了模型。我们改良了目前最佳的具备注意力机制的编码器-解码器模型,同时,从概念上讲我们的模型更加简单,参数更少。

图 1:我们的模型中的卷积层隐藏了 3*3 的卷积核,这样就可以只根据之前的输出计算特征。在一层(深蓝色)和两层(浅蓝色)之后的感受野的图示,还有正常的 3*3 卷积核视野的隐藏部分(灰色)。

论文:Pervasive Attention: 2D Convolutional Neural Networks for Sequence-to-Sequence Prediction

论文链接:https://arxiv.org/pdf/1808.03867v1.pdf

现有的当前最佳机器翻译系统都是基于编码器-解码器架构的,首先要对输入序列进行编码,然后根据输入的编码生成输出序列。这两者都有注意力机制注意力机制可以根据解码器的状态重新组合源 token 的固定编码。我们提出了一种可替代的方法,这种方法依赖于跨越两个序列的单个 2D 卷积神经网络。我们的网络的每一层都会根据当前生成的输出序列重新编码源 token。因此类似注意力机制的属性适用于整个网络。我们的模型得到了非常出色的结果,比当前最佳的编码器-解码器系统还要出色,而且从概念上讲我们的模型也更加简单、参数更少。

卷积网络最广为人知的应用是在视觉识别模型中(Oord et al., 2016a; Salimans et al., 2017; Reed et al., 2017; Oord et al., 2016c)。近期也有一些将卷积网络引入自然语言处理中的研究。第一个卷积方法是编码由堆叠的词向量组成的长度可变的序列,运用 1D 卷积,再用最大池化操作聚合(Collobert and Weston, 2008; Kalchbrenner et al., 2014; Kim, 2014)。就序列生成而言,Ranzato 等人(2016)、Bahdanau 等人(2017)以及 Gehring 等人(2017a)的研究将卷积编码器和 RNN 解码器融合。Kalchbrenner 等人(2016b)首次在编码器-解码器模型中引入了完整卷积过程,但他们没有对当前最佳的循环架构中加以改进。Gehring 等人(2017b)在编码器和解码器模块中用了带有线性门控单元的 1D CNN(Meng et al., 2015; Oord et al., 2016c; Dauphin et al., 2017)进行机器翻译,得到的结果比深度 LSTM 要好。

基于 CNN 和基于 RNN 的模型之间的区别在于,基于 CNN 的模型的时序连接被置于网络的层之间,而非层内。相关概念图请参见图 2。这种在连接上显而易见的微小差异可能造成两种重要的结果。第一,这种连接使可视域在卷积网络的层间线性增长,但在循环网络的层中则是无边界的。其次,RNN 中的激活值只能以序列方式计算,但在卷积网络中则可以在时序维度上并行计算。

图 2:有两个隐藏层的解码器网络拓扑结构图示,底部和上部的节点分别表示输入和输出。RNN 用的是水平方向的连接,卷积网络用的是对角方向的连接。这两种方法都用了垂直连接。参数可跨时间步(水平方向)共享,但不跨层(垂直方向)共享。

实验结果

我们将在本节中探索模型中的几个参数所造成的影响,这几个参数有:token 嵌入维度、深度、增长率和卷积核大小。我们也在源维度中对不同的聚合机制进行了评估,这些聚合机制有:最大池化、平均池化以及注意力机制

我们在每个给定的设置下都训练了五个初始值不同的模型,并报告 BLEU 分数的平均值和标准差。我们还用了与 Vaswani 等人(2017)类似的方式,根据训练的系统时间和 GPU 的单精度规格估计了每个模型的参数数量以及训练过程中的计算成本。

表 1:通过不同池化操作以及使用门控卷积单元训练的模型(L=24,g=32,ds=dt=128)。

从表 1 可知,与用平均池化相比,在源维度上用最大池化时 BLEU 可以提高约 2 个点。用公式(3)中的缩放平均表征有助于提高模型性能,但最大池化的性能还是要优于平均池化。在每个卷积层的上方添加线性门控单元无法改善 BLEU 分数,但由于添加了额外的参数而增加了变量。独立的自注意力(即加权平均池化)的表现比平均池化好一点,但是还是不如最大池化的表现好。将最大池化后得到的特征(公式(2))和通过自注意力获得的表征(式(9))串联在一起,可以轻微改善模型表现,但这一改善至关重要(从 33.70 到 33.81)。在我们余下的实验中,除非另行说明,否则我们都会用最大池化法简化模型。

图 4:token 嵌入大小、层数(L)及增长率(g)产生的影响。

图 4 所示是 token 嵌入大小、网络增长率及网络深度所产生的影响。token 嵌入大小和增长率 g 控制的是沿着源维度通过池化操作传递的特征数量,可用于 token 预测。在源序列和目标序列中用的 token 嵌入大小都相同,即 d=d_t=d_s,网络预测出的 token 的特征的总数量是 fL=2d+gL。我们可以从图 4 中了解到,token 嵌入大小在 128 到 256 之间时,BLEU 分数在 33.5 和 34 之间。嵌入较小会迅速降低模型性能,嵌入为 64 时会使模型性能降至 32.2。增长率(g)对模型表现有重要影响,将其从 8 提高到 32,BLEU 可以增长超过 2.5 个点。g=32 之后模型性能达到饱和,模型只有微乎其微的改善。在模型性能和计算损失中进行取舍,我们在剩余的实验中都将采用 g=32。网络的深度对其表现也有重要的影响,当网络深度从 8 增长到 24 时,BLEU 分数增长了约 2 个点。当越过这个点后,由于过拟合,模型表现下降,这意味着我们在构造更深的网络之前应该增加 dropout 值或添加另一级正则化。我们的模型的感受野是由其深度和卷积核的大小控制的。在表 2 中,我们注意到在复杂程度相同、层数较少的情况下,狭窄的感受野比大一点的感受野表现更好,例如,将(k=3,L=20)和(k=5,L=12)相比较,或将(k=5,L=16)和(k=7,L=12)相比较。

图 5:不同的句子长度得到的 BLEU 分数。

图 6:我们的普适注意力模型(Pervasive Attention model)生成的隐式 BPE 的 token 级对齐。在最大池化聚合中我们将式(7)中的 α 可视化,而在自注意力聚合中我们可视化的是式(8)中的权重 ρ。

表 3:与目前最佳的 IWSLT 德译英的机器翻译结果进行比较。(*):用我们的方法得到的结果。(**):用 FairSeq(Gehring et al., 2017b)得到的结果。

理论卷积神经网络普适注意力机器翻译
4
相关数据
池化技术

池化(Pooling)是卷积神经网络中的一个重要的概念,它实际上是一种形式的降采样。有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效的原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。通常来说,CNN的卷积层之间都会周期性地插入池化层。

权重技术

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

参数技术

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

注意力机制技术

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

机器翻译技术

机器翻译(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)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

过拟合技术

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

正则化技术

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

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

梯度消失问题技术

梯度消失指的是随着网络深度增加,参数的梯度范数指数式减小的现象。梯度很小,意味着参数的变化很缓慢,从而使得学习过程停滞,直到梯度变得足够大,而这通常需要指数量级的时间。这种思想至少可以追溯到 Bengio 等人 1994 年的论文:「Learning long-term dependencies with gradient descent is difficult」,目前似乎仍然是人们对深度神经网络的训练困难的偏好解释。

特征选择技术

在机器学习和统计学中,特征选择(英语:feature selection)也被称为变量选择、属性选择或变量子集选择。 它是指:为了构建模型而选择相关特征(即属性、指标)子集的过程。

生成模型技术

在概率统计理论中, 生成模型是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下。 它给观测值和标注数据序列指定一个联合概率分布。 在机器学习中,生成模型可以用来直接对数据建模(例如根据某个变量的概率密度函数进行数据采样),也可以用来建立变量间的条件概率分布。

堆叠技术

堆叠泛化是一种用于最小化一个或多个泛化器的泛化误差率的方法。它通过推导泛化器相对于所提供的学习集的偏差来发挥其作用。这个推导的过程包括:在第二层中将第一层的原始泛化器对部分学习集的猜测进行泛化,以及尝试对学习集的剩余部分进行猜测,并且输出正确的结果。当与多个泛化器一起使用时,堆叠泛化可以被看作是一个交叉验证的复杂版本,利用比交叉验证更为复杂的策略来组合各个泛化器。当与单个泛化器一起使用时,堆叠泛化是一种用于估计(然后纠正)泛化器的错误的方法,该泛化器已经在特定学习集上进行了训练并被询问了特定问题。

深度神经网络技术

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

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