🗺️ 整体规划
阶段一: 基础入门 (1-2周)
阶段二: 深度学习核心 (2-3周)
阶段三: NLP专项 (4-6周)
阶段四: Transformer (3-4周)
阶段五: 项目实战 (持续)
📚 阶段一:基础入门
目标:能跑通PyTorch代码,理解基本概念
1.1 必学内容
| 知识点 | 掌握程度 | 笔记位置 |
|---|---|---|
| 张量创建 | 熟练 | 整理-01 第三章 |
| 张量运算 | 熟练 (* vs @) | 整理-01 第四章 |
| 自动微分 | 理解原理 | 整理-01 第五章 |
| 训练循环 | 能写出来 | 整理-01 第五章 |
1.2 学习顺序
第1天: 环境安装 + 跑通demo
第2-3天: 张量创建 (torch.tensor, zeros, randn)
第4-5天: 张量操作 (reshape, 索引, 拼接)
第6-7天: 自动微分 + 训练循环
1.3 关键代码(必须背下来)
python
# 训练循环模板
for epoch in range(100):
optimizer.zero_grad() # 1. 清梯度
output = model(input) # 2. 前向
loss = criterion(output, target) # 3. 损失
loss.backward() # 4. 反向
optimizer.step() # 5. 更新
1.4 配套代码
| 代码 | 练习重点 |
|---|---|
| Code01/01-创建张量 | 所有创建方式 |
| Code01/02-张量和Numpy | 互转操作 |
| Code02/03-张量运算 | 基本运算 |
| Code02/07-张量拼接 | cat vs stack |
1.5 检查清单
- 会创建各种形状的张量
- 区分 * 和 @ 的用法
- 能写出完整训练循环
- 理解为什么要zero_grad
💪 阶段二:深度学习核心
目标:理解神经网络原理,理解激活函数和损失函数
2.1 必学内容
| 知识点 | 掌握程度 | 笔记位置 |
|---|---|---|
| 激活函数 | 理解区别,会选 | 整理-01 第六章 |
| 损失函数 | 会用CE和MSE | 整理-01 第六章 |
| 参数初始化 | 理解原理 | Code03/02-参数初始化 |
| 反向传播 | 理解原理 | 整理-01 第五章 |
2.2 激活函数对比
| 函数 | 输出范围 | 适用场景 |
|---|---|---|
| Sigmoid | (0,1) | 二分类输出 |
| Tanh | (-1,1) | 少用 |
| ReLU | [0,∞) | 隐藏层首选 |
| Softmax | (0,1) | 多分类输出 |
2.3 损失函数对比
| 问题类型 | 损失函数 |
|---|---|
| 多分类 | CrossEntropyLoss |
| 二分类 | BCELoss |
| 回归 | MSELoss / SmoothL1Loss |
2.4 配套代码
| 代码 | 练习重点 |
|---|---|
| Code03/01-激活函数 | 画图看曲线 |
| Code03/ANN/02-参数初始化 | 各种初始化方式 |
| Code04/02-损失函数 | 分类+回归 |
| Code04/03-网络优化 | 优化器对比 |
2.5 检查清单
- 能搭建简单神经网络
- 知道用什么激活函数
- 能训练模型并调参
- 跑通MNIST手写识别
📖 阶段三:NLP专项
目标:能处理文本数据,理解序列模型
3.1 学习顺序
第1周: 文本预处理
- jieba分词
- 停用词处理
- 词性标注
第2周: 文本表示
- One-Hot编码
- Word2Vec
- Embedding层
第3周: RNN/LSTM/GRU
- RNN原理
- LSTM门控
- 实战文本分类
第4周: 注意力机制
- Attention原理
- Seq2Seq+Attention
3.2 关键对比
RNN vs LSTM vs GRU
| 模型 | 门数 | 参数量 | 记忆能力 |
|---|---|---|---|
| RNN | 0 | 最少 | 短 |
| LSTM | 3 | 较多 | 长 |
| GRU | 2 | 较少 | 长 |
推荐:
- 短序列 → RNN
- 中序列 → GRU
- 长序列 → LSTM
3.3 配套代码
| 代码目录 | 内容 |
|---|---|
| Code05/NLP/01_文本预处理 | 分词、向量化 |
| Code05/NLP/02_RNN循环神经网络 | RNN/LSTM/GRU/Attention |
| 整理-02 | 文本处理与RNN笔记 |
| 整理-04 | 完整NLP笔记 |
3.4 检查清单
- 能做文本预处理
- 能把文本转成向量
- 能用RNN/LSTM做分类
- 理解Attention原理
- 跑通IMDB情感分析
🔥 阶段四:Transformer
目标:理解Transformer架构,能用BERT/GPT
4.1 学习内容
第1-2周: Transformer原理
- 自注意力机制
- 多头注意力
- 编码器-解码器
第3周: BERT/GPT使用
- 加载预训练模型
- 文本分类微调
- 特征提取
第4周: 实战项目
- 情感分析
- 问答系统
- 文本生成
4.2 Transformer核心
注意力公式:
Attention(Q,K,V) = softmax(QK^T / √d)V
Q=查询: 我要找什么
K=键: 候选有什么
V=值: 候选的实际内容
4.3 配套代码
| 代码 | 内容 |
|---|---|
| Code05/NLP/03_Transformer | Transformer实现 |
| Code05/NLP/04_迁移学习/01_fasttext | FastText |
| Code05/NLP/04_迁移学习/02_预训练模型 | BERT微调 |
4.4 检查清单
- 理解Transformer原理
- 能用Hugging Face加载模型
- 能微调BERT做分类
- 理解预训练-微调范式
🚀 阶段五:项目实战
建议项目由易到难
5.1 入门级(1-2周)
| 项目 | 技能点 |
|---|---|
| MNIST手写数字识别 | CNN基础 |
| IMDB情感分析 | 文本分类 |
| 波士顿房价预测 | 回归问题 |
5.2 进阶级(2-4周)
| 项目 | 技能点 |
|---|---|
| 猫狗图像分类 | CNN数据增强 |
| 文本生成(LSTM) | 序列生成 |
| 机器翻译 | Seq2Seq+Attention |
| 中文分词 | BiLSTM-CRF |
5.3 高级(4周+)
| 项目 | 技能点 |
|---|---|
| 聊天机器人 | Transformer |
| 知识图谱 | GNN |
| AIGC应用 | Stable Diffusion |
| 大模型微调 | Lora/PPO |
📚 学习资源
你已有的
| 资源 | 用途 |
|---|---|
| 整理-01~04 | 理论笔记 |
| Code01~04 | PyTorch基础代码 |
| Code05/NLP | NLP完整代码 |
| PPT/PDF | 课件 |
补充推荐
| 资源 | 用途 |
|---|---|
| PyTorch官方文档 | 查API |
| Hugging Face | 预训练模型 |
| Kaggle | 比赛实战 |
| GitHub | 看开源项目 |
❓ 常见问题
Q: 学完要多久?
按部就班: 3-6个月可以入门
每天2-3小时的话,6-9个月能找工作
Q: 需要学数学吗?
入门: 高中数学足够
进阶: 线性代数+概率论
高级: 优化理论
Q: 英文不好怎么办?
先看中文教程
后面必须看英文文档
Google翻译辅助
Q: 没有GPU怎么办?
Google Colab (免费GPU)
Kaggle Notebook (免费GPU)
云服务器 (便宜)
✅ 检查清单汇总
阶段一完成检查
- 会安装PyTorch
- 能创建各种张量
- 区分 * 和 @
- 能写训练循环
- 跑通MNIST
阶段二完成检查
- 理解激活函数区别
- 会用常见损失函数
- 理解反向传播原理
- 能搭建神经网络
阶段三完成检查
- 会文本预处理
- 会文本向量化
- 能用RNN/LSTM
- 理解Attention
阶段四完成检查
- 理解Transformer
- 会用BERT/GPT
- 能微调模型
📝 总结
核心原则:
1. 动手 > 看书
2. 项目 > 理论
3. 坚持 > 聪明
学习顺序:
PyTorch基础 → 神经网络 → CNN → RNN → Attention → Transformer
关键:每学一个知识点,马上动手写代码!