点击关注上方“AI深度视线”,并“星标”公号
技术硬文,第一时间送达!
AI视线
来源知乎:咫尺小厘米
https://zhuanlan.zhihu.com/p/153329513
1. self-attention代替了cnn和rnn很厉害
2. 人感觉李宏毅老师的视频也讲得挺清楚的,
https://www.bilibili.com/video/BV1JE411g7XF?p=23
原文链接:https://arxiv.org/abs/1706.03762v5
官方开源代码:https://github.com/tensorflow/tensor2tensor
1. 摘要
The dominant sequence transduction models are based on complex recurrent or convolutional neural networks that include an encoder and a decoder. The best performing models also connect the encoder and decoder through an attention mechanism.
目前占据主导的序列转换模型主要基于复杂的递归或卷积神经网络,包括编码器和解码器。表现最佳的模型还通过注意力机制连接编码器和解码器。
We propose a new simple network architecture, the Transformer, based solely on attention mechanisms, dispensing with recurrence and convolutions entirely. Experiments on two machine translation tasks show these models to be superior in quality while being more parallelizable and requiring significantly less time to train.
我们提出了一种新的简单网络架构,即Transformer,它完全基于注意力机制,没有使用循环或者卷积操作。在两个机器翻译任务上进行的实验表明,这些模型在质量上具有优势,同时具有更高的可并行性,并且所需的训练时间明显更少。
Our model achieves 28.4 BLEU on the WMT 2014 English-to-German translation task, improving over the existing best results, including ensembles, by over 2 BLEU. On the WMT 2014 English-to-French translation task, our model establishes a new single-model state-of-the-art BLEU score of 41.8 after training for 3.5 days on eight GPUs, a small fraction of the training costs of the best models from the literature.
我们的模型在WMT 2014 English-to-German翻译任务上获得了28.4 BLEU,包括集成在内,比现有的最好结果高2 BLEU。在WMT 2014 English-to-French翻译任务上,我们的模型创建了单模型的41.8 BLEU的记录,在八卡GPU训练了3.5天之后,仅有之前最优模型的一小部分训练代价。
We show that the Transformer generalizes well to other tasks by applying it successfully to English constituency parsing both with large and limited training data.
我们展示了Transformer通过将其成功应用于具有大量训练数据和有限训练数据的英语选区解析,将其很好地应用到了其他任务。
2. 引言



3. 背景
减少顺序计算的目标也构成了扩展神经GPU、ByteNet和ConvS2S的基础,它们全部使用卷积神经网络作为基本构建块,可以并行计算所有输入和输出位置的隐藏表示。在这些模型中,关联来自两个任意输入或输出位置的信号所需的操作数在位置之间的距离中增加,对于ConvS2S线性增长,而对于ByteNet则对数增长。这使得学习远处位置之间的依赖性变得更加困难。在Transformer中,此操作被减少为恒定的操作次数,尽管这是由于平均注意力加权位置而导致有效分辨率降低的代价,我们Multi-Head注意力抵消了这种效果。
4. 模型架构





Encoder and Decoder Stacks




Decoder:解码器还由 个相同层的堆栈组成。除了每个编码器层中的两个子层之外,解码器还插入第三子层,该第三子层对编码器堆栈的输出执行multi-head self-attention。与编码器类似,我们在每个子层周围采用残差连接,然后进行LN。我们还修改了解码器堆栈中的self-attention子层,以防止位置出现在后续位置。这种mask,加上输出嵌入被一个位置偏移的事实,确保了对位置i的预测只能依赖于小于i位置的已知输出。
Attention
注意力的功能可以被描述为将query和一组key-value对映射到输出,其中query、key、value和output都是向量。将output计算为value的加权总和,其中分配给每个值的权重是通过query与相应key的compatibility function来计算的。
Scaled Dot-Product Attention







两种主要的attention function是加法注意力和乘法注意力。除了除以










Multi-Head Attention




在这项工作中,我们采用 个平行注意力层或head。对于这些中的每一个,我们使用
。由于每个head的维度减小,因此总的计算成本类似于具有全维度的single-head注意力的计算成本。
Applications of Attention in our Model
-
在“编码器-解码器注意”层中,q来自先前的解码器层,而存储k和v来自编码器的输出。这允许解码器中的每个位置都参与输入序列中的所有位置,这模仿了seq2seq模型中的典型编码器-解码器注意力机制; -
编码器包含self-attention层。在Self-attention层中,所有k、v和q都来自同一位置,在这种情况下,是编码器中上一层的输出。编码器中的每个位置都可以覆盖编码器上一层中的所有位置; 类似地,self-attention允许解码器中的每个位置关注直到并包括该位置的解码器中的所有位置。我们需要防止解码器中向左流动信息,以保留自动回归的属性。我们使用带有mask的scaled dot-product attention,从而屏蔽掉一些对应的非法连接。
Position-wise Feed-Forward Networks
除了注意力子层之外,我们的编码器和解码器中的每个层都包含一个完全连接的前馈网络,该网络分别独立地、相同地应用于每个位置。这由两个线性变换组成,两个线性变换之间具有ReLU激活。 虽然线性变换在不同位置上相同,但是它们使用不同的参数。另一种描述方式是两个卷积,其内核大小为1。输入和输出的维数为
,内层的维数为
。
Embeddings and Softmax


Positional Encoding




5. Why slef-attention















6. 训练 && 7.实验结果
主要关注transformer的结构设计,略过实验部分。
8.总结
最新人工智能、深度学习、SLAM干货奉上!
本文分享自微信公众号 - AI深度学习视线(AI_DeepSight)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
来源:oschina
链接:https://my.oschina.net/u/4590228/blog/4410172