一、 论文基本信息

  • 论文标题:Attention Is All You Need

  • 作者团队:Ashish Vaswani, Llion Jones, Noam Shazeer 等(主要来自 Google Brain 和 Google Research)

  • 发表时间:2017年(NIPS 2017)

  • 核心贡献:提出了一种全新的、完全基于注意力机制(Attention Mechanism)的网络架构——Transformer,彻底抛弃了传统的循环神经网络(RNN)和卷积神经网络(CNN)。

二、 研究背景与动机

在 Transformer 提出之前,主流的序列转录模型(如机器翻译)严重依赖于复杂的循环神经网络(RNN,如 LSTM、GRU)或卷积神经网络(CNN),并采用 Encoder-Decoder(编码器-解码器)架构。

传统架构的痛点:

  1. 难以并行化(RNN的致命伤):RNN 的本质是序列计算,计算当前状态 必须依赖上一个状态 。这种顺序特性导致模型无法在训练样本内部进行高度并行化,严重限制了计算效率,尤其是在处理长序列时。

  2. 长距离依赖问题:虽然 LSTM 缓解了梯度消失问题,但在极长的序列中,相隔很远的两个词建立联系仍然非常困难。

  3. CNN的局限性:虽然基于 CNN 的模型(如 ByteNet, ConvS2S)可以并行计算,但关联两个相距较远的输入位置需要堆叠大量的卷积层,导致长距离依赖的学习变得极其困难。

为了解决这些问题,作者提出了**“仅仅需要注意力机制”**的破局思路。

三、 核心架构剖析:Transformer

Transformer 依然采用了 Encoder-Decoder 的整体架构,但内部的子层发生了翻天覆地的变化。

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

这是 Transformer 的最小运算单元。它将输入映射为三个向量:Query (Q,查询), Key (K,键) 和 Value (V,值)。

其数学表达式为:

  • 为什么要除以 (缩放因子)?
    作者发现在
    (Key的维度)较大时,点积的结果会变得非常大,导致传入 softmax 函数后落入梯度极小的区域(梯度消失)。除以维度的平方根可以平滑 softmax 的输出,保持梯度的稳定。

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

作者没有直接对整个高维向量做一次 Attention,而是将 Q、K、V 通过不同的线性变换投影到多个低维子空间中,分别计算 Attention,最后再拼接起来。

  • 优势:允许模型在不同的表示子空间(Representation Subspaces)中并行地关注不同位置的信息。例如,有的“头”可能关注语法结构,有的“头”可能关注指代消解。

3. 三种不同的注意力应用场景

  • 编码器自注意力 (Encoder Self-Attention):Q, K, V 均来自编码器的上一层。序列中的每个词都可以关注序列中的所有其他词。

  • 解码器自注意力 (Decoder Self-Attention):加入了一个 Mask(掩码)机制。为了保持自回归特性(预测当前词时不能“偷看”未来的词),模型将未来位置的注意力得分设为

  • 编码器-解码器注意力 (Encoder-Decoder Attention):Q 来自上一个解码器层,而 K 和 V 来自编码器的输出。这让解码器在生成每个词时,都能去关注输入序列中最相关的部分。

4. 位置编码 (Positional Encoding)

既然抛弃了 RNN 和 CNN,模型就失去了感知序列顺序(“你打我”和“我打你”)的能力。为了弥补这一点,作者巧妙地引入了位置编码。

  • 使用了不同频率的正弦和余弦函数:

  • 妙处:这种绝对位置编码允许模型学习到相对位置关系,因为对于任何固定的偏移量 都可以表示为 的线性函数。此外,它也能很好地外推到训练时未见过的更长序列。

5. 其他关键组件

  • 位置前馈网络 (Position-wise FFN):在 Attention 层之后接两个线性变换(中间夹一个 ReLU),分别独立应用于每个位置,增加非线性。

  • 残差连接与层归一化 (Add & Norm):解决深层网络训练的退化问题,加速收敛。

四、 为什么选择自注意力?(核心优势)

论文中通过图表(Table 1)详细对比了 Self-Attention、RNN 和 CNN 的性能差异,揭示了 Transformer 胜出的三个决定性因素:

  1. 最大路径长度为 :在序列中任意两个位置之间传递信息的路径长度始终为 1。这彻底解决了长距离依赖的学习难题。

  2. 串行操作数量为 :完全打破了 RNN 的串行瓶颈,支持矩阵乘法级别的高效全局并行计算。

  3. 计算复杂度:当序列长度 小于表示维度 时(NLP任务中的常态),自注意力层的每层计算复杂度实际上低于 RNN。

五、 实验结果

  1. 机器翻译(核心任务):

  • 在 WMT 2014 英语-德语任务上,Transformer (big) 取得了 28.4 BLEU 的历史新高(当时),超越了之前所有的集成模型。

  • 在英语-法语任务上取得了 41.8 BLEU。

  • 惊人的效率:训练成本(FLOPs)和耗时只有以往主流模型(如 GNMT)的一小部分。8张 P100 GPU 仅需 3.5 天。

  1. 句法分析(泛化能力):
    在没有进行大量任务特定调优的情况下,在 English Constituency Parsing 任务上也取得了极佳的成绩,证明了其通用性。

六、 总结与深刻启发

《Attention Is All You Need》之所以伟大,不仅在于它刷新了当时的各种榜单,更在于它展现了一种极致的架构美学——大道至简。它证明了复杂的序列处理并不需要复杂的递归和卷积结构,仅仅通过并行化的注意力矩阵运算,结合位置编码和前馈网络,就能达到前所未有的高度。

深远影响:

这篇论文犹如普罗米修斯盗取的火种,直接点燃了随后的“大模型时代”。从 BERT 的双向编码器,到 GPT 系列的单向解码器,再到如今改变世界的 ChatGPT,其底层的绝对核心依然是这座名为 Transformer 的大厦。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐