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 面试题           └─ 做项目 + 部署

课程清单

缩写全称时长优先级
吴恩达 C1Deep Learning Specialization C1~10h⭐⭐⭐ 必看
吴恩达 C2调参 / 正则化 / 优化~8h⭐⭐⭐
吴恩达 C4CNN / 图像~8h⭐⭐
吴恩达 C5Sequence Models / RNN / Attention~8h⭐⭐⭐
Karpathy backprop反向传播从零推导1h⭐⭐⭐
Let’s build GPT手写 GPT2-3h⭐⭐⭐
CS229ML 理论(数学多)~20h⭐⭐ 可选
CS224nNLP 入门(RNN/BERT/Transformer)~15h⭐⭐
CS231nCV 入门(CNN/图像分类)~15h⭐⭐
李沐 C1动手学深度学习(线性/卷积/循环)~15h⭐⭐⭐ 中文最佳
李沐 C2动手学深度学习(Transformer/BERT/GPT)~10h⭐⭐⭐
Hugging Face NLP CourseTransformers 库实战~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: AttentionLet’s build GPT (前 1h)“self-attention 公式推导”
6CS224n: Transformer 专题Let’s build GPT (完成)“出 transformer 面试题”

阶段目标: 能说清楚 self-attention / multi-head / 位置编码


第三阶段:CV + 实战(第 7-12 周)

目标:能做实际项目并部署

主课动手DeepTutor
7吴恩达 C4 Week 1: CNN“卷积和池化原理”
8CS231n: 经典 CNN 架构跑图像分类 demo”解释 ResNet / VGG”
9CS229: 顺便复习 ML选项目方向帮选项目 + 评估难度
10做项目(编码)帮 review 代码
11项目调优 + 部署”解释 Accuracy / F1 / 混淆矩阵”
12HF NLP Course项目收尾模拟面试

阶段目标: 从零写一个 CV 或 NLP 项目并部署上线


每天建议

30-60 分钟 → 主课(吴恩达 / CS 系列)
15 分钟    → Karpathy 写代码(只看不动手会忘)
随时       → 不懂的问 DeepTutor
每周结束   → "出题考我"

快速启动

# 第 1 天
"帮我总结吴恩达 C1 Week1 核心概念"
 
# 看完视频后
"数小思,出 5 道神经网络面试题考我"