现有的当前最佳机器翻译系统都是基于编码器-解码器架构的,两者都有注意力机制,但现有的注意力机制建模能力有限。本文提出了一种替代方法,这种方法依赖于跨越两个序列的单个 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。所以,咱们的模型经过构造相似注意力的能力,使这种能力适用于网络的全部层,而不是「添加」一个注意力模型。blog
咱们在 IWSLT 2014 的德译英 (De-En) 和英译德 (En-De) 任务上经过实验验证了模型。咱们改良了目前最佳的具有注意力机制的编码器-解码器模型,同时,从概念上讲咱们的模型更加简单,参数更少。token
图 1:咱们的模型中的卷积层隐藏了 3*3 的卷积核,这样就能够只根据以前的输出计算特征。在一层(深蓝色)和两层(浅蓝色)以后的感觉野的图示,还有正常的 3*3 卷积核视野的隐藏部分(灰色)。io
论文:Pervasive Attention: 2D Convolutional Neural Networks for Sequence-to-Sequence Predictionclass
论文连接:https://arxiv.org/pdf/1808.03867v1.pdfpdf
现有的当前最佳机器翻译系统都是基于编码器-解码器架构的,首先要对输入序列进行编码,而后根据输入的编码生成输出序列。这二者都有注意力机制,注意力机制能够根据解码器的状态从新组合源 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)获得的结果。