AI 学习计划
吴恩达 + Karpathy + 经典课程 + DeepTutor 四线并行 目标:3-4 个月系统掌握深度学习 + 动手能力
路线图
第一阶段(第 1-3 周) 第二阶段(第 4-6 周) 第三阶段(第 7-12 周)
神经网络基础 Transformer + NLP 实战 + 拓展
│ │ │
├─ 吴恩达 C1 ├─ 吴恩达 C5 ├─ 吴恩达 C4 (CNN)
├─ CS229(理论补充) ├─ CS224n(NLP) ├─ CS231n(CV)
├─ Karpathy backprop ├─ Karpathy build GPT ├─ Fast.ai / HF
└─ DeepTutor 巩固 └─ DeepTutor 面试题 └─ 做项目 + 部署
课程清单
| 缩写 | 全称 | 时长 | 优先级 |
|---|---|---|---|
| 吴恩达 C1 | Deep Learning Specialization C1 | ~10h | ⭐⭐⭐ 必看 |
| 吴恩达 C2 | 调参 / 正则化 / 优化 | ~8h | ⭐⭐⭐ |
| 吴恩达 C4 | CNN / 图像 | ~8h | ⭐⭐ |
| 吴恩达 C5 | Sequence Models / RNN / Attention | ~8h | ⭐⭐⭐ |
| Karpathy backprop | 反向传播从零推导 | 1h | ⭐⭐⭐ |
| Let’s build GPT | 手写 GPT | 2-3h | ⭐⭐⭐ |
| CS229 | ML 理论(数学多) | ~20h | ⭐⭐ 可选 |
| CS224n | NLP 入门(RNN/BERT/Transformer) | ~15h | ⭐⭐ |
| CS231n | CV 入门(CNN/图像分类) | ~15h | ⭐⭐ |
| 李沐 C1 | 动手学深度学习(线性/卷积/循环) | ~15h | ⭐⭐⭐ 中文最佳 |
| 李沐 C2 | 动手学深度学习(Transformer/BERT/GPT) | ~10h | ⭐⭐⭐ |
| Hugging Face NLP Course | Transformers 库实战 | ~5h | ⭐⭐ 实用 |
| RLHF / DPO 专题 | 结合 DeepTutor 学 | ~3h | ⭐⭐ 面试常问 |
第一周计划(面试突击)
目标:搞懂神经网络基础 + RLHF + 准备面试项目
| 天 | 李沐《动手学深度学习》 | 面试专题 | 动手 |
|---|---|---|---|
| 周一 | 1h: 第 1-2 章(线性回归 + Softmax) | — | — |
| 周二 | 1h: 第 3 章(多层感知机 MLP) | 0.5h: 问 DeepTutor “RLHF 流程” | — |
| 周三 | 1h: 第 4 章(过拟合 / 正则化) | — | — |
| 周四 | 1h: 第 5 章(反向传播) | 0.5h: 问 DeepTutor “DPO vs RLHF” | — |
| 周五 | 回顾 + 做题 | — | 整理 interview-cli 项目亮点 |
| 周六 | — | — | 写项目介绍文档 |
| 周日 | DeepTutor 模拟面试 | — | — |
每天流程:
# 1. 看李沐视频(B站搜"动手学深度学习")
# 2. 跟敲代码(李沐有配套 Jupyter Notebook)
# 3. 你问我 → 我用苏格拉底提问法引导你,不直接给答案
# 比如你问"什么是梯度下降"
# 我会问:"你爬山想最快到山脚,你会怎么走?"
# 你回答后我再追问,直到你自己推导出公式
# 4. 周末让 DeepTutor 出题考你怎么用苏格拉底法:
你问:什么是反向传播?
我答:一个 2 层网络,第一层算出 5,第二层算出 3,
正确答案是 10,你猜梯度会往哪调?
...(你回答)
那第一层的权重怎么知道该调多少?
...(你再答)
这个过程就叫反向传播
你问:为什么用交叉熵不用 MSE?
我答:分类任务输出是 [0.7, 0.2, 0.1],
MSE 算出来 0.3,交叉熵算出来 0.01,
这两个结果会怎么影响梯度?
...(你答)
那你觉得分类该用哪个?
周一:线性回归 + Softmax 回归
资料:
- 视频:李沐《动手学深度学习》第 1-2 章(B站)
- 配套代码:https://zh.d2l.ai/ (有 Jupyter Notebook)
知识点:
- 线性回归模型:y = wx + b
- 损失函数:均方误差 (MSE)
- 梯度下降:参数更新公式 w = w - lr * gradient
- Softmax 回归:多分类,输出概率分布
- 交叉熵损失:分类任务的标准损失
- 数据集:训练集 / 验证集 / 测试集
练习:
# 1. 跟敲线性回归代码,修改学习率看效果
# 2. 用三维数据扩展线性回归(x1, x2 → y)
# 问 DeepTutor:
"线性回归和 Softmax 回归本质区别"
"为什么分类用交叉熵不用 MSE"易错点:
❌ 学习率设太大 → 梯度爆炸,Loss 变成 NaN
❌ 忘记归一化特征 → 梯度更新不平衡
❌ 混淆 Softmax(多分类)和 Sigmoid(二分类)
通过标准:
□ 能手写线性回归梯度更新公式
□ 能说清楚 Softmax 和交叉熵的关系
□ 代码跑通,Loss 曲线正常下降
周二:多层感知机 MLP + RLHF
资料:
- 李沐第 3 章(MLP)
- DeepTutor 问 RLHF
知识点:
- 激活函数:ReLU / Sigmoid / Tanh
- 隐藏层:增加层数提升模型容量
- 万能逼近定理:一层隐藏层可逼近任意连续函数
- 初始化:权重不能全零,用 Xavier / He 初始化
RLHF:
- 三个阶段:SFT → Reward Model → PPO
- SFT:用高质量数据微调
- RM:训练一个打分模型
- PPO:用打分模型优化策略
- DPO:不用训练 Reward Model,直接优化
练习:
# 跟敲 MLP 代码
# 比较不同激活函数的效果
# 问 DeepTutor:
"为什么需要激活函数?不用会怎样"
"RLHF 为什么比直接 SFT 效果好"
"DPO 解决了 RLHF 的什么问题"易错点:
❌ ReLU 的死亡问题(梯度为 0 不再更新)
❌ 层数越多不一定越好(过拟合)
❌ 把 RLHF 和 DPO 当成完全不同的方法(DPO 是 RLHF 的简化版)
通过标准:
□ 能手画一个 2 层 MLP 结构图
□ 代码跑通,3 种激活函数对比过
□ 能说出 RLHF 三个阶段的各自作用
周三:过拟合 + 正则化
资料:
- 李沐第 4 章
知识点:
- 过拟合:训练好测试差,模型学噪音
- 欠拟合:训练测试都差,模型学不够
- 正则化:L1(稀疏)、L2(权重衰减)
- Dropout:随机丢弃神经元,防止共适应
- 早停:验证集 Loss 不再下降时停止
- 数据增强:旋转、裁剪、翻转
练习:
# 对比有无正则化的训练曲线
# 调整 Dropout 率看效果
# 问 DeepTutor:
"L1 和 L2 正则化的区别"
"Dropout 训练和推理时行为有什么不同"易错点:
❌ Dropout 只在训练时用,推理时要关掉
❌ L1 产生稀疏解,L2 不会
❌ 正则化强度太大 → 欠拟合
通过标准:
□ 能画出过拟合曲线(训练低、测试高)
□ 能用 dropout 改善过拟合
□ 能说清楚 L1 和 L2 的区别
周四:反向传播
资料:
- 李沐第 5 章
知识点:
- 链式法则:复合函数求导
- 计算图:前向传播计算 Loss,反向传播计算梯度
- 梯度消失 / 爆炸:层数多时梯度不稳定
- BatchNorm:标准化每层输入,缓解梯度问题
练习:
# 手推一个 2 层网络的梯度
# 跟敲反向传播代码
# 问 DeepTutor:
"用具体数字手推一次反向传播"
"梯度消失怎么解决"易错点:
❌ 链式求导顺序搞反
❌ 忘记 Sigmoid 导数最大值只有 0.25
❌ 多层累乘 → 梯度消失/爆炸
通过标准:
□ 能手推一个 1 个隐藏层的梯度
□ 能画出计算图标注正向/反向路径
周五:回顾 + 做题
# 1. 翻一遍本周笔记,把不懂的标记出来问 DeepTutor
# 2. 整理 interview-cli 项目亮点
# 问 DeepTutor:
"出 10 道神经网络面试题"
# 不翻书,看能做对几道周六:项目材料准备
# 写一份项目的 README,重点写:
# 1. 解决的问题
# 2. 技术栈
# 3. 你的贡献(全流程、CI/CD、模板体系)
# 4. 难点和解决方案周日:模拟面试
# 问 DeepTutor:
"扮演面试官,模拟 AI 应用工程师面试"
"从基础问题开始,我答错你纠正"第一周通过标准
□ 能手推线性回归和 2 层网络的梯度
□ 能说出 RLHF 和 DPO 的核心区别
□ 代码跑通至少 3 个练习
□ 项目亮点能说 3 分钟以上
□ 模拟面试答对 60% 以上
第二阶段:Transformer + NLP(第 4-6 周)
目标:搞懂 GPT 怎么工作的
| 周 | 主课 | 动手 | DeepTutor |
|---|---|---|---|
| 4 | 吴恩达 C5 Week 1: RNN 基础 | — | “RNN 和 LSTM 区别” |
| 5 | 吴恩达 C5 Week 2-3: Attention | Let’s build GPT (前 1h) | “self-attention 公式推导” |
| 6 | CS224n: Transformer 专题 | Let’s build GPT (完成) | “出 transformer 面试题” |
阶段目标: 能说清楚 self-attention / multi-head / 位置编码
第三阶段:CV + 实战(第 7-12 周)
目标:能做实际项目并部署
| 周 | 主课 | 动手 | DeepTutor |
|---|---|---|---|
| 7 | 吴恩达 C4 Week 1: CNN | — | “卷积和池化原理” |
| 8 | CS231n: 经典 CNN 架构 | 跑图像分类 demo | ”解释 ResNet / VGG” |
| 9 | CS229: 顺便复习 ML | 选项目方向 | 帮选项目 + 评估难度 |
| 10 | — | 做项目(编码) | 帮 review 代码 |
| 11 | — | 项目调优 + 部署 | ”解释 Accuracy / F1 / 混淆矩阵” |
| 12 | HF NLP Course | 项目收尾 | 模拟面试 |
阶段目标: 从零写一个 CV 或 NLP 项目并部署上线
每天建议
30-60 分钟 → 主课(吴恩达 / CS 系列)
15 分钟 → Karpathy 写代码(只看不动手会忘)
随时 → 不懂的问 DeepTutor
每周结束 → "出题考我"
快速启动
# 第 1 天
"帮我总结吴恩达 C1 Week1 核心概念"
# 看完视频后
"数小思,出 5 道神经网络面试题考我"