Attention Is All You Need
该文是阅读Attention Is All You Need的笔记,用来记录自己的理解和思考,一来记录自己的学习历程,二来期待和大家讨论研究,共同进步。
0. 概述
现在主流的序列转换模型是基于包含一个编码器和解码器的复杂的循环或者卷积神经网络。表现最好的模型也是通过一个attention机制连接了编码器和解码器,这篇论文提出了一个简单的网络结构,Transformer。它仅仅基于attention机制,与循环和卷积完全分离。经过实验表现来看,这些模型质量上要更好,并行化程度更高,训练时间明显更短。而且Transformer在其他任务上也能表现得很好,无论是大量的还是受限的训练数据中,只要把它成功应用于英语组别分析就可以。
这部分提到了之前火热的RNN和CNN,这两个概念在之前本科的学习过程中有一定的了解,所以还好接受。此外,近两年应用广泛的attention机制是一个新概念,关于这部分的理解我会在另一篇论文学习博客里进行总结讲解。重头戏是Transformer,接下来继续解读该篇论文的其他部分,学习了解。
RNN,LSTM,尤其是GRNN,已经被确立为序列模型和转换问题的最先进的方法,比如语言建模和机器翻译。大量的努力已经把语言建模和编码解码结构的边界不断拓展。
循环模型通常把输入输出序列的标记位置的计算作为因子。在计算过程中对齐位置和步骤,他们生成了一系列隐藏状态ht,作为此前隐藏状态ht-1和t位置的输入的函数。这个固有的序列化的本质排除了训练样例的并行化,这一点在更长的序列长度上就变得非常关键了,因为记忆限制了例子中的批次。最近的研究已经通过因子分解和条件计算在计算效率上取得了显著的提升,与此同时在后者的情况下也提高了
模型的性能。但是序列化计算的根本的局限性还是存在的。
Attention 机制在许多任务中已经成为了序列模型和转换模型的一个必要部分,允许相关性的建模而不再考虑输入输出序列的距离。总之有一小部分情况下,attention机制会用在一个循环网络的连接部分。
在这篇论文中我们提出了Transformer,这是一个回避了循环的模型结构,取而代之的是完全依靠attention机制刻画输入和输出之间的依靠关系。Transformer允许明显更多的并行化,并且在8块P100的GPU上训练12个小时后在翻译质量上能够达到最先进的状态。
1. 模型结构
大部分有竞争力的神经序列传导模型都有一个编码器解码器结构。此处的编码器将一组标志为(x1,