论文:Attention Is All You Need
下载地址如下:
download: Transformer Attention Is All you need
Attention Is All You Need 中文
《Attention Is All You Need》是《Transformer》模型的开创性论文,提出了一种全新的基于注意力机制的架构,完全摆脱了传统的递归神经网络(RNN)和卷积神经网络(CNN)。
文章八位作者及分工
Jakob Uszkoreit∗ Google Research usz@google.com
Ashish Vaswani∗ Google Brain avaswani@google.com
Llion Jones∗ Google Research llion@google.com
Noam Shazeer∗ Google Brain noam@google.com
Niki Parmar∗ Google Research nikip@google.com
Aidan N. Gomez∗ † University of Toronto aidan@cs.toronto.edu
Łukasz Kaiser∗ Google Brain lukaszkaiser@google.com
Illia Polosukhin∗ ‡ illia.polosukhin@gmail.com
八位作者工作分工
1 Jakob proposed replacing RNNs with self-attention and started the effort to evaluate this idea.
Jakob 提出了用自注意力机制替代 RNN,并开始了评估这一想法的工作。
2 Ashish, with Illia, designed and implemented the first Transformer models and has been crucially involved in every aspect of this work.
Ashish 和 Illia 设计并实现了第一个 Transformer 模型,并在这项工作的各个方面发挥了至关重要的作用
3 Noam proposed scaled dot-product attention, multi-head attention and the parameter-free position representation and became the other person involved in nearly every detail.
Noam 提出了缩放点积注意力、多头注意力和无参数的位置表示,并成为几乎每个细节中的另一个重要参与者。
4 Niki designed, implemented, tuned and evaluated countless model variants in our original codebase and tensor2tensor.
Niki 设计、实现、调优并评估了我们原始代码库和 tensor2tensor 中无数的模型变体。
5 Llion also experimented with novel model variants, was responsible for our initial codebase, and efficient inference and visualizations.
Llion 也进行了新型模型变体的实验,负责我们的初始代码库,并优化了推理效率和可视化工作。
6 Lukasz and Aidan spent countless long days designing various parts of and implementing tensor2tensor, replacing our earlier codebase, greatly improving results and massively accelerating our research.
Lukasz 和 Aidan 花费了无数个漫长的日子设计和实现了 tensor2tensor,取代了我们早期的代码库,大大提升了结果并极大加速了我们的研究。
摘要
当前主流的序列转换模型(sequence transduction models)基于复杂的递归神经网络(RNNs: recurrent neural networks)或卷积神经网络(CNNs: convolutional neural networks),这些模型包括编码器(encoder)和解码器(decoder)。表现最好的模型通常通过注意力(attention)机制将编码器和解码器连接起来。我们提出了一种新的简单网络架构——Transformer,完全基于注意力机制,完全舍弃了递归和卷积结构。我们在两个机器翻译任务上的实验表明,这种模型在质量上优于现有模型,同时具有更好的并行化能力,且训练所需的时间大大减少。我们的模型在WMT 2014英德翻译任务中达到了28.4的BLEU分数,比现有的最佳结果(包括集成模型)提高了2分以上。在WMT 2014英法翻译任务中,我们的模型在8个GPU上训练了3.5天,达到了41.8的BLEU分数,成为新的单模型状态最优分数,相比文献中的最佳模型,训练成本仅为其一小部分。我们还展示了Transformer在其他任务上的良好泛化能力,成功应用于英语句法分析任务,且能够在大量和有限的训练数据上都表现出色。
1. 引言
递归神经网络(RNN:Recurrent neural networks)、长短时记忆网络(LSTM:long short-term memory)[13]和门控递归神经网络(GRU:gated recurrent neural networks)[7],特别是在序列建模和转换问题(如语言建模和机器翻译)[35, 2, 5]中,已被稳固地确立为最先进的技术。自那时以来,许多研究持续推动递归语言模型和编码器-解码器架构的边界[38, 24, 15]。
递归模型通常沿着输入和输出序列的符号位置来进行计算。在计算时间的步骤对齐时,它们会生成一系列隐状,其值由先前的隐状态
和位置 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]。
端到端记忆网络(End-to-end memory networks)基于一种递归注意力机制,而不是顺序对齐的递归,并且在简单语言的问答和语言建模任务中表现良好[34]。
然而,尽我们所知,Transformer是第一个完全依赖自注意力来计算输入和输出表示的转换模型,它没有使用顺序对齐的RNN或卷积。在接下来的部分中,我们将描述Transformer,阐明自注意力的动机,并讨论它相对于如[17, 18]和[9]等模型的优势。
3. 模型架构
大多数竞争性的神经序列转导模型都具有编码器-解码器结构[5, 2, 35]。在这些模型中,编码器将输入符号表示序列(x1, ..., xn)映射到一个连续表示序列 z = (z1, ..., zn)。给定 z 后,解码器随后逐个生成输出符号序列(y1, ..., ym)。在每个步骤中,模型是自回归的[10],即在生成下一个符号时,它会将之前生成的符号作为额外输入。
Figure1: The Transformer - model architecture
Transformer 模型遵循这种整体架构,使用堆叠的自注意力机制和逐点全连接层构建编码器和解码器,分别展示在图 1 的左半部分和右半部分。
3.1 编码器和解码器堆栈
编码器:编码器由 N = 6 个相同的层堆叠而成。每一层有两个子层。第一个是多头自注意力机制,第二个是一个简单的逐位置全连接前馈网络。我们在每个子层周围使用残差连接 [11],然后进行层归一化 [1]。即,每个子层的输出为 LayerNorm(x + Sublayer(x)),其中 Sublayer(x) 是子层本身实现的函数。为了便于这些残差连接,模型中的所有子层以及嵌入层都产生维度为 dmodel = 512 的输出。
解码器:解码器同样由 N = 6 个相同的层堆叠而成。除了每个编码器层中的两个子层外,解码器还增加了第三个子层,该子层对编码器堆栈的输出执行多头注意力。与编码器类似,我们在每个子层周围使用残差连接,并进行层归一化。我们还修改了解码器堆栈中的自注意力子层,以防止某一位置对后续位置进行注意。这种掩蔽机制,加上输出嵌入的偏移位置,确保位置 i 的预测只能依赖于小于 i 的已知输出。
3.2 注意力机制
注意力函数可以描述为将一个查询和一组键值对映射到一个输出,其中查询、键、值和输出都是向量。输出是通过对值进行加权求和计算得到的,其中每个值的权重是通过查询与对应键的兼容性函数计算出来的。
图2:
(左) 缩放点积注意力 (Scaled Dot-Product Attention)。
(右) 多头注意力 (Multi-Head Attention) 由多个并行运行的注意力层组成。
3.2.1 缩放点积注意力 (Scaled Dot-Product Attention)
我们称我们的注意力机制为“缩放点积注意力”(见图2)。输入包括查询(query)和键(key),它们的维度是 ,值(value)的维度是。我们计算查询与所有键的点积,并将每个点积除以
,然后应用 softmax 函数以获得值的权重。
在实际操作中,我们通常会同时对一组查询进行计算,这些查询被打包成一个矩阵 Q。键和值也被打包成矩阵 K 和 V。我们将输出矩阵计算为:
最常用的两种注意力机制是加性注意力(additive attention)和点积(乘性)注意力(dot-product attention)。点积注意力与我们的算法相同,唯一的区别是存在一个缩放因子√dₖ。加性注意力通过一个前馈神经网络计算兼容性函数,该网络具有一个隐藏层。尽管这两者在理论复杂度上相似,但在实际应用中,点积注意力要快得多且更加节省空间,因为它可以通过高度优化的矩阵乘法代码来实现。
对于较小的 dₖ 值,两个机制的表现相似,但在较大的 dₖ 值时,加性注意力优于没有缩放的点积注意力[3]。我们推测,对于较大的 dₖ 值,点积的值会变得很大,从而使得 softmax 函数进入梯度极小的区域。为了解决这一问题,我们将点积缩放了一个 √dₖ 的因子。
3.2.2 多头注意力 (Multi-Head Attention)
我们发现,与使用 dₘₒdₑₗ 维度的键、值和查询执行单一的注意力函数相比,将查询、键和值分别通过不同的学习型线性投影进行线性映射 h 次到 dₖ、dₖ 和 dᵥ 的维度更为有利。在这些经过投影的查询、键和值的每个版本上,我们并行执行注意力函数,得到 dᵥ 维度的输出值。这些输出值被拼接起来,再次通过线性投影,最终得到结果,如图 2 所示。
多头注意力使得模型能够在不同的位置联合关注来自不同表示子空间的信息。使用单一注意力头时,平均操作会抑制这一点。
MultiHead(Q, K, V) = Concat(head₁, ..., headₕ)Wₒ,
其中 headᵢ = Attention(QWᵢQ, KWᵢK, VWᵢV)
其中,投影是参数矩阵 WᵢQ ∈ ℝⁿdₘₒdₑₗ × dₖ,WᵢK ∈ ℝⁿdₘₒdₑₗ × dₖ,WᵢV ∈ ℝⁿdₘₒdₑₗ × dᵥ,以及 Wₒ ∈ ℝʰdᵥ × dₘₒdₑₗ。
在本研究中,我们使用 h = 8 个并行注意力层(或称头)。对于每个头,我们使用 dk = dv = dmodel/h = 64。由于每个头的维度减少,整体计算成本与使用单一注意力头且维度完整时相似。
3.2.3 注意力在我们模型中的应用
Transformer 使用多头注意力机制的三种不同方式:
- “编码器-解码器注意力”层:在这种层中,查询来自前一层的解码器,而内存的键(keys)和值(values)来自编码器的输出。这样,解码器中的每个位置都可以对输入序列中的所有位置进行关注。这种机制模拟了序列到序列模型(如[38, 2, 9])中的典型编码器-解码器注意力机制。
- 编码器中的自注意力层:在自注意力层中,所有的键(keys)、值(values)和查询(queries)都来自同一个地方,这里是前一层的编码器输出。编码器中的每个位置都可以对前一层的所有位置进行关注。
- 解码器中的自注意力层:类似地,解码器中的自注意力层允许解码器中的每个位置对该位置及之前的所有位置进行关注。为了保持自回归(auto-regressive)特性,我们需要防止解码器中向左的信息流。我们通过在缩放点积注意力中进行掩码(即将所有非法连接的输入值设置为 −∞)来实现这一点。参见图2。
3.3 位置-wise 前馈网络
除了注意力子层,我们的编码器和解码器中的每一层还包含一个完全连接的前馈网络,该网络独立且相同地应用于每个位置。这个前馈网络由两个线性变换组成,中间夹着一个ReLU激活函数。
FFN(x) = max(0, xW₁ + b₁)W₂ + b₂ (公式 2)
虽然不同位置的线性变换是相同的,但它们在每一层中使用不同的参数。另一种描述方式是将其看作是两个卷积,卷积核大小为1。输入和输出的维度为 dmodel = 512,内部层的维度为 dff = 2048。
3.4 嵌入和 Softmax
3.4 嵌入和Softmax
与其他序列转导模型类似,我们使用学习到的嵌入(embeddings)将输入和输出的令牌转换为维度为 dmodeld_{\text{model}}dmodel 的向量。我们还使用常见的学习线性变换和Softmax函数将解码器的输出转换为预测的下一个令牌的概率。在我们的模型中,我们在两个嵌入层和预Softmax线性变换之间共享相同的权重矩阵,类似于 [30] 的做法。在嵌入层中,我们将这些权重乘以 dmodel\sqrt{d_{\text{model}}}dmodel。
表1: 不同层类型的最大路径长度、每层复杂度和最小顺序操作数。n 是序列长度,d 是表示维度,k 是卷积的核大小,r 是限制自注意力中的邻域大小。
3.5 位置信息编码
3.5 位置编码
由于我们的模型不包含递归和卷积,因此,为了使模型能够利用序列的顺序信息,我们必须注入一些关于令牌在序列中相对或绝对位置的信息。为此,我们在编码器和解码器堆栈的输入嵌入底部添加了“位置编码”。位置编码的维度与嵌入的维度 dmodeld_{\text{model}}dmodel 相同,以便这两者可以相加。位置编码有许多选择,包括学习型和固定型 [9]。
在本研究中,我们使用了不同频率的正弦和余弦函数:
其中,pos 是位置,i 是维度。也就是说,位置编码的每个维度对应一个正弦波。波长从 2π 到 10000⋅2π1 形成一个几何级数。我们选择这个函数是因为我们假设它能让模型轻松学会通过相对位置进行注意力计算,因为对于任何固定偏移量 k,PEpos+k 可以表示为 PEpos的线性函数。
我们还尝试使用学习型位置嵌入 [9],并发现这两种版本的结果几乎相同(见表3,第(E)行)。我们选择了正弦波版本,因为它可能使模型能够推断出训练过程中未遇到的更长序列的长度。
4 为什么选择自注意力
在这一部分,我们将自注意力层与常用于将一个变长符号序列(x₁, ..., xₙ)映射到另一个等长序列(z₁, ..., zₙ)的循环层和卷积层进行比较,这些符号表示通常是机器翻译中的隐层表示,且 xi 和 zi 都属于 d 维空间。为了激励我们使用自注意力,我们考虑三个标准。
一个是计算复杂度。自注意力的计算复杂度是每个位置之间进行常数时间的操作,而循环神经网络层需要 O(n) 次顺序操作。在计算复杂度方面,当序列长度较长时,自注意力层比循环层要更快。
另一个是可并行化的计算量。自注意力层的操作可以被完全并行化,而循环层需要逐步执行。因此,自注意力层可以显著加速训练,尤其是在更长序列的情况下。
第三个是长程依赖的路径长度。在许多序列转换任务中,学习长程依赖是一个关键的挑战。影响学习长程依赖能力的一个关键因素是前后信号在网络中需要传递的路径长度。路径越短,学习长程依赖就越容易。因此,我们也比较了不同层类型的网络中,任意输入位置与输出位置之间的最大路径长度。
如表1所示,自注意力层通过常数次数的顺序操作连接所有位置,而循环层则需要 O(n) 次顺序操作。就计算复杂度而言,当序列长度较长时,自注意力层比循环层更为高效。
对于非常长的序列,自注意力可以通过限制只关注序列中的一个邻域(大小为 r)来提高计算性能,这样最大路径长度可以增至 O(n/r)。我们计划在未来的研究中进一步探讨这种方法。
卷积层:一个卷积层(kernel width k < n)并不能连接所有输入和输出位置对。要做到这一点,需要堆叠 O(n/k) 个卷积层(对于连续卷积核)或者 O(logk(n)) 个卷积层(对于膨胀卷积)来增加任意两位置之间的最长路径长度。卷积层的计算复杂度通常比循环层高,增加的因素是 k。然而,
可分离卷积(Separable convolutions)显著降低了复杂度,达到了 O(k · n · d + n · d²),即使 k = n,可分离卷积的复杂度也与我们模型中自注意力层和逐点前馈层的组合相等。
解释性:作为附加好处,自注意力可能会产生更具可解释性的模型。我们检查了模型的注意力分布,并在附录中展示并讨论了一些例子。个别的注意力头显然学会了执行不同的任务,许多注意力头似乎与句子的句法和语义结构相关。
综上所述,我们比较了不同层类型的网络中的总计算复杂度、可并行化的计算量以及长程依赖的路径长度等因素。在这些方面,自注意力层都表现得更好,尤其是在需要长程依赖学习的任务中。
5 训练
本节描述了我们模型的训练策略。
5.1 训练数据与批量处理
我们使用了标准的WMT 2014英语-德语数据集进行训练,数据集包含约450万对句子。句子使用字节对编码(Byte Pair Encoding, BPE)[3]进行编码,源语言和目标语言共享约37,000个词汇。对于英语-法语任务,我们使用了规模更大的WMT 2014英语-法语数据集,包含3,600万句子,并将词汇分割成一个包含32,000个词的WordPiece词汇表[38]。句子对按大致的序列长度进行批量处理,每个训练批次包含大约25,000个源语言标记和25,000个目标语言标记。
5.2 硬件与训练时间
我们在一台配备8个NVIDIA P100 GPU的机器上训练了我们的模型。对于本文中描述的基础模型,每个训练步骤大约需要0.4秒。我们将基础模型训练了100,000步,约为12小时。对于更大的模型(见表3底部行),每步训练时间为1.0秒,训练了300,000步(3.5天)。
5.3 优化器
我们使用了Adam优化器[20],设置为β₁ = 0.9,β₂ = 0.98,ε = 10⁻⁹。我们在训练过程中根据以下公式调整学习率:
该公式表示,在前 warmup_steps
步中,学习率线性增长,之后学习率按照步数的平方根倒数递减。我们设置了 warmup_steps = 4000
。
5.4 正则化
我们在训练过程中使用了三种类型的正则化:
表2:Transformer在英语-德语和英语-法语的newstest2014测试中,BLEU得分优于之前的最先进模型,并且训练成本大大降低。
残差连接丢弃(Residual Dropout):我们在每个子层的输出上应用了dropout[33],在其加到子层输入并进行归一化之前。此外,我们还在编码器和解码器栈中嵌入和位置编码的和上应用dropout。在基础模型中,我们使用丢弃率 Pdrop=0.1
标签平滑(Label Smoothing):在训练过程中,我们应用了标签平滑,平滑值为 ϵls=0.1\epsilon_{ls} = 0.1ϵls=0.1 [36]。这会增加困惑度,因为模型学会变得不那么确定,但能够提高准确度和BLEU得分。
6 结果
6.1 机器翻译
在WMT 2014英语到德语的翻译任务中,大Transformer模型(表2中的"Transformer (big)")在BLEU得分上超过了此前报告的所有最优模型(包括集成模型),领先超过2.0 BLEU,达到了28.4的最新最优得分。该模型的配置列在表3的最后一行。训练使用了8个P100 GPU,花费了3.5天的时间。即使是我们的基础模型,也超过了所有此前发布的模型和集成模型,且训练成本远低于任何竞争性模型。
在WMT 2014英语到法语的翻译任务中,我们的大模型达到了41.0的BLEU得分,超越了所有此前发布的单一模型,且训练成本不到之前最优模型的四分之一。针对英语到法语的Transformer (big)模型,使用了丢弃率Pdrop=0.1P_{drop} = 0.1Pdrop=0.1,而不是0.3。
对于基础模型,我们使用了一个单独的模型,该模型通过对最后5个检查点的平均获得,这些检查点每10分钟保存一次。对于大模型,我们平均了最后20个检查点。我们采用了束搜索(beam search),束宽为4,长度惩罚 α=0.6\alpha = 0.6α=0.6 [38]。这些超参数是在开发集上实验后选定的。在推理过程中,我们将最大输出长度设置为输入长度+50,但在可能的情况下提前终止 [38]。
表2总结了我们的结果,并将我们的翻译质量与训练成本与文献中的其他模型架构进行了对比。我们通过将训练时间、使用的GPU数量与每个GPU的持续单精度浮点能力估算相乘,来估算训练一个模型所需的浮点运算次数。
6.2 模型变种
为了评估Transformer各个组件的重要性,我们对基础模型进行了不同方式的变动,并衡量了其在英语到德语翻译任务上的性能变化。我们使用了前文提到的束搜索(beam search)方法,但未进行检查点平均(checkpoint averaging)。这些结果见表3。
在表3的(A)行中,我们变动了注意力头的数量和注意力键值的维度,同时保持计算量不变,具体方法参见3.2.2节。尽管单头注意力的BLEU得分比最佳配置低了0.9分,但过多的头数也会导致质量下降。
在表3的(B)行中,我们观察到减少注意力键值维度 dkd_kdk 会降低模型的质量。这表明,确定兼容性并不容易,可能需要比点积(dot product)更为复杂的兼容性函数。
在表3的(C)和(D)行中,我们进一步发现,正如预期的那样,模型越大,性能越好;而且dropout在避免过拟合方面非常有效。
在表3的(E)行中,我们将基于正弦波的位置信息编码(sinusoidal positional encoding)替换为学习的位置信息嵌入(learned positional embeddings),并观察到与基础模型几乎相同的结果。
6.3 英语句法分析
为了评估 Transformer 是否能够推广到其他任务,我们在英语成分句法分析任务上进行了实验。这个任务有其特定的挑战:输出受到强烈的结构约束,并且显著长于输入。此外,RNN 序列到序列模型在小数据集上的表现未能达到最先进的结果 [37]。
我们在 Penn Treebank 的《华尔街日报》(WSJ)部分上训练了一个 4 层的 Transformer,dmodel = 1024,训练数据约为 4 万个句子。我们还在半监督设置下进行训练,使用了更大规模的高置信度和 BerkleyParser 语料库,包含约 1700 万个句子 [37]。对于仅使用 WSJ 的设置,我们使用了 16K 的词汇表;对于半监督设置,词汇表为 32K。
我们只进行了一小部分实验,用于选择在第 22 节开发集上的 dropout(包括注意力和残差 dropout)、学习率和束搜索大小,其他参数与英语到德语的基础翻译模型保持不变。在推理阶段,我们将最大输出长度增加到输入长度 + 300。在 WSJ 仅和半监督设置下,我们都使用了束搜索大小 21 和 α = 0.3。
我们在表 4 中的结果显示,尽管没有进行任务特定的调优,我们的模型表现出乎意料的好,除 Recurrent Neural Network Grammar [8] 外,取得了比所有先前报告的模型更好的结果。
与 RNN 序列到序列模型 [37] 相比,即使仅在 4 万个句子的 WSJ 训练集上训练,Transformer 的表现也优于 BerkeleyParser [29]。
7 结论
在这项工作中,我们提出了 Transformer,这是第一个完全基于注意力机制的序列转换模型,取代了编码器-解码器架构中常用的递归层,采用了多头自注意力机制。
对于翻译任务,Transformer 可以比基于递归或卷积层的架构训练得更快。在 WMT 2014 英语到德语 和 WMT 2014 英语到法语 的翻译任务中,我们取得了新的最优性能。在前者任务中,我们的最佳模型甚至超越了所有之前报告的模型集成(ensemble)。
我们对基于注意力机制的模型的未来感到兴奋,并计划将其应用于其他任务。我们打算将 Transformer 扩展到处理除文本以外的输入输出模态,并探索局部限制注意力机制,以高效处理大规模的输入输出,如图像、音频和视频。使生成过程更少依赖序列化是我们未来的研究目标之一。
我们用于训练和评估模型的代码可在 GitHub 上获取。
旧地址: https://github.com/tensorflow/tensor2tensor
推荐地址: https://github.com/google/trax
致谢
我们感谢 Nal Kalchbrenner 和 Stephan Gouws 对我们工作提出的宝贵意见、修正和启发。
参考(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. Convolu- tional 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 im- age 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 Ko- ray 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 attention- based neural machine translation. arXiv preprint arXiv:1508.04025, 2015.
11
[25] MitchellPMarcus,MaryAnnMarcinkiewicz,andBeatriceSantorini.Buildingalargeannotated 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 Salakhutdi- nov. 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.