irpas技术客

必读论文(1)——Attention Is All You Need_AcceptGo_早期attention 必读论文

未知 5387

文章目录 Abstract1 Introduction2 Background3 Model Architecture3.1 Encoder and Decoder Stacks3.2 Attention3.2.1 Scaled Dot-Product Attention(缩放的点积注意力)3.2.2 Multi-Head Attention3.2.3 Applications of Attention in our Model 3.3 Position-wise Feed-Forward Networks(基于位置的前馈神经网络)3.4 Embeddings and Softmax3.5 Positional Encoding(位置编码) 4. Why Self-Attention5. Training5.1 Training Data and Batching5.2 Hardware and Schedule5.3 Optimizer(优化器)5.4 Regularization(正则化) 6. Results6.1 Machine Translation6.2 Model Variations(模型变体) 7.ConclusionReferences

Abstract

????主流的序列转换模型都是基于复杂的循环神经网络或卷积神经网络,且都包含一个encoder 和decoder。性能最好的模型通过attention机制连接起encoder和decoder(问题是什么)。 ????本文提出一个新的简单网络结构Transformer,完全基于attention机制,完全避免使用recurrence(循环)和convolutions(卷积)(本文做了什么)。 ???? 在两个机器翻译任务的实验中,模型有更好的质量,同时更具并行性、训练时间更短。(大概怎么做的) ???? 模型在WMT2014 English-to-German的翻译任务中,取得了28.4的BLEU评分,比现有最佳结果提升了 2 BLEU;在WMT 2014 English-to-French翻译任务中,在八个GPU上训练3.5天后,模型创造了新的单模型 SOTA,其BLEU得分为41.0。(做的效果很不错)

1 Introduction

????RNN、LSTM1、GRU2在序列建模和转换问题(尤其是语言建模和机器翻译)被认为是取得SOTA的方法。自此,无数的努力继续推动循环语言模型和encoder-decoder架构的界限。(简述前人工作)

????递归模型通常沿着输入和输出序列的符号位置进行factor computation(因子计算)。 对齐计算时间步位置,生成一个隐藏状态序列 h t h_t ht? ,作为前一个隐藏状态 h t ? 1 h_{t-1} ht?1?和当前位置 t t t的一个函数。这种固有顺序性阻碍了训练样本的并行化,在序列较长时,这个问题变得更加严重,因为内存约束限制了跨样本的批处理。最近的工作通过factorization tricks (因子分解技巧)3和conditional computation (条件计算)4在计算效率上取得显著提高,同时也提高了后者的模型性能。然而,sequential computaion(顺序计算)的基本约束仍然存在。(说明问题是什么)

????注意力机制已经成为各种序列模型和转换模型中的重要组成部分,它允许对依赖关系建模,而不考虑它们在输入或输出序列中的距离。但除少数情况下,attention 机制 通常与循环网络结合使用。

????在本文中,我们提出了Transformer,这是一种避免使用循环的模型架构,完全依赖于注意力机制描绘输入和输出间的全局依赖。Transformer更好支持并行化计算,使用8个P100 GPU训练12小时,在翻译质量上就可以达到一个新的SOTA。(本文所做的工作)

2 Background

????减少序列计算的目标也形成了Extended Neural GPU5、ByteNet6、ConvS2S7的基础,这些网络都是使用卷积神经网络作为基础模块,并行计算所有输入和输出位置的隐藏表示。在这些模型中,将来自两个任意输入或输出位置的信号关联起来所需的操作数,随位置间的距离而增长,其中,ConvS2S为线性增长,ByteNet为对数增长。 这使得学习远距离之间的依赖性变得更加困难。在Transformer中,操作数量减少到一个常数,虽然代价是由于平均 注意力加权位置信息降低了有效分辨率,但用多头注意力可将其抵消,见3.2。

????Self-attention,也叫做内部注意力,是一种注意力机制,其将一个序列的不同位置联系起来,以计算该序列的表示。Self-attention已经成功运用到了很多任务上,包括阅读理解、抽象摘要、语篇蕴涵和学习任务无关的句子表征等8,9,10,11。

????已经证明,端到端记忆网络使用循环attention机制替代sequence-aligned(序列对齐)的循环,可以在简单语言问答和语言建模任务中有更好表现。

????但据我们所知,Transformer是第一个完全依赖于Self-attention来计算其输入和输出表示而不使用序列对齐的RNN或卷积的transduction model(转换模型),下面章节中,将描述Transformer、motivate self-attention,并讨论它相对于12,6,7等模型的优势。

3 Model Architecture

? ? ? 大多数神经序列转换模型都有encoder-decoder结构,encoder将符号表示的输入序列 ( x 1 , x 2 , . . . , x n ) (x_1,x_2,...,x_n) (x1?,x2?,...,xn?)映射为连续的表示序列 z = ( z 1 , z 2 , . . . , z n ) z=(z_1,z_2,...,z_n) z=(z1?,z2?,...,zn?) 。给定 z z z,decoder以一次一个字符的方式生成输出序列 ( y 1 , y 2 , . . . , y n ) (y_1,y_2,...,y_n) (y1?,y2?,...,yn?)。每一步,模型都是自回归的13,在生成下一个字符时,将先前生成的符号作为附加输入。 ? ? ? Transformer遵循使用如下整体架构,使用stacked self-attention、point-wise和全连接层,用于encoder和decoder。

Figure1:Transformer model 架构 3.1 Encoder and Decoder Stacks

? ? ? Encoder由N=6个相同的层堆叠组成,每层含有两个子层。第一层是multi-head self-attention(多头自注意力)机制层;第二层是简单、位置全连接前馈神经网络层。在这两个子层的每一层之后使用residual connection(残差连接)14 ,然后是layer normalization(层归一化)15 。每个子层的输出都是 L a y e r N o r m ( x + S u b l a y e r ( x ) ) LayerNorm(x+Sublayer(x)) LayerNorm(x+Sublayer(x)),其中 S u b l a y e r ( s ) Sublayer(s) Sublayer(s)是子层自身实现的函数。为方便残差连接,模型中的所有sub-layers和embedding layers的输出维度均为 d m o d e l = 512 d_{model}=512 dmodel?=512。

? ? ? Decoder也由N=6个相同的层堆叠组成,每个decoder层除了两个子层外,还有另一个子层,该层对encoder stack(编码堆栈)的输出执行multi-head attention操作。同encoder一样,每个子层后使用残差连接,然后是层归一化。我们修改了decoder stack的self-attention子层,防止当前位置信息中被添加进后续的位置信息。这种掩码与偏移一个位置的输出embedding相结合, 确保对第 i i i个位置的预测只能依赖于位置小于 i i i的已知输出。

3.2 Attention

attention 函数可以描述为一个query和一组key-value对,映射到一个输出,其中query、keys、values和输出均为向量。输出作为vlaues的加权和,其中每个value的权重 通过query与相应key的compatibility function兼容函数来计算。

3.2.1 Scaled Dot-Product Attention(缩放的点积注意力)

??? 将这种特殊的attention称为Scaled Dot-Product Attention ,见Figure 2。输入由query、 d k d_k dk?维度的 keys、 d v d_v dv?维度的values。用所有的keys计算query的点积,再除以 d k \sqrt{d_k} dk? ?k?QKT?V(1) additive attention和dot-product attention 是最常用的两个注意力函数。Additive attention使用一个具有单隐层前馈神经网络来计算compatibility function(兼容性函数)。理论复杂度上两者相似,但实际中,dot-product attention更快更高效,这是因为它可以使用高度优化的矩阵乘法来实现。 当 d k d_k dk?的值较小时,两种方法性能相近;对于较大的 d k d_k dk?值,additive attention表现优于dot product attention。我们认为 d k d_k dk?值越大,点积增长速度越快,将softmax函数推向梯度极小的区域。为抵消这种影响,通过 1 d k \frac{1}{\sqrt d_k} d ?k?1? scale(缩减)点积。

3.2.2 Multi-Head Attention

相比于使用 d m o d e l d_{model} dmodel?维的keys、values、queries执行一个attention函数,我们发现使用不同的、学习到的线性映射把queries、keys、values映射到 d q , d k , d v d_q,d_k,d_v dq?,dk?,dv?维度 h h h次是有益的。在queries、keys、values的映射版本上,并行执行attention函数,生成 d v d_v dv? 维输出值。这些数据拼接起来,并再次投影,得到最终输出值,如Figure 2。

??? Multi-head attention 允许模型把不同位置不同子序列的表示整合到一个信息中。因为只有一个attention head(注意力头),平均化会削弱这个信息。 M u l t i H e a d ( Q , K , V ) = C o n c a t ( h e a d 1 , h e a d 2 , . . . , h e a d h ) W O w h e r e h e a d i = A t t e n t i o n ( Q W i Q , K W i K , V W i V ) MultiHead(Q,K,V)=Concat(head_1,head_2,...,head_h) W^O \\ where head_i=Attention(QW_i^Q ,KW_i^K,VW_i ^V) MultiHead(Q,K,V)=Concat(head1?,head2?,...,headh?)WOwhereheadi?=Attention(QWiQ?,KWiK?,VWiV?)

???其中, W i Q ∈ R d m o d e l × d k , W i K ∈ R d m o d e l × d k , W i V ∈ R d m o d e l × d k 和 W O ∈ R h d v × d m o d e l W_i^Q \in R^{d_{model} \times d_k},W_i^K \in R^{d_{model} \times d_k},W_i^V \in R^{d_{model} \times d_k}和W^O \in R^{h d_v \times d_{model}} WiQ?∈Rdmodel?×dk?,WiK?∈Rdmodel?×dk?,WiV?∈Rdmodel?×dk?和WO∈Rhdv?×dmodel?

??? 在该项工作中,我们采用h=8个并行attention layers或heads。对其中的每个head,设置为 d k = d v = d m o d e l / h = 64 d_k=d_v=d_{model}/h=64 dk?=dv?=dmodel?/h=64,由于每个head尺寸的减小,总的计算成本与具有全部维度的single-head attention (单头注意力机制)相似。

3.2.3 Applications of Attention in our Model

Transformer 以三种不同的方式使用多头注意力机制:

在encoder-decoder attention层,queries来自前面的decoder层,keys和values来自decoder的输出。这使得decoder中的每个位置都能关注到输入序列中的每个位置。这是模仿序列到序列模型中典型的encoder-decoder attention机制,比如16,17 。encoder 包含self-attention层。在一个self-attention层,所有的keys、values、queries来自同一个地方,在这里就是encoder前一层的输出。encoder的每个位置都可以关注到encoder前一层的所有位置。类似,decoder中的self-attention允许decoder的每个位置关注decoder中的所有位置(当前位置前),直到包括当前位置。为了保持自回归特性,我们需要防止decoder中的信息向左流动。在scaled dot-product attention中,通过屏蔽softmax输入中所有非法连接值(设置为 ? ∞ -\infin ?∞)实现了这一点。 3.3 Position-wise Feed-Forward Networks(基于位置的前馈神经网络)

??? 除了attention子层,在encoder 和decoder的每个层中还包含有全连接前馈网络,其单独应用在每一个位置。这包括两个线性变换,中间是一个ReLU激活。 F F N ( x ) = m a x ( 0 , x W 1 + b 1 ) W 2 + b 2 ( 2 ) FFN(x)=max(0,xW_1+b_1) W_2 +b_2 \quad\quad\quad\quad\quad (2) FFN(x)=max(0,xW1?+b1?)W2?+b2?(2) 尽管线性变换在不同位置上是相同的,但它们在层与层之间使用不同的参数。另一种描述方式是kernel size=1的两个卷积。输入和输出的维度均是 d m o d e l = 512 d_{model}=512 dmodel?=512,inner-layer维度是 d f f = 2048 d_{ff}=2048 dff?=2048。

3.4 Embeddings and Softmax

和其他序列转换模型一样,我们用学习到的embeddings把input tokens(输入词条)和output tokens(输出词条)转换为 d m o d e l d_{model} dmodel? 维的向量。还使用普通的线性变换和softmax函数把decoder输出转换为预测next-token(下一个词条)的概率。在我们的模型中,在两个embedding layers(嵌入层)和pre-softmax线性变换之间共享相同的权重矩阵,类似于[18] 。在embedding layers中,将这些权重乘以 d m o d e l \sqrt d_{model} d ?model?

3.5 Positional Encoding(位置编码)

因为我们的模型不包含recurrence 和 convolution,为让模型利用序列的顺序,我们必须inject(注入)序列中关于tokens(词条)相对或绝对位置的一些信息。对此,我们在encoder and decoder stacks底部input embedding(输入嵌入)中添加positional encoding(位置编码)。positional encodings和embeddings有同样的维度 d m o d e l d_{model} dmodel?,以至于可以求和。有多种位置编码可供选择,例如有学习到的位置编码和固定的位置编码[7] 。 在本文中,使用不同频率的正弦和余弦函数: P E ( p o s , 2 i ) = s i n ( p o s / 1000 0 2 i / d m o d e l ) P E ( p o s , 2 i + 1 ) = c o s ( p o s / 1000 0 2 i / d m o d e l ) PE_{(pos,2i)}=sin(pos/10000^{2i/d_{model}}) \\ PE_{(pos,2i+1)}=cos(pos/10000^{2i/d_{model}}) PE(pos,2i)?=sin(pos/100002i/dmodel?)PE(pos,2i+1)?=cos(pos/100002i/dmodel?) 其中,pos是位置,i是维度。也就是说位positional encoding的每个维度对应一个正弦曲线。波长形成了从2π到10000·2π的几何数列。之所以选择这个函数,是因为假设它可以让模型很容易地通过相对位置来学习,因为对任意固定的偏移 k k k, P E p o s + k PE_{pos+k} PEpos+k?都可以表示为 P E p o s PE_{pos} PEpos?的线性函数。

??? 我们还使用learned positional embeddings来代替正弦波,发现两个版本产生几乎相同的结果(见 Table 3 row(E)。选择正弦曲线是因为它允许模型推断到比训练中遇到的序列长度更长的序列。

4. Why Self-Attention

??? 这一节中,将self-attention layers和常用的recurrent and convolutional layers进行各方面比较,将一个可变长度的符号表示序列 ( x 1 , x 2 , . . . , x n ) (x_1,x_2,...,x_n) (x1?,x2?,...,xn?)映射到另一个等长序列 ( z 1 , z 2 , . . . , z n ) (z_1,z_2,...,z_n) (z1?,z2?,...,zn?),其中, x i , z i ∈ R d x_i,z_i \in R^d xi?,zi?∈Rd。例如在典型的序列转换encoder or decoder的隐藏层。激励我们使用self-attention,有三个方面: ??? 一个是每层的计算复杂度;另一个是可以并行化的计算量,以所需的最小sequential operations序列操作)数量来衡量。

??? 第三个是网络中长距离依赖关系之间的路径长度。在许多序列转换任务中,学习长距离依赖性是一个关键的挑战。影响学习这种依赖性能力的一个关键因素是网络中向前和向后信号必须经过的路径长度。输入和输出序列中任意位置组合之间的路径越短,这种依赖性就越容易学习。因此,我们还比较了由不同层类型组成的网络中任意两个输入和输出位置的最大路径长度。

??? 在Table 1中,self-attention层用常数次操作连接器所有位置,而recurrent layers需要 O ( n ) O(n) O(n)次顺序操作。在计算复杂性上,当序列长度 n n n小于表示维度 d d d时(这是SOTA在机器翻译中用表示句子最常见的情况,如word-piece and byte-pair representations),self-attention比recurrent layers更快。为提高涉及到很长序列任务的计算性能,self-attention可以限制为只考虑输入序列中以相应输出位置为中心的半径为 r 的邻域。这将使最大路径长度达到 O ( n / r ) O(n/r) O(n/r)。

??? 核宽度 k < n k<n k<n的单卷积层无法连接输入和输出的所有对。若要如此,则在相邻内核情况下,需要 O ( n / k ) O(n/k) O(n/k)卷积层的堆栈,或是 O ( l o g k ( n ) ) O(log_k(n)) O(logk?(n)) dilated convolutional layers(扩展卷积),它们增加了网络中任意两个位置之间的最长路径长度。但convolutional layers比recurrent layers代价更高,这与因子 k k k 有关。然而,Separable convolutional(可分卷积)[19] 可大幅减小复杂度到 O ( k ? n ? d + n ? d 2 ) O(k \cdot n \cdot d+n \cdot d^2) O(k?n?d+n?d2)。然而,即使 k = n k=n k=n,separable convolutional的复杂度等于self-attention layer and a point-wise feed-forward layer的组合,这是在模型中采用的方法。

??? 随之的一个好处就是,self-attention可以产生更多可解释模型。从我们的模型中研究注意力分布,并在附录中展示和讨论。individual attention不仅清楚地学习到执行不同的任务,还表现出许多和自己的句法和语义结构相关的行为。

5. Training 5.1 Training Data and Batching

??? 在标准WMT 2014 English-German数据集上进行训练,该数据集包含450万个句子对。这些句子采用byte-pair(句子对)编码,源语句和目标语句共享大约37000 tokens(词条)的词汇表。对于English-French,使用更大的WMT 2014 English-French数据集,其包括3600万句子,并将tokens分成了32000个word-piece词汇表。序列长度相近的句子一起批处理。每个训练批次包含的句子对中含有大约25000个source tokens(源词条)和target tokens(目标词条)。

5.2 Hardware and Schedule

??? 在一台带有8个 NVIDIA P100 GPUs的机器上训练模型。对于paper中所描述的使用超参数的基础模型,每个训练步骤耗时0.4s。训练基础模型需要100000步,或者是12h。对于我们的大模型(见Table3的 bottom line),每步是1.0s,训练大模型需要300000步(3.5天)。

5.3 Optimizer(优化器)

使用Adam optimizer,设置 β 1 = 0.9 , β 2 = 0.98 、 ? = 1 0 ? 9 \beta_1=0.9,\beta_2=0.98、\epsilon=10^{-9} β1?=0.9,β2?=0.98、?=10?9 ,并根据如下公式在训练过程中改变学习率: l r a t e = d m o d e l ? 0.5 ? m i n ( s t e p _ n u m ? 0.5 , s t e p _ n u m ? w a r m u p _ s t e p s ? 1.5 ) ( 3 ) lrate=d_{model}^{-0.5} \cdot min(step \_num^{-0.5},step \_num \cdot warmup \_steps^{-1.5}) \quad\quad\quad\quad \quad (3) lrate=dmodel?0.5??min(step_num?0.5,step_num?warmup_steps?1.5)(3) 这对应于第一次 w a r m u p _ s t e p warmup \_step warmup_step训练步骤中线性增加学习率,然后将其按step number(步数)的平方根成比例减小。我们使用 w a r m u p _ s t e p s = 4000 warmup \_steps=4000 warmup_steps=4000。

5.4 Regularization(正则化)

??? 训练中采用三种正则化方法:

Residual Dropout :对每个子层的输出应用dropout操作(子层输入和normalized之前)。此外,在encoder and decoder stacks中,对embeddings和positional encoding的和应用dropout。对于base model,使用 P d r o p = 0.1 P_{drop}=0.1 Pdrop?=0.1。

Label Smoothing :训练过程中,采用值 ? l s = 0.1 \epsilon_{ls}=0.1 ?ls?=0.1的label smoothing。这会影响perplexity,因为 模型学习更加不确定,但提高了accuracy和BLEU得分。

6. Results 6.1 Machine Translation

??? 在WMT 2014 English-to-German翻译任务中,big transformer model(见 Table 2)比之前最好模型高 2.0 BLEU,达到了新的SOTA,其BLEU得分为28.4。该模型的配置在 Table 3底部。在8个 P100GPUs上训练3.5天。即使是我们的基础模型,也超过了之前的所有模型和集成模型,且训练成本更低。

??? 在WMT 2014 English-to-French翻译任务中,big transformer model达到了41.0的BLEU评分,超过之前按发布的所有single model,且训练成本低于之前SOTA的1/4。该任务模型在训练过程中,dropout rate设置为 P d r o p = 0.1 P_{drop}=0.1 Pdrop?=0.1 ,而非0.3。 ??? 对于基础模型,我们使用的single model来自最后5个checkpoints的平均,这些checkpoints每十分钟保存一次。对于大模型,使用最后20个checkpoints。我们使用beam size=4,length penalty α = 0.6 \alpha=0.6 α=0.6的beam search(集束搜索)。超参数是在开发集上实验后选定。在推断时,设置最大输出长度为输入长度+50,但条件允许要尽早终止。 ??? Table 2 总结了该paper的结果,并将翻译质量和训练成本同文献中的其他模型架构进行比较。我们通过将训练时间、GPU数量、每个GPU的持续单精度浮点容量相乘,估计训练模型的浮点运算的数量。

6.2 Model Variations(模型变体)

??? 为评估Transformer不同组件的重要性,以不同方式改变基础模型,观测在开发集newstest2013上English-to-German的性能变化。使用前一节所述的beam search,但没有平均checkpoint。结果见Table 3。 ??? 在Table 3,row(A)中,我们改变attention heads的数量、attention key和value的维度,保持计算量不变,如3.2.2描述。虽然single-attention比最佳设置少0.9 BLEU,但若有过多的heads,质量也会下降。

Table 3:Transformer架构的变体。其中,未列出的值同基本模型。

??? 在 Table 3,row(B)中,我们观察到减小注意力key的大小 d k d_k dk?会降低模型质量。这表明确定兼容性并不容易,并且一个比点积更复杂的兼容性函数或许是有用的。观察 r o w ( C ) 和 r o w ( D ) row(C)和row(D) row(C)和row(D),正如预期所料,更大的模型表现更好,dropout在可以有效避免overfitting。在 r o w ( E ) row(E) row(E)中,用learned positional embeddings(学习到的位置嵌入)代替sinusoidal positional encoding(正弦位置编码),并得到与基础模型一致的结果。

7.Conclusion

??? 在该paper中,我们提出Transformer,首个完全基于attention的序列转换模型,使用multi-headed self-attention替代encoder-decoder架构中最常用recurrent layers。 ??? 对于翻译任务,Transformer比基于recurrent or convolutional layers的架构训练更快。在WMT 2014 English-to-German和WMT 2014 English-to-French翻译任务中,我们取得了新的SOTA。在前一个任务中,我们的最佳模型超过了之前报道的所有集成模型。 ??? 我们对基于attention的模型的未来感到兴奋,并计划将它们应用到其他任务中。计划将Transformer扩展到除文本之外的涉及输入和输出模型的问题中,并研究局部、受限attention,以有效处理图像、音频、视频等大型输入和输出。同时,另一个目标即generation less sequential。

用于训练和评估的代码可在如下获得:code

References

[1]: Sepp Hochreiter and Jürgen Schmidhuber. Long short-term memory. Neural computation, 9(8):1735–1780, 1997. [2]: Junyoung Chung, ?aglar Gül?ehre, Kyunghyun Cho, and Y oshua Bengio. Empirical evaluation of gated recurrent neural networks on sequence modeling. CoRR, abs/1412.3555, 2014. [3] Oleksii Kuchaiev and Boris Ginsburg. Factorization tricks for LSTM networks. arXiv preprint arXiv:1703.10722, 2017. [4]: 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. [5]:Samy Bengio ?ukasz Kaiser. Can active memory replace attention? In Advances in Neural Information Processing Systems, (NIPS), 2016. [6]: 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. [7]: Jonas Gehring, Michael Auli, David Grangier, Denis Yarats, and Yann N. Dauphin. Convolutional sequence to sequence learning. arXiv preprint arXiv:1705.03122v2, 2017. [8]: Jianpeng Cheng, Li Dong, and Mirella Lapata. Long short-term memory-networks for machine reading. arXiv preprint arXiv:1601.06733, 2016. [9]: Ankur Parikh, Oscar T?ckstr?m, Dipanjan Das, and Jakob Uszkoreit. A decomposable attention model. In Empirical Methods in Natural Language Processing, 2016. [10]: Romain Paulus, Caiming Xiong, and Richard Socher. A deep reinforced model for abstractive summarization. arXiv preprint arXiv:1705.04304, 2017. [11]: Zhouhan Lin, Minwei Feng, Cicero Nogueira dos Santos, Mo Y u, Bing Xiang, Bowen Zhou, and Y oshua Bengio. A structured self-attentive sentence embedding. arXiv preprint arXiv:1703.03130, 2017. [12]: ?ukasz Kaiser and Ilya Sutskever. Neural GPUs learn algorithms. In International Conference on Learning Representations (ICLR), 2016. [13]: Alex Graves. Generating sequences with recurrent neural networks. arXiv preprint arXiv:1308.0850, 2013. [14]: 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. [15]: Jimmy Lei Ba, Jamie Ryan Kiros, and Geoffrey E Hinton. Layer normalization. arXiv preprint arXiv:1607.06450, 2016. [16]: Y onghui Wu, Mike Schuster, Zhifeng Chen, Quoc V Le, Mohammad Norouzi, Wolfgang Macherey, Maxim Krikun, Y uan 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. [17]: Dzmitry Bahdanau, Kyunghyun Cho, and Y oshua Bengio. Neural machine translation by jointly learning to align and translate. CoRR, abs/1409.0473, 2014. [18]: Ofir Press and Lior Wolf. Using the output embedding to improve language models. arXiv preprint arXiv:1608.05859, 2016. [19]: Francois Chollet. Xception: Deep learning with depthwise separable convolutions. arXiv preprint arXiv:1610.02357, 2016.


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #早期attention #必读论文 #文章目录Abstract1 #introduction2 #Background3 #model #Architecture31 #Encoder