【重温经典】注意力即一切(<Attention Is All You Need>全文翻译)
摘要
目前,主流的序列转导模型基于复杂的循环神经网络(RNN,Recurrent Neural Network)或卷积神经网络(CNN,Convolutional Neural Network),包括编码器和解码器。性能最佳的模型还通过注意力机制(attention mechanism)连接编码器和解码器。我们提出了一种新型简单网络架构——Transformer,完全基于注意力机制,摒弃了循环和卷积。在两个机器翻译任务的实验中,这些模型在保证高质量输出的同时,更加易于并行化处理,训练时间也大幅减少。在WMT 2014年英德翻译任务中,我们的模型取得了28.4的BLEU分数,较之前的最佳结果——包括集成模型——提高了超过2个BLEU分。在WMT 2014年英法翻译任务中,我们的模型经过8个GPU上3.5天的训练后,取得了新的单模型最优BLEU分数,达到了41.8。这一训练成本仅为文献中最佳模型的一小部分。我们通过将Transformer模型成功地应用于英语句法分析,无论是在有大量训练数据还是有有限训练数据的情况下,都表明它能够很好地应用到其它任务上。
1 引言
循环神经网络,尤其是长短期记忆(LSTM,Long Short-Term Memory)[13]和门控循环(GRU,Gated Recurrent Unit)[7]神经网络,已牢固地确立为序列建模和转导问题(如语言建模和机器翻译)的最先进方法[35,2,5]。此后,大量努力不断拓展了循环语言模型和编码器-解码器架构的边界[38, 24, 15]。
循环模型通常按照输入和输出序列的符号位置进行因子计算。通过将这些位置与计算时间中的步骤对齐,它们生成一系列隐藏状态ht,作为前一个隐藏状态ht-1和位置t的输入的函数。这种内在的顺序性质限制了在训练示例内的并行化,这在较长序列长度时变得至关重要,因为内存约束限制了跨样本的批处理。近期的工作通过因子分解技巧[21]和条件计算[32]在计算效率方面取得重大进展,后者还同时提高了模型性能。然而,顺序计算的基本约束仍然存在。
在各种任务中,注意力机制已经成为重要的序列建模和转导模型的不可或缺的部分,它允许在输入或输出序列中建模依赖关系而不必考虑它们的距离[2, 19]。然而,除了极少数情况[27],这种注意力机制通常与循环网络结合使用。
在本文中,我们提出了Transformer,这是一种模型架构,不再依赖循环,而是完全依赖注意力机制来建立输入和输出之间的全局依赖关系。Transformer具有更高的并行性,经过仅在8块P100 GPU上进行了短短12小时的训练后,就能在翻译质量方面达到全新的水平。
2 背景
减少顺序计算的目标也构成了扩展神经GPU(Extended Neural GPU)[16]、ByteNet[18]和ConvS2S[9]的基础,它们都使用卷积神经网络作为基本构建块,用于并行计算所有输入和输出位置的隐藏表示。在这些模型中,与两个任意输入或输出位置的信号相关的操作数量会随着位置之间的距离而增加,对于ConvS2S是线性增加,对于ByteNet则是对数增加。这使得学习远距离位置之间的依赖关系变得更加困难[12]。在Transformer中,这被减少到一定数量的操作,尽管由于平均注意力加权位置而导致有效分辨率降低,这个影响我们通过多头注意力(multi-head attention)进行抵消,这在3.2节中有所描述。
自注意力(self-attention),有时称为内部注意力(intra-attention),是一种注意力机制,它关联单个序列的不同位置,以计算序列的表示。自注意力已经成功应用于各种任务,包括阅读理解、提取性摘要、文本蕴涵和学习与任务无关的句子表征[4, 27, 28, 22]。
端到端记忆网络基于循环注意力机制,而不是序列对齐的循环,已经在简单语言问答和语言建模任务上表现出色[34]。
然而,就我们所知,Transformer是第一个完全依赖自注意力来计算其输入和输出表示的转导模型,而不使用序列对齐的RNN或卷积。在接下来的章节中,我们将阐述Transformer,自注意力的动机,并讨论它相对于[17, 18]和[9]等模型的优势。
3 模型架构
大多数具有竞争力的神经序列转导模型都有编码器-解码器结构[5, 2, 35]。这里,编码器将符号表示的输入序列(x1,...,xn)映射到连续表示的序列z =(z1,...,zn)。给定z,解码器然后逐个生成符号的输出序列(y1,...,ym)。在每一步中,模型都具有自回归性[10],在生成下一个符号时将之前生成的符号作为额外的输入。
Transformer遵循这种整体架构,使用堆叠的自注意力和逐点全连接层作为编码器和解码器,分别如图1的左半部分和右半部分所示。
3.1 编码器和解码器堆栈
编码器:编码器由N = 6个相同层堆叠而成。每一层包含两个子层,第一个是多头自注意力机制,另一个是简单的逐位置全连接前馈网络(feed-forward network)。我们在这两个子层之间引入了残差连接(residual connection)[11],然后进行层标准化[1]。也就是说,每个子层的输出为LayerNorm(x + Sublayer(x)),其中Sublayer(x)是子层本身的函数。为了方便这些残差连接,模型中的所有子层和嵌入层都生成维度为dmodel = 512的输出。
解码器:解码器也由N = 6个相同层堆叠而成。除了每个编码器层中的两个子层外,解码器还插入了第三个子层,用于执行对编码器堆栈的输出的多头注意力。与编码器类似,我们在每个子层周围引入了残差连接,然后进行层标准化。我们还修改了解码器堆栈中的自注意力子层,以防止位置关注后续位置。这种掩码,结合了输出嵌入的位移,确保位置i的预测仅依赖于小于i的已知位置的输出。
3.2 注意力
可以将注意力函数描述为将一个查询(query)和一组键值对(key-value pair)映射到一个输出,其中查询、键、值和输出都是向量。输出通过对值的加权求和来计算,每个值的权重由查询与相应键的兼容函数计算而来。
3.2.1 缩放点积(Scaled Dot-Product)注意力
我们称这种特殊的注意力为“缩放点积注意力”(图2)。输入包括维度为dk的查询和键,以及维度为dv的值。我们计算查询与所有键的点积,将每个结果除以√dk,然后应用softmax函数以得到值的权重。
在实际操作中,我们同时对一组查询计算注意力函数,将它们打包成一个矩阵Q。键和值也被打包成矩阵K和V。我我们通过以下方式计算输出矩阵:
最常用的两种注意力函数是加性注意力(additive attention)[2]和点积(乘法)注意力。点积注意力与我们的算法非常相似,唯一的区别在于缩放因子1/√dk。加性注意力使用具有单个隐藏层的前馈网络计算兼容性函数。尽管从理论复杂度上来看这两种方法相似,但在实践中,点积注意力更加高速且空间效率更高,因为它可以利用高度优化的矩阵乘法代码来实现。
对于较小的dk值,这两种注意力机制的性能相似。但对于较大的dk值,加性注意力在没有缩放的情况下优于点积注意力[3]。我们怀疑这是因为对于较大的dk值,点积运算的结果会急剧增大,导致softmax函数进入极小梯度的区域。为了抵消这种影响,我们将点积缩小为1/√dk。
3.2.2 多头注意力
我们发现,相较于仅使用具有dmodel维度的键、值和查询执行单个注意力函数,以不同的、学到的线性投影分别对查询、键和值进行h次线性投影至dk、dk和dv维度,效果更好。在这些投影后的查询、键和值上并行执行注意力函数以产生dv维度的输出值。将这些输出值进行串联并再次投影,产生最终的值,如图2所示。
多头注意力使模型同时关注不同位置的不同表示子空间的信息。使用单个注意力头时,平均操作会限制这一点。
在本研究中,我们使用了h = 8个并行注意力层,或称之为"头"。对于每一个头,我们使用了 dk = dv = dmodel/h = 64。由于每个头的维度降低,总的计算成本类似于使用全维度的单头注意力。
3.2.3 注意力在我们模型中的应用
Transformer模型以三种不同的方式使用多头注意力:
在“编码器-解码器注意力”层中,查询来自前一个解码器层,记忆键和值来自编码器的输出。解码器中的每个位置都可以关注输入序列中的所有位置。这模仿了诸如[38, 2, 9]等序列到序列模型中的典型编码器-解码器注意力机制。
编码器中包含自注意力层,其中所有的键、值和查询都来自同一个位置,即编码器中前一层的输出。编码器中的每个位置都可以关注到编码器前一层中的所有位置。
类似地,解码器中的自注意力层允许解码器中的每个位置都可以关注到该位置之前的解码器中的所有位置,包括它本身。为了保持自回归属性,我们需要阻止解码器向左的信息流。我们通过在缩放的点积注意力内部实现这一点,即通过在softmax输入中对非法连接所对应的值设置为负无穷大(-∞)来阻止信息的左向传递。参见图2。
3.3 逐位置前馈网络
除了注意力子层外,我们的编码器和解码器的每个层还包括一个全连接的逐位置前馈网络,该网络被分别且相同地应用于每个位置。该网络由两个线性变换组成,之间经过ReLU激活函数。
虽然不同位置上的线性变换是相同的,但是每一层都使用不同的参数。另一种描述方式是两个核大小为1的卷积。输入和输出的维度均为dmodel = 512,内部维度为dff = 2048。
3.4 嵌入和Softmax
类似于其它序列转导模型,我们使用已学习的嵌入(embedding)将输入和输出标记(token)转换为维度为dmodel的向量。我们还使用常规已学习的线性变换和softmax函数,将解码器输出转换为预测的下一个标记的概率。在我们的模型中,两个嵌入层和pre-softmax线性变换之间共享相同的权重矩阵,类似于[30]。在嵌入层中,我们将这些权重与嵌入相乘 √dmodel。
3.5 位置编码
由于我们的模型不包含循环和卷积,为了让模型利用序列的顺序信息,我们必须注入一些关于序列中标记的相对或绝对位置的信息。为此,我们在编码器和解码器堆栈的底层添加了“位置编码”到输入嵌入中。位置编码与嵌入具有相同的维度dmodel,以便可以将两者相加。关于位置编码有很多选择,可以是已学习的,也可以是固定的[9]。
在本研究中,我们采用了不同频率的正弦和余弦函数:
其中,pos表示位置,i表示维度。也就是说,位置编码的每个维度对应于一个正弦波。这些波的波长从2π到10000·2π,呈现出一个几何级数。我们之所以选择这个函数,是因为我们认为它有助于模型容易通过相对位置来学习关注,因为对于任意确定的偏移k,PE(pos+k)可以表示为PE(pos)的线性函数。
我们还尝试使用了学到的位置嵌入[9],并发现两个版本产生了几乎相同的结果(见表3(E)行)。我们选择了正弦版本,因为它可能使模型能够对训练时遇到的序列长度更长的情况进行外推。
4 为什么使用自注意力
在本节中,我们将比较自注意力层与常用的循环和卷积层的各个方面,这些方面通常用于将一个可变长度的符号表示序列(x1,...,xn)映射到另一个等长序列(z1,...,zn),这些序列由xi,zi ∈ Rd表示,例如典型的序列转导编码器或解码器中的隐藏层。促使我们使用自注意力的原因有三个期望目标。
首先是每层的总计算复杂度。其次是可并行计算的计算量,由所需的最小顺序操作数来衡量。
第三是网络中长程依赖之间的路径长度。学习长程依赖是许多序列转导任务中的一个关键挑战。影响学习此类依赖关系能力的一个关键因素是前向和反向传播信号必须在网络中传播的路径长度。输入和输出序列中任意组合位置之间的这些路径越短,学习长程依赖就越容易[12]。因此,我们还比较了由不同层类型组成的网络中任意两个输入和输出位置之间的最大路径长度。
如表1所示,自注意力层通过一定数量的顺序操作连接所有位置,而循环层需要执行O(n)个顺序操作。就计算复杂性而言,当序列长度n小于表示维度d时,自注意力层比循环层更快,而这是机器翻译中最先进模型使用的句子表示的常见情况,例如word-piece[38]和byte-pair[31]表示。为了提高处理非常长序列的任务的计算性能,自注意力可以限制为只考虑以输出位置为中心的输入序列中大小为r的邻域。这将使最大路径长度增加到O(n/r)。我们计划在未来的工作中进一步研究这种方法。
核宽度k < n的单个卷积层不会连接所有输入和输出位置对。要做到这一点,在连续核的情况下需要O(n/k)个卷积层堆栈,或在膨胀卷积的情况下需要O(logk(n))个卷积层堆栈[18],增加了网络中任何两个位置之间的最长路径的长度。卷积层通常比循环层的计算成本更高,其系数为k。然而,可分离卷积(separable convolution)[6]大大降低了计算复杂性,将其降至O(k·n·d + n·d2)。即使在k = n的情况下,可分离卷积的复杂度与自注意力层和逐点前馈层的组合相当,我们的模型采用的正是这种方法。
附带的好处是自注意力可以生成更具解释性的模型。我们对模型的注意力分布进行了详细分析,并在附录中提供了示例和讨论。每个注意力头不仅清楚地学会执行不同的任务,而且许多头似乎表现出与句子的句法和语义结构相关的行为。
5 训练
本节介绍我们模型的训练方法。
5.1 训练数据和批处理
我们使用标准的WMT 2014英德数据集进行了训练,其中包含约450万个句对。这些句子使用字节对编码[3]进行编码,并共享一个包含大约37000个标记的源-目标词汇表。对于英法翻译数据集,我们使用规模更大的WMT 2014英法数据集,其中包含约3600万个句子,并将标记分为一个包含32000个子词词汇的词汇表[38]。根据近似的序列长度对句对进行了批处理。每个训练批次包含一组句对,其中包含约25000个源标记和25000个目标标记。
5.2 硬件和训练计划
我们在一台具有8块NVIDIA P100 GPU的服务器上训练了我们的模型。对于使用本文中描述的超参数的基本模型,每个训练步骤的时间约为0.4秒。基本模型总共训练了10万个步骤,相当于12小时。对于大型模型(如表3中所述),每个训练步骤的时间为1.0秒。大型模型总共训练了30万个步骤,相当于3.5天的时间。
5.3 优化器(Optimizer)
我们使用了Adam优化器[20],其中β1 = 0.9,β2 = 0.98,ϵ = 10^-9。在训练过程中,我们使用以下公式来调整学习率:
这对应于在前 warmup_steps 个训练步骤中线性增加学习率,然后在之后的步骤中按照步数的倒数平方根比例逐渐减小学习率。我们设置了 warmup_steps = 4000。
5.4 正则化(Regularization)
在训练过程中,我们采用了三种类型的正则化:
残差丢弃(Residual Dropout):我们对每个子层的输出应用了丢弃技术[33],在将其添加到子层输入并进行标准化之前。此外,我们还在编码器和解码器堆栈中的嵌入和位置编码的和应用了丢弃技术。对于基础模型,我们使用Pdrop = 0.1的丢弃率。
标签平滑(Label Smoothing):在训练过程中,我们采用了标签平滑技术[36],其平滑值为ϵls = 0.1。这会增加困惑度(perplexity),因为模型变得更不确定,但会提高准确性和BLEU分数。
6 结果
6.1 机器翻译
在WMT 2014英德翻译任务中,我们的大型Transformer模型(表2中的Transformer(big))表现优异,其BLEU分数超过了以前报道的最佳模型(包括集成模型)2.0分以上,创造了新的BLEU分数最高记录,达到了28.4。该模型的配置列在表3的最后一行。训练过程使用了8块P100 GPU,耗时3.5天。即使我们的基础模型在训练成本远低于任何竞争性模型的情况下,也超越了以前发布的所有模型和集成模型。
在WMT 2014英法翻译任务中,我们的大型模型取得了BLEU分数41.0,超过了以往发布的所有单一模型,而训练成本不到以前最先进模型的四分之一。英法翻译的Transformer(big)模型使用了丢弃率Pdrop = 0.1,而非0.3。
对于基础模型,我们使用了通过对最后5个检查点进行平均获得的单一模型,这些检查点每隔10分钟写入一次。对于大型模型,我们对最后的20个检查点进行了平均。我们采用了集集束搜索(beam search)方法,集束大小为4,长度惩罚参数α = 0.6[38]。这些超参数是在开发集上经过实验选择的。在推理期间,我们将最大输出长度设置为输入长度+50,但尽可能提前终止[38]。
表2总结了我们的结果,并将我们的翻译质量和训练成本与文献中其它模型架构进行了比较。我们通过将训练时间、使用的GPU数量以及每个GPU的持续单精度浮点运算能力的估计值的乘积,来估算训练一个模型所需的浮点运算次数。
6.2 模型变种
为了评估Transformer不同组件的重要性,我们对基础模型进行了不同的变化,并在开发数据集(newstest2013)上测量其在英德翻译任务中性能的变化。我们使用了前文提到的集束搜索,但没有进行检查点平均处理。以下是表3中的结果。
在表3的(A)行,我们改变了注意力头的数量和注意力键和值的维度,同时保持计算量不变,如第3.2.2节所述。尽管单头注意力的表现比最佳设置差0.9 BLEU,而质量也会随着头数过多而下降。
在表3的(B)行,我们发现减小注意力键的维度dk会降低模型质量。这表明确保兼容性并不容易,而采用比点积注意力更复杂的兼容性函数可能会有所帮助。在(C)和(D)行,我们观察到更大的模型表现更好,而丢弃技术在避免过拟合方面非常有帮助。在(E)行中,我们用学到的位置嵌入替换了正弦位置编码,并观察到几乎与基础模型相同的结果。
6.3 英语成分句法分析
为了评估Transformer是否可以泛化到其它任务,我们进行了英语成分句法分析实验。这一任务有其特定的挑战:输出受到强烈的结构约束,并且其长度显著长于输入。此外,RNN序列到序列模型在小数据集下还未能达到最先进的结果[37]。
我们在Penn Treebank[25]的华尔街日报(WSJ)部分上训练了一个4层Transformer模型,其中dmodel = 1024,共有约4万个训练句子。此外,我们还在半监督设置下进行了训练,使用了更大的高置信度语料库和BerkleyParser语料库中的约1700万个句子。对于仅WSJ的设置,我们使用了1.6万个标记的词汇表,而对于半监督的设置,我们使用了3.2万个标记的词汇表。
我们仅进行了少量的实验来在开发数据集(Section 22)中选择丢弃率、注意力和残差(5.4节),以及学习速率和集束大小,所有其它参数均保持不变,与英德基础翻译模型一致。在推理阶段,我们将最大输出长度设置为输入长度+300。对于仅WSJ数据集和半监督的设置,我们使用了集束大小21和α = 0.3。
表4中的结果显示,尽管没有经过特定于任务的调优,我们的模型表现出乎意料的好。除了循环神经网络语法模型(Recurrent Neural Network Grammar)[8]外,其结果优于所有之前报告过的模型。
与RNN序列到序列模型[37]相比,即使只在4万个句子的WSJ训练集上训练,Transformer也在性能上超越了BerkleyParser[29]。
7 结论
在这项研究中,我们提出了Transformer,这是首个完全基于注意力机制的序列转导模型,用多头自注意力机制取代了编码器-解码器架构中最常用的循环层。
对于翻译任务,Transformer的训练速度明显快于基于循环或卷积层的架构。在WMT 2014英德翻译和WMT 2014英法翻译任务中,我们达到了新的最高水平。在前者的任务中,我们的最佳模型甚至超越了以前报告的所有集成模型。
我们对基于注意力的模型的未来感到兴奋,并计划将其应用于其它任务。我们计划将Transformer扩展到超出文本范畴的输入和输出模态的问题,同时研究局部和有限的注意力机制,以有效处理大型的输入和输出,如图像、音频和视频。降低生成过程对序列顺序的依赖性是我们的另一项研究目标。
我们的训练和评估模型的代码可在网上找到:https://github.com/tensorflow/tensor2tensor
References
[1] Jimmy Lei Ba, Jamie Ryan Kiros, and Geoffrey E Hinton. Layer normalization. arXiv preprint arXiv:1607.06450, 2016.
[2] Dzmitry Bahdanau, Kyunghyun Cho, and Yoshua Bengio. Neural machine translation by jointly learning to align and translate. CoRR, abs/1409.0473, 2014.
[3] Denny Britz, Anna Goldie, Minh-Thang Luong, and Quoc V. Le. Massive exploration of neural machine translation architectures. CoRR, abs/1703.03906, 2017.
[4] Jianpeng Cheng, Li Dong, and Mirella Lapata. Long short-term memory-networks for machine reading. arXiv preprint arXiv:1601.06733, 2016.
[5] Kyunghyun Cho, Bart van Merrienboer, Caglar Gulcehre, Fethi Bougares, Holger Schwenk, and Yoshua Bengio. Learning phrase representations using rnn encoder-decoder for statistical machine translation. CoRR, abs/1406.1078, 2014.
[6] Francois Chollet. Xception: Deep learning with depthwise separable convolutions. arXiv preprint arXiv:1610.02357, 2016.
[7] Junyoung Chung, Çaglar Gülçehre, Kyunghyun Cho, and Yoshua Bengio. Empirical evaluation of gated recurrent neural networks on sequence modeling. CoRR, abs/1412.3555, 2014.
[8] Chris Dyer, Adhiguna Kuncoro, Miguel Ballesteros, and Noah A. Smith. Recurrent neural network grammars. In Proc. of NAACL, 2016.
[9] Jonas Gehring, Michael Auli, David Grangier, Denis Yarats, and Yann N. Dauphin. Convolutional sequence to sequence learning. arXiv preprint arXiv:1705.03122v2, 2017.
[10] Alex Graves. Generating sequences with recurrent neural networks. arXiv preprint arXiv:1308.0850, 2013.
[11] Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Deep residual learning for image recognition. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 770–778, 2016.
[12] Sepp Hochreiter, Yoshua Bengio, Paolo Frasconi, and Jürgen Schmidhuber. Gradient flow in recurrent nets: the difficulty of learning long-term dependencies, 2001.
[13] Sepp Hochreiter and Jürgen Schmidhuber. Long short-term memory. Neural computation, 9(8):1735–1780, 1997.
[14] Zhongqiang Huang and Mary Harper. Self-training PCFG grammars with latent annotations across languages. In Proceedings of the 2009 Conference on Empirical Methods in Natural Language Processing, pages 832–841. ACL, August 2009.
[15] Rafal Jozefowicz, Oriol Vinyals, Mike Schuster, Noam Shazeer, and Yonghui Wu. Exploring the limits of language modeling. arXiv preprint arXiv:1602.02410, 2016.
[16] Łukasz Kaiser and Samy Bengio. Can active memory replace attention? In Advances in Neural Information Processing Systems, (NIPS), 2016.
[17] Łukasz Kaiser and Ilya Sutskever. Neural GPUs learn algorithms. In International Conference on Learning Representations (ICLR), 2016.
[18] Nal Kalchbrenner, Lasse Espeholt, Karen Simonyan, Aaron van den Oord, Alex Graves, and Koray Kavukcuoglu. Neural machine translation in linear time. arXiv preprint arXiv:1610.10099v2, 2017.
[19] Yoon Kim, Carl Denton, Luong Hoang, and Alexander M. Rush. Structured attention networks. In International Conference on Learning Representations, 2017.
[20] Diederik Kingma and Jimmy Ba. Adam: A method for stochastic optimization. In ICLR, 2015.
[21] Oleksii Kuchaiev and Boris Ginsburg. Factorization tricks for LSTM networks. arXiv preprint arXiv:1703.10722, 2017.
[22] Zhouhan Lin, Minwei Feng, Cicero Nogueira dos Santos, Mo Yu, Bing Xiang, Bowen Zhou, and Yoshua Bengio. A structured self-attentive sentence embedding. arXiv preprint arXiv:1703.03130, 2017.
[23] Minh-Thang Luong, Quoc V. Le, Ilya Sutskever, Oriol Vinyals, and Lukasz Kaiser. Multi-task sequence to sequence learning. arXiv preprint arXiv:1511.06114, 2015.
[24] Minh-Thang Luong, Hieu Pham, and Christopher D Manning. Effective approaches to attentionbased neural machine translation. arXiv preprint arXiv:1508.04025, 2015.
[25] Mitchell P Marcus, Mary Ann Marcinkiewicz, and Beatrice Santorini. Building a large annotated corpus of english: The penn treebank. Computational linguistics, 19(2):313–330, 1993.
[26] David McClosky, Eugene Charniak, and Mark Johnson. Effective self-training for parsing. In Proceedings of the Human Language Technology Conference of the NAACL, Main Conference, pages 152–159. ACL, June 2006.
[27] Ankur Parikh, Oscar Täckström, Dipanjan Das, and Jakob Uszkoreit. A decomposable attention model. In Empirical Methods in Natural Language Processing, 2016.
[28] Romain Paulus, Caiming Xiong, and Richard Socher. A deep reinforced model for abstractive summarization. arXiv preprint arXiv:1705.04304, 2017.
[29] Slav Petrov, Leon Barrett, Romain Thibaux, and Dan Klein. Learning accurate, compact, and interpretable tree annotation. In Proceedings of the 21st International Conference on Computational Linguistics and 44th Annual Meeting of the ACL, pages 433–440. ACL, July 2006.
[30] Ofir Press and Lior Wolf. Using the output embedding to improve language models. arXiv preprint arXiv:1608.05859, 2016.
[31] Rico Sennrich, Barry Haddow, and Alexandra Birch. Neural machine translation of rare words with subword units. arXiv preprint arXiv:1508.07909, 2015.
[32] Noam Shazeer, Azalia Mirhoseini, Krzysztof Maziarz, Andy Davis, Quoc Le, Geoffrey Hinton, and Jeff Dean. Outrageously large neural networks: The sparsely-gated mixture-of-experts layer. arXiv preprint arXiv:1701.06538, 2017.
[33] Nitish Srivastava, Geoffrey E Hinton, Alex Krizhevsky, Ilya Sutskever, and Ruslan Salakhutdinov. Dropout: a simple way to prevent neural networks from overfitting. Journal of Machine Learning Research, 15(1):1929–1958, 2014.
[34] Sainbayar Sukhbaatar, Arthur Szlam, Jason Weston, and Rob Fergus. End-to-end memory networks. In C. Cortes, N. D. Lawrence, D. D. Lee, M. Sugiyama, and R. Garnett, editors, Advances in Neural Information Processing Systems 28, pages 2440–2448. Curran Associates, Inc., 2015.
[35] Ilya Sutskever, Oriol Vinyals, and Quoc VV Le. Sequence to sequence learning with neural networks. In Advances in Neural Information Processing Systems, pages 3104–3112, 2014.
[36] Christian Szegedy, Vincent Vanhoucke, Sergey Ioffe, Jonathon Shlens, and Zbigniew Wojna. Rethinking the inception architecture for computer vision. CoRR, abs/1512.00567, 2015.
[37] Vinyals & Kaiser, Koo, Petrov, Sutskever, and Hinton. Grammar as a foreign language. In Advances in Neural Information Processing Systems, 2015.
[38] Yonghui Wu, Mike Schuster, Zhifeng Chen, Quoc V Le, Mohammad Norouzi, Wolfgang Macherey, Maxim Krikun, Yuan Cao, Qin Gao, Klaus Macherey, et al. Google’s neural machine translation system: Bridging the gap between human and machine translation. arXiv preprint arXiv:1609.08144, 2016.
[39] Jie Zhou, Ying Cao, Xuguang Wang, Peng Li, and Wei Xu. Deep recurrent models with fast-forward connections for neural machine translation. CoRR, abs/1606.04199, 2016.
[40] Muhua Zhu, Yue Zhang, Wenliang Chen, Min Zhang, and Jingbo Zhu. Fast and accurate shift-reduce constituent parsing. In Proceedings of the 51st Annual Meeting of the ACL (Volume 1: Long Papers), pages 434–443. ACL, August 2013. Attention Visualizations
---【本文完】---
近期受欢迎的文章:
我们正处于数十年未见之大机遇中
新技术爆发式发展,催生新产品
然而,颠覆式创新并非简单的技术堆叠
而是异常复杂的系统工程
需要深度洞察
欢迎一起分享思考和见解