Transformer 完整版离线学习手册

🧠 Transformer 完整架构图

Inputs (输入序列)
Input Embedding + Positional Encoding
🔷 Encoder 编码器 (N×)
Multi-Head Attention
多头自注意力
↓ Add & Norm
Feed Forward
前馈神经网络
↓ Add & Norm
↓ 重复 N 层 ↓
K,V传递给
Decoder
🔶 Decoder 解码器 (N×)
Masked Multi-Head Attention
掩码多头自注意力
↓ Add & Norm
Multi-Head Attention
交叉注意力 (Encoder-Decoder)
↓ Add & Norm
Feed Forward
前馈神经网络
↓ Add & Norm
↓ 重复 N 层 ↓
Linear + Softmax
Output Probabilities (输出概率)

来源:Attention Is All You Need (2017) | 论文设定: N=6, d_model=512, h=8

📌 基础总览(必背)

主流变体:
BERT:仅 Encoder → 双向理解(分类、抽取、匹配)
GPT:仅 Decoder → 单向生成(对话、续写、创作)
T5 / BART:完整 Encoder-Decoder → 翻译、摘要、生成

📥 输入层完整解析:Embedding + 位置编码

1. 词嵌入 (Token Embedding)

将文本转为向量:词/子词 → d_model 维向量(512)

输入嵌入后会 乘以 √d_model 缩放,防止数值过小

2. 位置编码 (Positional Encoding)

Transformer 无时序感知,必须加入位置信息

PE(pos, 2i) = sin(pos / 10000^(2i/d_model)) PE(pos, 2i+1) = cos(pos / 10000^(2i/d_model))

3. 最终输入

最终特征 = Token Embedding + Positional Encoding

⚙️ Encoder 完整拆解(每层)

核心结构 多头自注意力 → Add&Norm → FFN → Add&Norm

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

第一步:缩放点积注意力

Attention(Q,K,V) = softmax( QK^T / √dk ) * V

第二步:多头机制 (Multi-Head)

2. 残差连接 + 层归一化 (Add & Norm)

LayerNorm( x + 子层输出 )

作用:解决深层网络梯度消失/爆炸,稳定训练

3. 前馈网络 (FFN)

FFN(x) = max(0, xW1 + b1) W2 + b2

🔑 Decoder 完整拆解(每层)

三层注意力 掩码自注意力 → 交叉注意力 → FFN

1. 掩码多头自注意力 (Masked Multi-Head Attention)

2. 交叉注意力 (Encoder-Decoder Attention)

3. 前馈网络 + Add&Norm

与 Encoder 完全一致

📤 输出层完整流程

  1. Decoder 最后一层输出
  2. 线性层:d_model → 词表大小(映射)
  3. Softmax:转为概率分布
  4. 取概率最大的词:Greedy Search
  5. 生成式常用:Beam Search(提升生成效果)

🎯 注意力机制全分类(面试必考)

注意力类型 位置 Q/K/V来源 作用
自注意力 Encoder 全部来自输入 建模全局上下文
掩码自注意力 Decoder第一层 全部来自输出 防止看见未来token
交叉注意力 Decoder第二层 Q来自Decoder,K/V来自Encoder 对齐输入输出序列

🚀 Transformer 核心优势(对比RNN)

🔁 训练 & 推理完整流程

训练阶段(Teacher Forcing)

推理阶段(自回归生成)

📝 面试高频考点(直接背诵)

1. 为什么 Transformer 比 RNN 快?
→ 因为无循环依赖,可全序列并行计算
2. 为什么要做 Q/K/V 三个矩阵?
→ Q 查,K 匹配,V 提取信息,提升注意力表达能力
3. 为什么要缩放 QK^T / √dk?
→ 防止点积过大,softmax 进入饱和区,避免梯度消失
4. 为什么需要位置编码?
→ Transformer 无时序和位置感知,必须注入位置信息
5. 掩码注意力的作用?
屏蔽未来token,保证生成时看不到后面的信息。
6. 交叉注意力的作用?
→ 让 Decoder 对齐 Encoder 的输入信息

📌 核心公式速查(完整版)

1. 缩放点积注意力: Attention(Q,K,V) = softmax( QK^T / √dk ) V 2. 多头注意力: MultiHead(Q,K,V) = Concat(head1...headh) W^O 其中 headi = Attention( QW_i^Q, KW_i^K, VW_i^V ) 3. 位置编码: PE(pos,2i)=sin(pos/10000^(2i/d_model)) PE(pos,2i+1)=cos(pos/10000^(2i/d_model)) 4. 前馈网络: FFN(x) = max(0, xW1+b1) W2 + b2 5. 残差归一化: LayerNorm( x + Sublayer(x) )

✅ Transformer 一句话总结

Transformer 是一种完全基于自注意力机制的编码器-解码器架构,通过并行计算、多头注意力、残差连接实现高效的全局序列建模,是当今所有大模型的基础底座。