AI 基础 | | 约 6 分钟 | 2,244 字

Transformer 原理详解

深入理解 Transformer 架构的工作原理,包括注意力机制、编码器解码器等核心组件

为什么需要 Transformer

在 Transformer 出现之前,循环神经网络(RNN)是处理序列数据的主流方法。但 RNN 存在两个根本性问题:

  1. 梯度消失/爆炸:长序列信息难以传递
  2. 顺序计算:无法并行处理,训练效率低

2017 年,Google 在论文《Attention Is All You Need》中提出了 Transformer,完全摒弃了循环结构,僅使用注意力机制,实现了并行训练和更好的长距离依赖建模。


Transformer 核心组件

1. 自注意力机制 (Self-Attention)

注意力机制让模型能够”关注”输入序列中的相关部分。

输入: "The cat sat on the mat"
当处理 "sat" 时,模型会更多地关注 "cat"(主语)和 "mat"(位置)

计算过程:

  1. Q (Query): 我当前要找什么
  2. K (Key): 我有什么可以被找到
  3. V (Value): 找到后传递什么信息
Attention(Q, K, V) = softmax(QK^T / √d_k) × V
  • d_k 是向量维度,除以 √d_k 是为了防止点积过大导致梯度消失

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

不是只做一次注意力,而是并行做多次,每次学习不同的注意力模式:

  • 有的头关注语法结构
  • 有的头关注语义关系
  • 有的头关注位置信息
# 简化示意
multi_head = Concat(head_1, head_2, ..., head_8) × W_O

3. 位置编码 (Positional Encoding)

由于 Transformer 没有循环结构,需要显式添加位置信息:

# 位置编码公式
PE(pos, 2i) = sin(pos / 10000^(2i/d_model))
PE(pos, 2i+1) = cos(pos / 10000^(2i/d_model))

这样可以让模型区分不同位置的 token。

4. 前馈网络 (Feed Forward Network)

每个注意力层后面跟着一个前馈网络:

FFN(x) = ReLU(x × W_1 + b_1) × W_2 + b_2

通常是两层线性变换,中间有 ReLU 激活。


Transformer 架构

编码器 (Encoder)

输入 → 嵌入 → 位置编码 → N × (多头注意力 + 残差 LayerNorm → FFN + 残差 LayerNorm) → 输出
  • 编码器处理输入序列,生成表示
  • 每个位置都能看到完整输入

解码器 (Decoder)

输出 → 嵌入 → 位置编码 → N × (掩码多头注意力 + 编码器-解码器注意力 + 残差 LayerNorm → FFN + 残差 LayerNorm) → 输出
  • 解码器是自回归的:每次预测下一个 token
  • 掩码多头注意力:防止看到未来信息

编码器 vs 解码器

特性编码器解码器
注意力双向(能看到完整输入)单向(只能看已生成的)
用途理解、分类、提取特征生成、翻译、续写
代表模型BERTGPT

经典 Transformer 变体

BERT (Bidirectional Encoder Representations)

  • 只使用编码器
  • 预训练:MLM(掩码语言模型)+ NSP(下一句预测)
  • 用途:文本分类、命名实体识别、问答

GPT (Generative Pre-trained Transformer)

  • 只使用解码器
  • 预训练:语言建模(预测下一个词)
  • 用途:文本生成、对话

T5 (Text-to-Text Transfer Transformer)

  • 编码器+解码器
  • 统一框架:所有任务都转化为文本到文本

Transformer 的优势

  1. 并行计算:不依赖顺序处理,训练速度快
  2. 长距离依赖:注意力机制可以直接建模任意距离的关系
  3. 可扩展性:增加层数和维度能持续提升性能
  4. 通用性:NLP 之外,也应用到 CV、语音等领域

后续发展

  • Transformer-XL: 解决长文本问题
  • Reformer: 降低注意力计算复杂度
  • Longformer: 处理超长序列
  • Vision Transformer (ViT): 将 Transformer 应用于图像
  • LLM: GPT、BERT 等大语言模型的基础架构

理解 Transformer 是学习现代 AI 的基础,它的注意力机制思路也影响了后续众多模型。

评论

加载中...

相关文章

分享:

评论

加载中...