欢迎莅临 IEEE HotICN 中文社区,IEEE HotICN 国际学术会议网站: https://hoticn.com, https://hoticn.cn。

Attention Is All You Need

未分类 杨, 宗霖

深度学习

会议:NeurIPS 2017(第31届神经信息处理系统大会)

Ashish Vaswani∗, Noam Shazeer∗, Niki Parmar∗, Jakob Uszkoreit∗, Llion Jones∗, Aidan N. Gomez∗†, Łukasz Kaiser∗, Illia Polosukhin∗ Google Brain / Google Research / University of Toronto arXiv:1706.03762v7 [cs.CL] 2 Aug 2023

这篇论文提出了Transformer——一种完全基于注意力机制的全新序列转换模型架构,彻底摒弃了循环和卷积结构。Transformer 凭借其高度并行化的设计和卓越的性能,不仅在机器翻译任务上刷新了当时的最优记录,更深远地重塑了整个自然语言处理乃至人工智能领域的技术范式。

一、研究动机与背景

在 Transformer 出现之前,序列建模和转换任务(如语言建模、机器翻译)的主流方法是循环神经网络(RNN),特别是 LSTM 和 GRU。这些模型虽然有效,但存在一个根本性瓶颈:计算的顺序依赖性。RNN 必须沿着序列的时间步逐步处理,前一步的隐藏状态 ht1h_{t-1}是后一步 hth_t的输入,这种固有的串行特性严重阻碍了训练的并行化,在处理长序列时尤为突出。

与此同时,注意力机制已在多种任务中展示出强大的能力,它能够在不考虑序列距离的情况下建模依赖关系。然而,在几乎所有先前工作中,注意力机制都是作为 RNN 的附属组件存在的。

本论文的核心问题是:能否完全抛弃循环结构,仅凭注意力机制就构建一个高性能的序列转换模型? Transformer 给出了肯定的答案。

二、核心架构:Transformer 模型

Transformer 遵循经典的编码器-解码器(Encoder-Decoder)宏观结构,但其内部完全由自注意力(Self-Attention)逐位置的前馈网络(Position-wise Feed-Forward Networks)堆叠而成。

Attention Is All You Need插图

编码器(Encoder)

编码器由 N=6N=6个相同的层堆叠而成。每一层包含两个子层:一个 多头自注意力机制和一个逐位置全连接前馈网络。每个子层周围都使用了残差连接(Residual Connection)和层归一化(Layer Normalization),即子层输出为 LayerNorm(x+Sublayer(x))\text{LayerNorm}(x + \text{Sublayer}(x))。模型所有子层和嵌入层的输出维度统一为 dmodel=512d_{\text{model}} = 512

解码器(Decoder)

解码器同样由 N=6N=6N=6 个相同的层堆叠而成。除了编码器中的两个子层外,解码器额外插入了第三个子层,用于对编码器的输出执行 多头注意力(即编码器-解码器注意力)。此外,解码器中的自注意力子层通过掩码(Masking)机制阻止当前位置关注其后续位置,以保证自回归特性——即位置 iii 的预测只能依赖于位置小于 iii 的已知输出。

三、关键创新点

1) 缩放点积注意力(Scaled Dot-Product Attention)

Transformer 的核心计算单元是缩放点积注意力。给定查询(Query)、键(Key)和值(Value)矩阵,注意力输出的计算公式为:Attention(Q,K,V)=softmax(QKTdk)V\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V

其中 dk\sqrt{d_k}的缩放因子至关重要——当 dkd_k较大时,点积的数值会增大,将 softmax 函数推入梯度极小的区域,缩放操作有效缓解了这一问题。相比加性注意力,点积注意力在实践中更快且更节省空间,因为它可以直接利用高度优化的矩阵乘法实现。

Attention Is All You Need插图1

2) 多头注意力(Multi-Head Attention)

论文发现,与其使用单一的 dmodeld_{\text{model}}dmodel​ 维度注意力函数,不如将查询、键和值通过不同的线性投影映射 hhh 次到低维空间,分别执行注意力计算,再将结果拼接并投影回原始维度: MultiHead(Q,K,V)=Concat(head1,,headh)WO\text{MultiHead}(Q,K,V) = \text{Concat}(\text{head}_1, \dots, \text{head}_h)W^OMultiHead(Q,K,V)=Concat(head1​,…,headh​)WO

其中 headi=Attention(QWiQ,KWiK,VWiV)\text{head}_i = \text{Attention}(QW_i^Q, KW_i^K, VW_i^V)

论文使用 h=8h=8h=8 个注意力头,每个头的维度为 dk=dv=dmodel/h=64d_k = d_v = d_{\text{model}}/h = 64。多头机制允许模型同时关注不同表示子空间中不同位置的信息,这是单头注意力因”平均化”效应而无法做到的。

3) 位置编码(Positional Encoding)

由于 Transformer 完全没有循环和卷积结构,模型本身无法感知序列中的位置顺序。为此,论文在输入嵌入中加入了正弦/余弦位置编码PE(pos,2i)=sin(pos/100002i/dmodel)PE_{(pos, 2i)} = \sin(pos / 10000^{2i/d_{\text{model}}})PE(pos,2i+1)=cos(pos/100002i/dmodel)PE_{(pos, 2i+1)} = \cos(pos / 10000^{2i/d_{\text{model}}})

选择这种函数的原因是,对于任意固定偏移 kkk,PEpos+kPE_{pos+k}PEpos+k​ 可以表示为 PEposPE_{pos}PEpos​ 的线性函数,从而使模型能够轻松学习相对位置关系。此外,正弦编码还具有 外推能力,可能允许模型处理训练中未见过的更长序列。

四、自注意力的优势分析

论文从三个维度将自注意力层与循环层和卷积层进行了系统对比:

层类型每层计算复杂度顺序操作数最大路径长度
自注意力O(n2d)O(n^2 \cdot d)O(1)O(1)O(1)O(1)
循环O(nd2)O(n \cdot d^2)O(n)O(n)O(n)O(n)O(n)
卷积O(knd2)O(k \cdot n \cdot d^2)O(1)O(1)O(logk(n))O(\log_k(n))

自注意力层的关键优势在于:任意两个位置之间的最大路径长度为 O(1)(常数级),而循环层需要 O(n)O(n)O(n),卷积层需要 O(logk(n))O(\log_k(n))。更短的路径意味着更容易学习 长距离依赖关系。此外,当序列长度 nn小于表示维度 dd 时(这在主流翻译模型中很常见),自注意力层的计算速度也快于循环层。

五、实验评估

1) 机器翻译

论文在两个标准的机器翻译基准上验证了 Transformer 的性能:

  • WMT 2014 英德翻译:Transformer (big) 达到 28.4 BLEU,比此前所有模型(包括集成模型)高出超过 2.0 BLEU,创下新的最优纪录。
  • WMT 2014 英法翻译:达到 41.8 BLEU 的单模型最优成绩,而训练仅需在 8 块 P100 GPU 上跑 3.5 天,训练成本不到当时最优模型的 1/4。

即使是基础模型(base model)也超越了所有此前发表的模型和集成方案,且训练代价仅为竞争模型的一小部分。

2) 模型变体分析

论文通过系统的消融实验(表3)探索了不同超参数对性能的影响:

  • 注意力头数:单头注意力比最佳设置低 0.9 BLEU,但头数过多同样导致性能下降;
  • 模型规模:更大的模型表现更好(如 dmodel=1024d_{\text{model}}=1024 优于 512);
  • Dropout:正则化对防止过拟合至关重要;
  • 位置编码:正弦编码与学习式位置嵌入性能几乎一致。

3) 英语成分句法分析

为验证 Transformer 的泛化能力,论文将其应用于英语成分句法分析任务。在几乎没有针对任务进行调优的情况下,4 层 Transformer 在 WSJ 测试集上取得了 91.3 F1(纯监督)和 92.7 F1(半监督)的成绩,表现优于除循环神经网络文法(RNNG)之外的所有此前报告的模型。


六、注意力可视化

论文在附录中展示了注意力头学到的丰富语言结构。

Attention Is All You Need插图2

在编码器第5层的自注意力中,多个注意力头能够准确捕获动词”making”的远距离依赖,完成”making…more difficult”这一跨越多个词的短语结构。

Attention Is All You Need插图3

另外的注意力头则展示出指代消解(Anaphora Resolution)的能力——当处理代词”its”时,注意力非常集中地指向了其先行词”Law”,表明不同的头自动学会了执行不同的语法和语义任务。

Attention Is All You Need插图4

七、总结与深远影响

Transformer 是第一个完全基于注意力机制的序列转换模型,它以简洁而强大的架构证明了:循环和卷积并非序列建模的必需组件。其核心贡献包括:

  • 自注意力机制作为唯一计算范式:以 O(1)O(1)的路径长度捕获任意距离的依赖关系;
  • 多头注意力:让模型同时关注不同子空间的信息;
  • 高度并行化:训练速度远超 RNN/CNN 架构;
  • 强大的泛化能力:在翻译之外的任务(如句法分析)中同样表现优异。

更重要的是,Transformer 的影响远超这篇论文本身。它直接催生了 BERTGPT 系列、T5ViT 等一系列里程碑式模型,成为了当今大语言模型(LLM)和多模态模型的基础架构。可以说,这篇 2017 年的论文定义了此后整个 AI 领域的技术方向。

对于相关研究方向,Transformer 在自注意力机制设计位置编码策略以及编码器-解码器架构分离方面的思路具有极强的参考价值。特别是其通过多头机制实现”分而治之”的策略,对理解和设计更高效的注意力变体(如线性注意力、稀疏注意力、FlashAttention 等)提供了重要的理论基础。

喜欢 (0)