欢迎来到 Transformer 学习之旅!这个项目将带你从零开始理解和实现 Transformer 架构。
- 理论学习: 阅读
docs/01_自注意力机制原理.md - 代码实践: 运行
code/01_self_attention.py - 练习: 修改参数,观察注意力权重的变化
- 理论学习: 阅读
docs/02_多头注意力机制.md - 代码实践: 运行
code/02_multi_head_attention.py - 可视化: 使用提供的可视化工具理解多头机制
- 理论学习: 阅读
docs/03_Transformer架构详解.md - 代码实践: 运行
code/03_transformer_model.py - 理解组件: 编码器、解码器、位置编码
- 项目实践:
projects/machine_translation/ - 训练模型: 在简单数据集上训练 Transformer
- 评估优化: 理解训练技巧和优化方法
TransformerLearning/
├── README.md # 主学习指南
├── docs/ # 原理讲解文档
│ ├── 01_自注意力机制原理.md
│ ├── 02_多头注意力机制.md
│ ├── 03_Transformer架构详解.md
│ └── 04_位置编码详解.md
├── code/ # 代码实现
│ ├── 01_self_attention.py # 自注意力机制实现
│ ├── 02_multi_head_attention.py # 多头注意力实现
│ ├── 03_transformer_model.py # 完整Transformer实现
│ └── utils/ # 工具函数
│ ├── visualization.py # 可视化工具
│ └── data_utils.py # 数据处理工具
├── projects/ # 实战项目
│ └── machine_translation/ # 机器翻译项目
│ ├── train.py
│ ├── inference.py
│ └── data/
└── requirements.txt # 依赖包
pip install -r requirements.txt- Python 3.8+
- PyTorch 2.0+
- NumPy
- Matplotlib (用于可视化)
- seaborn (用于美化图表)
完成本指南后,你将能够:
- ✅ 深刻理解自注意力机制的数学原理
- ✅ 掌握多头注意力的工作机制
- ✅ 理解 Transformer 的完整架构
- ✅ 从零实现一个完整的 Transformer 模型
- ✅ 应用 Transformer 解决实际问题
- Attention Is All You Need (Vaswani et al., 2017)
- 原始 Transformer 论文
- 链接
- The Illustrated Transformer - Jay Alammar
- Attention? Attention! - Lilian Weng
- Stanford CS224N - Transformers and Self-Attention
- 3Blue1Brown - Attention in Transformers
- 循序渐进: 按照第一阶段→第四阶段的顺序学习
- 动手实践: 每个理论章节后都要运行对应代码
- 调试观察: 使用 print 语句观察张量的形状和数值
- 可视化: 多使用可视化工具理解注意力权重
- 修改实验: 尝试修改参数,观察模型行为变化
# 运行第一个例子:自注意力机制
python code/01_self_attention.py
# 你会看到注意力权重的可视化
# 以及每一步的详细计算过程- 先阅读对应的
docs/文件夹中的理论文档 - 理解核心概念和数学公式
- 运行
code/文件夹中的对应代码 - 阅读代码注释,理解实现细节
- 修改代码参数,做实验
- 完成每个阶段的小练习
建议在学习过程中记录:
- 难以理解的概念
- 代码中的关键实现
- 实验结果和观察
- 自己的思考和总结
A:
- Python 编程基础
- 线性代数(矩阵运算)
- 深度学习基础(神经网络、反向传播)
- PyTorch 基本使用
A:
- 理论理解: 2-3天
- 代码实践: 3-4天
- 项目实战: 1-2周
A:
- 检查张量形状是否匹配
- 使用可视化工具观察中间结果
- 对照论文和代码理解
- 查看代码注释和文档说明
掌握基础后,可以探索:
- BERT、GPT 等预训练模型
- Vision Transformer (ViT)
- Efficient Transformers
- 长序列处理技术
开始你的 Transformer 学习之旅吧! 🎓