Attention Is All You Need 论文解读

Transformer 架构的开创性论文,彻底改变了 NLP 领域并奠定了现代大模型的基础

论文概述

2017 年,Google 的研究团队发表了这篇里程碑式的论文,提出了 Transformer 架构。这一架构完全基于注意力机制(Attention Mechanism),摒弃了此前在序列建模中广泛使用的循环神经网络(RNN)和卷积神经网络(CNN)。

Transformer 的出现不仅大幅提升了机器翻译的质量,更为后来的 GPT、BERT 等大语言模型奠定了技术基础。

核心创新

自注意力机制(Self-Attention)

论文的核心贡献是 Scaled Dot-Product Attention

Attention(Q,K,V)=softmax(QKTdk)V\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V

其中 QQ(Query)、KK(Key)、VV(Value)分别是输入序列的不同线性变换。缩放因子 dk\sqrt{d_k} 防止了点积在高维空间中数值过大的问题。

多头注意力(Multi-Head Attention)

为了让模型能够同时关注不同位置的不同表示子空间,论文引入了多头注意力:

MultiHead(Q,K,V)=Concat(head1,,headh)WO\text{MultiHead}(Q, K, V) = \text{Concat}(\text{head}_1, \ldots, \text{head}_h)W^O

每个 head 独立执行注意力计算,最后拼接并投影。这使模型能从多个角度理解输入。

位置编码(Positional Encoding)

由于 Transformer 不含递归结构,需要显式注入位置信息。论文使用了正弦余弦函数:

PE(pos,2i)=sin(pos/100002i/dmodel)PE_{(pos, 2i)} = \sin(pos / 10000^{2i/d_{model}}) PE(pos,2i+1)=cos(pos/100002i/dmodel)PE_{(pos, 2i+1)} = \cos(pos / 10000^{2i/d_{model}})

模型架构

Transformer 采用经典的编码器-解码器结构:

  • 编码器:由 6 层相同的层堆叠而成,每层包含多头自注意力和前馈网络
  • 解码器:同样 6 层,额外增加了对编码器输出的交叉注意力层
  • 残差连接 + 层归一化:每个子层都使用残差连接和层归一化
class TransformerBlock:
    def forward(self, x):
        # 自注意力 + 残差连接 + 层归一化
        attn_output = self.self_attention(x, x, x)
        x = self.layer_norm1(x + attn_output)

        # 前馈网络 + 残差连接 + 层归一化
        ff_output = self.feed_forward(x)
        x = self.layer_norm2(x + ff_output)
        return x

实验结果

在 WMT 2014 英德翻译任务上,Transformer 达到了 28.4 BLEU 的成绩,比此前最好的模型提高了超过 2 BLEU。在英法翻译任务上更是达到了 41.0 BLEU

更关键的是训练效率:Transformer 的训练速度比基于 RNN 的模型快了一个数量级。

深远影响

Transformer 的影响远超机器翻译:

  1. BERT(2018):仅使用编码器,开创了预训练-微调范式
  2. GPT 系列(2018-2024):仅使用解码器,证明了规模化的威力
  3. Vision Transformer(2020):将 Transformer 引入计算机视觉
  4. 大模型时代:几乎所有现代大语言模型都基于 Transformer 架构

个人思考

这篇论文的标题 “Attention Is All You Need” 现在看来确实有先见之明。注意力机制不仅替代了 RNN,更成为了深度学习中最重要的计算原语之一。理解这篇论文是深入大模型领域的第一步。

论文信息

原始论文
Attention Is All You Need ↗
发表年份
2017
作者
Vaswani et al.