好的,我来帮你系统梳理 《Attention is All You Need》 论文及其提出的 Transformer 模型,从背景、核心原理、结构到关键技术细节做详细解读。
1️⃣ 背景与意义
- 传统 序列建模(如机器翻译)主要依赖:
- RNN / LSTM / GRU:顺序处理序列,难以并行化,长序列易遗忘信息
- CNN:可以并行处理,但感受野有限,建模长依赖需堆叠多层
- Transformer 提出 完全基于注意力机制(Attention):
- 无需循环或卷积
- 可以 完全并行计算
- 能高效捕捉全局依赖关系
论文提出后,Transformer 成为 NLP、CV 等领域的基础模型(BERT、GPT 系列、ViT 等均基于此)。
2️⃣ Transformer 模型概览
- 核心思想:序列输入通过 自注意力(Self-Attention) 和前馈网络处理,生成输出序列
- 结构:
- Encoder-Decoder 架构
- Encoder:输入序列编码为连续表示
- Decoder:生成输出序列,带有掩码保证自回归
- Attention 替代 RNN,捕获序列中任意位置的依赖
3️⃣ Encoder-Decoder 结构
3.1 Encoder(堆叠 N 层)
每层包含:
- Multi-Head Self-Attention
- Feed Forward Network (FFN)
- Layer Normalization + Residual Connection
流程:
Input Embedding + Positional Encoding → Multi-Head Self-Attention → Add & Norm → FFN → Add & Norm → 输出
3.2 Decoder(堆叠 N 层)
每层包含:
- Masked Multi-Head Self-Attention(防止看到未来信息)
- Encoder-Decoder Attention(查询 Encoder 输出)
- Feed Forward Network + Residual + LayerNorm
流程:
Target Embedding + Positional Encoding → Masked Self-Attention → Add & Norm
→ Encoder-Decoder Attention → Add & Norm → FFN → Add & Norm → 输出
4️⃣ 核心技术:Attention
4.1 Scaled Dot-Product Attention
公式:Attention(Q,K,V)=softmax(QKTdk)V
- Q(Query):查询向量
- K(Key):键向量
- V(Value):值向量
- d_k:Key 向量维度,用于缩放防止梯度消失
- 输出是 加权求和,权重来源 Q 与 K 的相似度
4.2 Multi-Head Attention
- 同时执行 h 个注意力头:
MultiHead(Q,K,V)=Concat(head1,…,headh)WO
- 每个 head 可以关注序列不同子空间特征
- 提升模型表达能力
5️⃣ Positional Encoding(位置编码)
- 因 Transformer 无循环和卷积,需显式加入位置信息
- 使用 正弦 / 余弦函数编码:
PE(pos,2i)=sin(pos/100002i/dmodel),PE(pos,2i+1)=cos(pos/100002i/dmodel)
- 与输入 embedding 相加,保留序列位置信息
6️⃣ Feed Forward Network (FFN)
- 每层包含两个全连接层:
FFN(x)=max(0,xW1+b1)W2+b2
- 作用:对每个位置进行非线性映射,提高表示能力
7️⃣ 训练细节
- Optimizer:Adam
- Learning rate schedule:
lr=dmodel−0.5⋅min(step−0.5,step⋅warmup−1.5)
- Regularization:Dropout + Label Smoothing
- 损失函数:交叉熵损失
8️⃣ Transformer 的优势
特性 | 优势 |
---|---|
并行计算 | 无需循环,可 GPU 高效训练 |
长依赖建模 | Self-Attention 可捕捉任意位置依赖 |
表达能力强 | Multi-Head Attention + FFN |
模块化 | Encoder / Decoder 易扩展 |
9️⃣ Transformer 的改进与应用
- BERT:双向 Encoder 预训练
- GPT 系列:单向 Decoder 生成模型
- ViT:Transformer 应用于计算机视觉
- T5 / ChatGPT:统一 Encoder-Decoder 架构处理多任务
10️⃣ 总结
- Transformer 摒弃 RNN/CNN,完全基于注意力机制
- Encoder-Decoder 架构:
- Encoder:提取输入序列特征
- Decoder:生成输出序列
- 核心组件:
- Scaled Dot-Product Attention
- Multi-Head Attention
- Positional Encoding
- Feed Forward Network
- 优势:
- 并行计算、高效训练
- 捕捉长距离依赖
- 可扩展性强,成为现代 NLP 基石
发表回复