论文: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节对比了自注意力层、循环层和卷积层的三个指标:

  1. 每层的计算复杂度:自注意力在序列长度 小于表示维度 时(常见情况),比循环层更快。
  2. 并行化程度:自注意力所需的顺序操作数为 ,而循环层为 。这意味着Transformer可以极高效率地利用GPU并行计算。
  3. 长距离依赖的路径长度:自 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系列)的基础架构基石。