AI 读论文:Attention Is All You Need
这篇论文是深度学习领域的里程碑式作品,提出了 Transformer 模型架构,彻底改变了自然语言处理(NLP)领域。
以下是该论文的核心内容分析与讲解:
1. 论文概览
- 标题:Attention Is All You Need(只需要注意力机制)
- 核心贡献:提出了一种名为 Transformer 的新型网络架构。
- 核心创新:完全抛弃了传统的循环神经网络(RNN)和卷积神经网络(CNN),仅依靠注意力机制来处理输入和输出之间的依赖关系。
- 主要优势:
- 并行化程度高:相比RNN的序列计算,Transformer训练效率大幅提升。
- 长距离依赖:更能捕捉长序列中的远距离关联。
- 性能优越:在机器翻译任务上取得了当时的最优结果(SOTA)。
2. 背景与动机
在Transformer出现之前,主流的序列转换模型(如机器翻译)主要基于复杂的循环或卷积神经网络。
- RNN的局限性:RNN的计算本质上是顺序的(第 步的计算依赖于第 步),这阻碍了训练过程中的并行化,导致处理长序列时效率低下。
- CNN的局限性:虽然CNN支持并行,但捕捉长距离依赖所需的路径长度较长(需要堆叠多层)。
- 解决方案:Transformer旨在完全通过注意力机制来减少序列计算的数量,实现恒定数量的操作来关联任意两个位置,无论距离多远。
3. 模型架构
Transformer遵循通用的编码器-解码器架构,如图1所示。
3.1 编码器与解码器堆栈
- 编码器:
- 由 个完全相同的层堆叠而成。
- 每一层包含两个子层:
- 1) 多头自注意力机制。
- 2) 位置式全连接前馈网络。
- 每个子层周围都采用残差连接,随后是层归一化。
- 解码器:
- 同样由 个完全相同的层堆叠而成。
- 除了编码器的两个子层外,解码器还插入了第三个子层:编码器-解码器注意力(对编码器的输出执行多头注意力)。
- 关键点:解码器中的自注意力子层经过了掩码处理,以防止位置关注到后续位置(即防止“偷看”未来信息),保证自回归属性。
3.2 注意力机制
论文提出了缩放点积注意力。
- 输入:查询、键、值。
- 计算公式:
- 缩放因子:除以 是为了防止点积数值过大,导致softmax函数进入梯度极小的区域,影响模型训练。
3.3 多头注意力
- 原理:与其只执行一次注意力函数,不如将查询、键、值线性投影到 个不同的子空间中,然后在这些投影上并行执行注意力函数。
- 好处:允许模型在不同的位置联合关注来自不同表示子空间的信息。例如,一个头可以关注语法结构,另一个头可以关注语义关系。
- 参数设置:论文中使用 个头,。
3.4 位置编码
- 由于模型没有循环和卷积,必须注入序列中token的相对或绝对位置信息。
- 方法:在编码器和解码器底部的输入嵌入中添加“位置编码”。
- 实现:论文使用了不同频率的正弦和余弦函数。这种固定的(非学习到的)编码方式允许模型轻松学习相对位置,并可能支持比训练期间更长的序列长度。
4. 为什么选择自注意力
论文在第4节对比了自注意力层、循环层和卷积层的三个指标:
- 每层的计算复杂度:自注意力在序列长度 小于表示维度 时(常见情况),比循环层更快。
- 并行化程度:自注意力所需的顺序操作数为 ,而循环层为 。这意味着Transformer可以极高效率地利用GPU并行计算。
- 长距离依赖的路径长度:自 attention 中任意两个位置之间的路径长度为 ,而RNN为 。路径越短,越容易学习长距离依赖。
5. 实验结果
- 机器翻译任务:
- WMT 2014 英德翻译:Transformer模型(Big版)达到了 28.4 BLEU,比当时最好的集成模型提高了2 BLEU以上。训练仅需3.5天(8个P100 GPU)。
- WMT 2014 英法翻译:BLEU分数达到 41.8,训练成本仅为之前竞争对手的一小部分。
- 英语成分句法分析:模型不仅在翻译上表现出色,在泛化到其他任务(如句法分析)时也取得了很好的结果,证明了其通用性。
6. 总结
这篇论文提出的Transformer架构通过完全依赖注意力机制,解决了传统RNN/CNN在处理长序列时的计算效率和长距离依赖难题。它不仅在当时刷新了多项机器翻译记录,更成为了后来众多大型语言模型(如BERT、GPT系列)的基础架构基石。