Transformer(三):论文 Attention Is All You Need
一般好的文章都有个好名字,《Attention Is All You Need》这篇论文一看名字就知道很厉害。
论文原文:https://arxiv.org/abs/1706.03762
最初这篇论文主要是针对机器翻译来写的,随着gpt和bert把这个架构用在更多的自然语言处理的任务上时,整个工作就出圈了。现在图片、音频和视频,几乎什么东西都能用,这也是它爆火的原因之一。
首先,我们来看论文的标题、摘要和结论。
摘要梗概
transformer模型仅依赖于注意力机制,没有使用之前的循环或卷积。作者做了2个机器翻译的实验,显示了这个模型在性能上特别好,并行度很好、且训练时间更少。在英语到德语的翻译工作,我们比目前最好的结果,好了2个BLUE。在英语到法语的翻译任务上,做了一个单模型。比所有的模型效果都好。只在8个GPU上训练了3.5天。transformer架构能够泛化到别的任务上,都很好。
摘要解读
- 作者提出了一个新的模型,主要用在哪呢,用在机器翻译的任务上。
- 这就是作者的贡献,提出了一个新的简单的模型,且跟之前表现很好的模型架构都不一样。
- BLUE score是机器翻译里常用的衡量标准。
结论梗概
transformer模型是第一个序列转录模型,仅使用注意力,将之前所有的循环层全换成了多头自注意力(multi-headed self-attention)。
在机器翻译的任务上,transformer能训练的比其他的架构快。
基于注意力机制的模型,也可以用在文本以外的数据上,例如图片、语音和视频。使得生成不那么时序化是另一个研究方向。
结论解读
现在看来,作者当初是预测transformer在各种别的数据上做的比较好。虽然说这些工作都不是本篇论文作者完成的,都是由别人完成的,但是作者基本看准了大方向。
论文所有代码放在tensor2tensor这个库里。这也是比较有意思的写法,将整个代码放在了结论的最后。我们知道,通常有代码的话,会将其放到摘要的最后一句话。因为现在神经网络的文章细节是很多的,简单的一篇文章是很难将细节写清楚。所以最好第一时间公布代码,让别人能很方便的重复你的文章,以便扩大文章的影响力。
其次,快速浏览整篇文章。
1 Introduction 解读
在时序模型里,当前(指2017年)最常用的是RNN(Recurrent Neural Networks),LSTM(Long Short-Term Memory)、GRU(Gated Recurrent Unit)。实现逻辑是靠循环来实现序列信号的抽取。
有2个主流模型,当信息比较多的时候,会用编码器-解码器(encoder-decoder)的架构。
RNN的特点是什么,优缺点是什么。
优势:
(1)实现了统计机器学习到深度学习的过渡。
(2)自然语言处理相关算法可以用于工程项目。
劣势:
(1)依赖循环,当序列很长时,无法并行计算,速度很慢,无法有效利用硬件加速。
(2)通过隐藏状态来进行信息的传递,当序列很长时,信息会丢失。
(3)模型搭建很多层时,没有得到足够的性能回报。
(4)要么很难收敛,要么性能没有提升多少。
注意力机制的优势:
(1)抛弃循环,可并行提取特征,序列可以很长。
(2)并行特征的抽取没有前后顺序,也就不存在信息遗忘的问题。
(3)有ResBlock和LayerNorm的加持,模型可以无限堆叠,重复越多,能力越大。
2 Background 解读
相关工作的章节,跟论文相关的论文是哪些,又有哪些关系和区别。
如何使用卷积神经网络来替换循环神经网络,以减少时序的计算。
transformer是第一个依赖自注意模式来做encoder-decoder架构的模型。
3 Model Architecture 解读
模型架构,深度神经网络论文里最重要的这就是这部分了,主要讲这个神经网络是怎样的。
解释了什么是编码器-解码器,对于编码器而言,会将其转化为向量输出。
对于解码器而言,会将编码器的输出生成一个长为m的序列,注意n和m不一定一样长。
自回归:过去时刻的输出作为当前时刻的输入。
transformer使用的是编码器-解码器的架构。