YCVisionLog
返回笔记
Computer Vision2026-10-2710 minYygz3145 人浏览已发布

D2L 详细学习顺序与章节说明

D2L 详细学习顺序与章节说明

Computer VisionNotes

面向深度学习理论补强、独立编程、计算机视觉与医学 AI 科研

核心教材:Dive into Deep Learning / 《动手学深度学习》
主要版本:中文版第二版(PyTorch)
学习目标:理论基础 → 独立实现 → 实验分析 → CV/医学AI科研迁移
推荐周期:12 周左右
推荐投入:每周 8~12 小时
本文件不是 D2L 原目录的简单复制,而是针对 CV/医学AI科研目标重新排序后的学习路线。


0. 先看结论:不要按照 D2L 原目录机械从头学到尾

对于以 计算机视觉、医学人工智能、科研能力 为主要目标的学习者,推荐顺序:

TEXT
阶段 0:第 1 章(快速浏览)
            ↓
阶段 1:第 2 章 预备知识
            ↓
阶段 2:第 3 章 线性神经网络
            ↓
阶段 3:第 4 章 多层感知机
            ↓
阶段 4:第 5 章 深度学习计算
            ↓
阶段 5:第 6 章 卷积神经网络
            ↓
阶段 6:第 7 章 现代卷积神经网络
            ↓
阶段 7:第 11 章 优化算法
            ↓
阶段 8:第 8~9 章 RNN(精选)
            ↓
阶段 9:第 10 章 注意力机制 / Transformer
            ↓
阶段 10:ViT / Transformers for Vision(英文版补充)
            ↓
阶段 11:第 13 章 计算机视觉(精选)
            ↓
阶段 12:回到自己的科研模型做 Model Audit 

为什么把第 11 章“优化算法”提前?

因为学完 CNN / ResNet 后,你已经有真实训练对象。这时候再理解:

TEXT
SGD
Momentum
Adam
Learning Rate Scheduler 

会比按照原书顺序等到 Transformer 后再学更直观。


1. 学习优先级标记

本文使用四种优先级。

S:必须精学

标准:

  • 读懂原理;
  • 关键公式自己推一遍;
  • From Scratch;
  • PyTorch 实现;
  • 能闭卷解释;
  • 能迁移到科研。

A:重点学习

标准:

  • 理解核心思想;
  • 能使用 PyTorch;
  • 能解释用途;
  • 不要求所有细节都从零实现。

B:理解即可

标准:

  • 看懂;
  • 知道为什么出现;
  • 知道和后续内容的关系。

C:暂时跳过 / 后续按需学习

不代表没有价值,只是对当前目标优先级低。


2. Stage 0:第 1 章 引言

推荐时间

1~2 小时

学习等级

B

1.1 日常生活中的机器学习

快速阅读。

理解:

TEXT
机器学习 ≠ 单纯写规则
数据 + 模型 + 目标函数 + 优化 

1.2 机器学习中的关键组件

认真看。

至少理解:

TEXT
数据
模型
目标函数
优化算法 

1.3 各种机器学习问题

了解:

TEXT
监督学习
无监督学习
强化学习
分类
回归
生成 

1.4~1.7

快速浏览即可。

不建议花很多时间背深度学习历史。

本章输出

写一篇:

TEXT
notes/01_introduction.md 

只回答三个问题:

TEXT
1. 一个机器学习系统由什么组成?
2. 深度学习和传统程序设计的主要区别是什么?
3. 我的研究问题属于什么类型? 

3. Stage 1:第 2 章 预备知识

这是整个 D2L 的地基。

建议时间:Week 1

2.1 数据操作

优先级:S

必须熟练:

PYTHON
torch.tensor
torch.arange
reshape
view
unsqueeze
squeeze
transpose
permute
cat
stack
sum
mean
max
argmax 

必须理解:

TEXT
shape
dtype
device
broadcasting
indexing 

必做

自己完成:

PYTHON
x = torch.arange(24) 

然后尝试变成:

TEXT
[2, 3, 4]
[4, 6]
[1, 2, 3, 4] 

并解释每个 shape。

验收

看到:

TEXT
[B, C, H, W] 

能够立即理解:

TEXT
Batch
Channel
Height
Width 

2.2 数据预处理

优先级:A

理解:

TEXT
缺失值
数据读取
数据转换 

不需要在 pandas 细节上花很多时间。

重点建立意识:

模型之前首先是数据。


2.3 线性代数

优先级:S

重点:

TEXT
标量
向量
矩阵
张量
矩阵乘法
点积
范数
转置
矩阵维度 

必须做到:

看到:

TEXT
Y = XW + b 

可以判断:

TEXT
X: [B, Din]
W: [Din, Dout]
b: [Dout]
Y: [B, Dout] 

不需要现在重新系统学一本线性代数教材。

原则:

D2L 遇到不会的数学,再补。


2.4 微积分

优先级:S

重点:

TEXT
导数
偏导
梯度
链式法则 

必须真正理解:

∂L/∂W 表示损失函数对参数变化的敏感程度。

必做

手算:

TEXT
y = x^2
y = x^3 + 2x 

以及简单链式法则。


2.5 自动微分

优先级:S+

这是 Week 1 最重要的一节。

必须理解:

TEXT
requires_grad
计算图
forward
backward
gradient
detach
no_grad
梯度累积 

必做实验

PYTHON
import torch

x = torch.tensor(2.0, requires_grad=True)
y = x ** 3 + 2 * x
y.backward()

print(x.grad) 

然后自己手算验证。

必须回答

TEXT
1. loss.backward() 到底做了什么?
2. 为什么 PyTorch 可以自动求梯度?
3. 为什么连续 backward 会发生梯度累积?
4. 为什么训练时需要 optimizer.zero_grad()? 

2.6 概率

优先级:A

重点:

TEXT
随机变量
概率分布
期望
方差
条件概率 

不要在复杂概率论证明中停留过久。

后续看到:

TEXT
Dropout
初始化
概率模型
不确定性 

时再回来看。


2.7 查阅文档

优先级:A

培养:

TEXT
遇到 PyTorch API 问题
↓
先查官方 documentation
↓
再问 AI 

而不是反过来。

Week 1 输出

TEXT
notes/
├── tensor.md
├── linear_algebra.md
├── calculus.md
└── autograd.md

from_scratch/
└── autograd_demo.py 

Week 1 验收

  • 熟练 Tensor shape
  • 能解释 broadcasting
  • 能解释 gradient
  • 能解释 computational graph
  • 能手算简单梯度
  • 能解释 backward()

4. Stage 2:第 3 章 线性神经网络

建议时间:Week 2

这是理解整个神经网络训练流程最重要的一章。

3.1 线性回归

优先级:S

重点:

TEXT
模型
参数
预测
Loss
Optimization 

建立完整流程:

TEXT
Data
 ↓
Forward
 ↓
Prediction
 ↓
Loss
 ↓
Backward
 ↓
Gradient
 ↓
Parameter Update 

3.2 线性回归从零开始实现

优先级:S+

这一节不能跳。

必须自己实现:

TEXT
参数初始化
模型
Loss
SGD
Training Loop 

规则:

  • 第一遍可以跟教材;
  • 第二遍关掉教材重新写。

3.3 线性回归简洁实现

优先级:S

理解 PyTorch 如何把上一节封装为:

PYTHON
nn.Linear
nn.MSELoss
torch.optim.SGD 

重点不是记 API,而是知道高级 API 替你做了什么。


3.4 Softmax 回归

优先级:S

理解:

TEXT
logits
softmax
probability
cross entropy
classification 

3.5 图像分类数据集

优先级:A

熟悉:

TEXT
Fashion-MNIST
Dataset
DataLoader
Batch
Shuffle 

3.6 Softmax 从零实现

优先级:S

自己写:

TEXT
softmax
cross entropy
accuracy
training loop 

3.7 Softmax 简洁实现

优先级:S

使用:

PYTHON
nn.Linear
nn.CrossEntropyLoss 

重点搞懂:

CrossEntropyLoss 为什么通常直接接 logits,而不是先手动 softmax?

Week 2 必做实验

Experiment 01:Learning Rate

TEXT
0.001
0.01
0.1
1.0 

Experiment 02:Batch Size

TEXT
16
64
256 

观察:

TEXT
训练速度
震荡
收敛 

Week 2 输出

TEXT
notes/
├── linear_regression.md
├── softmax.md
└── cross_entropy.md

from_scratch/
├── linear_regression.py
└── softmax_regression.py

pytorch/
├── linear_regression.py
└── softmax_regression.py

experiments/
├── learning_rate/
└── batch_size/ 

5. Stage 3:第 4 章 多层感知机

建议:Week 3~4

4.1 多层感知机

优先级:S

理解:

TEXT
Linear
Activation
Hidden Layer
Output Layer 

必须回答:

为什么只有 Linear 层的多层网络仍然等价于一个 Linear 模型?


4.2 MLP 从零实现

优先级:S

独立实现:

TEXT
W1
b1
W2
b2
ReLU
Forward 

4.3 MLP 简洁实现

优先级:S

使用:

PYTHON
nn.Sequential
nn.Linear
nn.ReLU 

4.4 模型选择、欠拟合和过拟合

优先级:S+

科研必学。

必须理解:

TEXT
Training Error
Validation Error
Test Error
Underfitting
Overfitting
Model Complexity
Generalization 

必须会看曲线:

TEXT
Train Loss ↓
Val Loss ↓ 

正常。

TEXT
Train Loss ↓
Val Loss ↑ 

典型过拟合。


4.5 权重衰减

优先级:S

理解:

TEXT
L2 Regularization
Weight Decay 

4.6 Dropout

优先级:S

理解:

TEXT
Train Mode
Eval Mode
随机屏蔽
Scaling
Regularization 

一定要知道:

PYTHON
model.train()
model.eval() 

为什么重要。


4.7 前向传播、反向传播和计算图

优先级:S++

全书核心章节之一。

自己画:

TEXT
x
↓
Linear
↓
ReLU
↓
Linear
↓
Loss 

再画:

TEXT
∂L/∂W2
   ↓
∂L/∂h
   ↓
∂L/∂W1 

必须掌握:

TEXT
Forward Propagation
Computational Graph
Chain Rule
Backward Propagation 

4.8 数值稳定性和模型初始化

优先级:S

理解:

TEXT
Gradient Vanishing
Gradient Explosion
Xavier Initialization 

必须回答:

为什么深层网络训练困难?


4.9 环境和分布偏移

优先级:A

医学 AI 尤其值得看。

理解:

TEXT
Train Distribution
Test Distribution
Distribution Shift 

以后做:

TEXT
跨中心验证
外部数据集
不同医院数据 

会非常重要。


4.10 Kaggle 房价预测

优先级:B / 可跳

CV 主线下可以浏览代码结构,不必大量调参。

Week 3~4 输出

TEXT
notes/
├── mlp.md
├── activation.md
├── generalization.md
├── regularization.md
├── backpropagation.md
└── initialization.md

from_scratch/
├── mlp.py
└── dropout.py

experiments/
├── overfitting/
└── regularization/ 

必做实验

建立一个故意过拟合模型,再依次加入:

TEXT
Weight Decay
Dropout 

观察验证集变化。


6. Stage 4:第 5 章 深度学习计算

建议:Week 4 末~Week 5 前半

5.1 层和块

优先级:S

必须理解:

PYTHON
class MyModel(nn.Module):
    def __init__(self):
        ...
    def forward(self, x):
        ... 

5.2 参数管理

优先级:A

理解:

TEXT
parameters()
named_parameters()
weight
bias 

5.3 延后初始化

优先级:B

理解概念即可。

5.4 自定义层

优先级:S

科研必学。以后修改模型,本质上经常就是:

PYTHON
class NewModule(nn.Module):
    ... 

5.5 读写文件

优先级:S

掌握:

PYTHON
torch.save()
torch.load()
state_dict()
load_state_dict() 

5.6 GPU

优先级:S

掌握:

PYTHON
device = torch.device(...)
model.to(device)
x.to(device) 

理解:

TEXT
CPU Tensor
GPU Tensor
Device mismatch 

本阶段输出

TEXT
pytorch/
├── custom_module.py
├── save_load_model.py
└── gpu_training.py 

7. Stage 5:第 6 章 卷积神经网络

建议:Week 5~6

对 CV 方向来说,这是最重要的章节之一。

6.1 从全连接层到卷积

优先级:S

重点理解:

TEXT
Locality
Translation Equivariance
Parameter Sharing 

6.2 图像卷积

优先级:S++

必须手算一次卷积。

理解:

TEXT
Kernel
Feature Map
Cross-Correlation
Edge Detection 

必做:

PYTHON
def corr2d(X, K):
    ... 

6.3 填充和步幅

优先级:S

必须熟练计算卷积输出尺寸。

看到:

TEXT
Input 224×224
Kernel 3
Stride 2
Padding 1 

可以快速算出输出。

6.4 多输入多输出通道

优先级:S++

理解:

TEXT
Input:
[B, Cin, H, W]

Kernel:
[Cout, Cin, Kh, Kw]

Output:
[B, Cout, Hout, Wout] 

重点理解 1×1 Convolution:

TEXT
空间信息基本不变
↓
通道融合
↓
改变 Channel 

6.5 汇聚层

优先级:S

理解:

TEXT
Max Pooling
Average Pooling
Global Average Pooling 

6.6 LeNet

优先级:S

不要因为模型老就跳。

独立实现并打印每层 shape:

TEXT
Input
Conv
Pool
Conv
Pool
Flatten
FC
Output 

Week 5~6 输出

TEXT
notes/
├── convolution.md
├── padding_stride.md
├── channels.md
├── pooling.md
└── lenet.md

from_scratch/
└── conv2d.py

pytorch/
└── lenet.py 

8. Stage 6:第 7 章 现代卷积神经网络

建议:Week 7

7.1 AlexNet

优先级:A

理解:

TEXT
更深 CNN
ReLU
Dropout
Data Augmentation
GPU 

7.2 VGG

优先级:A

理解:

TEXT
Block
3×3 Convolution
Repeated Architecture 

重点学习模块化网络设计。

7.3 NiN

优先级:B

理解:

TEXT
1×1 Conv
Global Average Pooling 

7.4 GoogLeNet

优先级:A

重点:

TEXT
Inception
Multi-scale
Parallel Branch
Feature Fusion 

7.5 Batch Normalization

优先级:S++

必须弄清:

TEXT
training
inference
running mean
running variance
gamma
beta 

7.6 ResNet

优先级:S+++

这是 CNN 部分最重要的模型。

必须回答:

TEXT
1. 什么是 degradation problem?
2. Residual Learning 为什么更容易?
3. Skip Connection 对梯度传播有什么帮助?
4. 输入输出 Channel 不一样时怎么办? 

必做:

PYTHON
class ResidualBlock(nn.Module):
    ... 

7.7 DenseNet

优先级:B / A

理解:

TEXT
feature reuse
dense connection
concat 

Week 7 输出

TEXT
notes/
├── alexnet.md
├── vgg.md
├── inception.md
├── batchnorm.md
├── resnet.md
└── densenet.md

from_scratch/
├── batchnorm.py
└── residual_block.py

pytorch/
└── resnet_small.py 

9. Stage 7:第 11 章 优化算法(提前学习)

建议:Week 8

11.1 优化和深度学习

优先级:S

理解:

TEXT
Training Loss
Optimization
Generalization 

不要把 loss 降得快等同于泛化一定好。

11.2 凸性

优先级:B

理解凸函数/非凸函数基本概念。

11.3 梯度下降

优先级:S

11.4 SGD

优先级:S

理解随机梯度的 noise 和 efficiency。

11.5 Mini-batch SGD

优先级:S

理解 Batch Size 影响:

TEXT
显存
训练速度
梯度噪声
泛化 

11.6 Momentum

优先级:S

理解为什么 Momentum 可以减少震荡。

11.7 AdaGrad

优先级:B

理解思想即可。

11.8 RMSProp

优先级:A

理解为什么修正 AdaGrad。

11.9 Adadelta

优先级:C/B

浏览。

11.10 Adam

优先级:S

必须理解:

TEXT
First Moment
Second Moment
Bias Correction
Adaptive Learning Rate 

11.11 学习率调度器

优先级:S

理解:

TEXT
Step Decay
Cosine
Warmup 

Week 8 必做实验

同一模型比较:

TEXT
SGD
SGD + Momentum
Adam 

固定其他条件,比较:

TEXT
Training Loss
Validation Accuracy
Convergence Speed
Stability 

10. Stage 8:第 8~9 章 RNN 精选学习

建议:Week 9 前半

你的主线是 CV,因此目标只有一个:

理解 Transformer 出现之前,序列是怎么建模的。

第 8 章建议

  • 8.1 序列模型:A
  • 8.2 文本预处理:B
  • 8.3 语言模型和数据集:B
  • 8.4 RNN:S
  • 8.5 RNN 从零实现:A
  • 8.6 简洁实现:A
  • 8.7 BPTT:S

重点理解:

TEXT
Hidden State
Temporal Dependency
Parameter Sharing
Backpropagation Through Time
Vanishing Gradient
Exploding Gradient 

第 9 章建议

  • GRU:A
  • LSTM:A
  • 深度 RNN:B
  • 双向 RNN:A
  • 机器翻译:B
  • Encoder-Decoder:A
  • Seq2Seq:A
  • Beam Search:C/B

11. Stage 9:第 10 章 注意力机制与 Transformer

建议:Week 9 后半~Week 10

这是继 CNN/ResNet 后第二个必须彻底突破的模块。

10.1 注意力提示

优先级:S

建立直觉:

模型不必对所有输入位置给予相同关注。

10.2 Nadaraya-Watson

优先级:B

理解“加权汇聚”思想即可。

10.3 注意力评分函数

优先级:S

理解:

TEXT
Query
Key
Value
Attention Score
Softmax
Weighted Sum 

10.4 Bahdanau Attention

优先级:A

理解 Attention 如何帮助 Seq2Seq。

10.5 多头注意力

优先级:S++

理解:

TEXT
Head 1
Head 2
...
Concat
Linear 

10.6 自注意力和位置编码

优先级:S+++

必须回答:

TEXT
1. Q、K、V 到底是什么?
2. 为什么 QK^T 可以表示相关性?
3. 为什么除以 sqrt(dk)?
4. Self-Attention 为什么可以建模全局关系?
5. 为什么需要 Positional Encoding? 

10.7 Transformer

优先级:S+++

必须自己画:

TEXT
Input
 ↓
Embedding
 ↓
Position Encoding
 ↓
Multi-Head Attention
 ↓
Add & Norm
 ↓
FFN
 ↓
Add & Norm 

并理解:

TEXT
Encoder
Decoder
Residual Connection
LayerNorm
FFN
Mask 

Week 10 输出

TEXT
notes/
├── attention.md
├── multi_head_attention.md
├── self_attention.md
├── positional_encoding.md
└── transformer.md

from_scratch/
└── attention.py

pytorch/
└── transformer_block.py 

12. Stage 10:补充 Vision Transformer

中文版 D2L 第二版传统目录中,Transformer 重点仍来自序列建模;英文在线版还包含 Transformers for Vision。对于 CV 方向,这部分值得补。

建议:Week 11 前半

必须理解:

Patch

TEXT
Image
↓
Patches
↓
Tokens 

Patch Embedding

图片如何变成:

TEXT
[B, N, D] 

其中:

TEXT
B = batch
N = number of patches
D = embedding dimension 

Position Embedding

图像 patch 同样需要位置信息。

Transformer Encoder

理解 ViT 主体。

CLS Token

理解它如何用于分类。

CNN vs ViT

CNNViT
Local Bias 强Global Modeling 强
卷积Self-Attention
天生局部性数据驱动关系
参数共享Token Interaction

13. Stage 11:第 13 章 计算机视觉

建议:Week 11~12

13.1 图像增广

优先级:S

掌握:

TEXT
flip
crop
resize
color jitter
random erasing 

医学图像中尤其要谨慎:不是所有增强都具有医学合理性。

13.2 微调

优先级:S++

必须理解:

TEXT
Pretrained Model
Feature Extractor
Fine-tuning
Learning Rate
Frozen Layer 

13.3 目标检测和边界框

优先级:A

理解:

TEXT
Bounding Box
IoU
Detection 

13.4 锚框

优先级:A

13.5 多尺度目标检测

优先级:A

对小目标检测尤其重要。

13.6 检测数据集

优先级:B

13.7 SSD

优先级:A/B

理解 one-stage detection。

13.8 R-CNN 系列

优先级:A

理解:

TEXT
R-CNN
Fast R-CNN
Faster R-CNN 

的演化。

13.9 语义分割

优先级:A

医学图像常见。

13.10 转置卷积

优先级:A

13.11 FCN

优先级:A

13.12 风格迁移

优先级:C

当前可以跳。

13.13 CIFAR-10 Kaggle

优先级:S / 项目

推荐实际做,把前面内容串起来:

TEXT
Dataset
Augmentation
CNN/ResNet
Optimizer
Scheduler
Training
Validation
Save Model 

13.14 Dogs

优先级:C/B

有余力再做。


14. 暂时不作为主线的内容

第 12 章 计算性能

当前优先级:B/C

先了解:

TEXT
GPU
多 GPU 基本概念 

以后真正训练大模型/大数据时再深入。

第 14 章 NLP 预训练

当前不是主线。

建议:

  • word2vec:B
  • GloVe:C
  • BERT:A,以后做多模态、医学文本、Vision-Language、LLM 时再精学。

15. 12 周执行表

周次D2L 内容深度主要产出
Week 1第2章STensor + Autograd
Week 2第3章SLinear + Softmax From Scratch
Week 34.1~4.3、4.7SMLP + BP
Week 44.4~4.9SGeneralization 实验
Week 5第5章 + 6.1~6.3S自定义 Module + Conv
Week 66.4~6.6SLeNet + Shape 分析
Week 7第7章S/AResNet + BN
Week 8第11章S/AOptimizer 对比
Week 9第8~9章精选 + 10.1~10.4A/SRNN → Attention
Week 1010.5~10.7SSelf-Attention + Transformer
Week 11ViT + 13.1~13.2SViT 理解 + Fine-tuning
Week 12第13章精选 + 科研迁移A/SCIFAR + Model Audit

16. 每一节到底怎么学?

统一采用:

TEXT
Read
 ↓
Explain
 ↓
Derive
 ↓
Code
 ↓
Experiment
 ↓
Review
 ↓
Research Transfer 

Step 1:Read

阅读教材。

Step 2:Explain

关掉教材,用自己的话讲:

TEXT
它是什么?
为什么需要?
解决什么问题? 

Step 3:Derive

重要公式:

TEXT
自己写一遍
检查 shape
理解每个符号 

Step 4:Code

核心章节:

TEXT
From Scratch
+
PyTorch 

Step 5:Experiment

改变一个变量:

TEXT
learning rate
batch size
dropout
optimizer 

Step 6:Review

第二天不看笔记回忆。

Step 7:Research Transfer

问:

我的科研模型中有没有这个东西?


17. 每章笔记标准模板

MARKDOWN
# 知识点名称

## 1. 它解决什么问题?

## 2. 核心思想

## 3. 数学公式

## 4. Tensor Shape

## 5. From Scratch

## 6. PyTorch API

## 7. 常见错误

## 8. 实验现象

## 9. 和其他方法的区别

## 10. 在我的科研中如何使用?

## 11. 我还没弄懂的问题 

18. 必须 From Scratch 的内容

TEXT
Linear Regression
Softmax
MLP
Gradient / Autograd Demo
Dropout
Conv2D
BatchNorm
Residual Block
Attention 

Transformer 只需:

TEXT
理解模块
+
写简化 Block 

不需要从零复刻完整训练系统。


19. 必须闭卷实现的内容

完成 D2L 后,应该能不看模板写:

TEXT
Dataset / DataLoader
Model
Forward
Loss
Optimizer
Training Loop
Validation Loop
Metric
Checkpoint
Device 

以及至少:

TEXT
MLP
Simple CNN
Residual Block 

20. GitHub 仓库建议按这个顺序组织

TEXT
d2l-learning/
│
├── README.md
├── roadmap/
│   └── learning-roadmap.md
│
├── 01_foundation/
│   ├── notes/
│   └── code/
│
├── 02_linear_network/
│   ├── notes/
│   └── code/
│
├── 03_mlp/
│   ├── notes/
│   ├── code/
│   └── experiments/
│
├── 04_deep_learning_computation/
├── 05_cnn/
├── 06_modern_cnn/
├── 07_optimization/
├── 08_rnn_selected/
├── 09_attention_transformer/
├── 10_vit/
├── 11_cv_applications/
├── 12_research_transfer/
├── weekly_review/
└── assets/ 

相比单纯按教材章节号组织,这种结构更能体现:

这是你自己的能力成长仓库,而不仅是教材代码搬运。


21. 每完成一个阶段,GitHub 应该提交什么?

例如学习 ResNet:

TEXT
06_modern_cnn/
├── notes/
│   └── resnet.md
├── code/
│   ├── residual_block.py
│   └── resnet18.py
├── experiments/
│   ├── baseline.json
│   ├── resnet.json
│   └── result.md
└── figures/
    └── training_curve.png 

Commit 可以写:

TEXT
feat: implement residual block from scratch
docs: add notes on residual learning
exp: compare plain CNN with ResNet 

22. 学习时哪些内容必须手写公式?

至少包括:

TEXT
Linear Regression
MSE
Softmax
Cross Entropy
Chain Rule
Backpropagation
L2 Regularization
Convolution Output Size
BatchNorm
SGD
Momentum
Adam 基本思想
Scaled Dot-Product Attention 

23. 哪些内容必须画图?

至少画:

TEXT
Computational Graph
MLP
CNN
LeNet
VGG Block
Inception
Residual Block
RNN Hidden State
Attention QKV
Multi-Head Attention
Transformer Encoder
ViT 

24. 哪些内容和医学AI科研关系最大?

优先级最高:

TEXT
Generalization
Distribution Shift
CNN
Feature Extraction
ResNet
BatchNorm
Fine-tuning
Data Augmentation
Attention
Transformer
Experiment Design 

Distribution Shift

医学数据常见:

TEXT
不同医院
不同设备
不同人群
不同扫描参数
不同数据中心 

Fine-tuning

医学数据往往不如 ImageNet 大,预训练模型 + 微调很常见。

Attention / Multimodal

对于:

TEXT
图像 + 临床信息
病理 + 分子信息
多模态生存分析 

非常重要。


25. D2L 学完以后不要立即从头刷第二遍

正确做法:

TEXT
D2L 第一遍
↓
自己的项目
↓
发现不会
↓
回到相关章节
↓
第二遍定点复习 

例如:

模型过拟合 → 回看:

TEXT
4.4
4.5
4.6 

ResNet backbone → 回看:

TEXT
7.6 

Cross Attention → 回看:

TEXT
10.3
10.5
10.6 

26. 最终验收:学完 D2L 应达到什么程度?

理论

  • 能解释梯度下降
  • 能解释 Backpropagation
  • 能解释 Overfitting
  • 能解释 CNN
  • 能解释 BatchNorm
  • 能解释 ResNet
  • 能解释 Adam
  • 能解释 Attention
  • 能解释 Transformer
  • 能解释 ViT

数学

  • 看懂基本公式
  • 能检查 Tensor Shape
  • 能手算简单梯度
  • 能算卷积输出大小
  • 能解释 Attention 公式

编程

  • 独立写 Training Loop
  • 独立写 Validation Loop
  • 独立写 MLP
  • 独立写 CNN
  • 独立写 Residual Block
  • 能保存/加载模型
  • 能使用 GPU
  • 能 Debug shape/device/loss 问题

实验

  • 会比较 optimizer
  • 会看 train/val 曲线
  • 会判断过拟合
  • 会调 learning rate
  • 会做 baseline
  • 会做 ablation
  • 会记录实验

科研

  • 能读模型结构图
  • 能看懂 CV 论文主体
  • 能解释一个模块为什么存在
  • 能复现 baseline
  • 能修改模块
  • 能设计基本消融实验
  • 能解释实验结果

27. 时间不足时的保留顺序

第一优先级:绝对不能砍

TEXT
2.1 Tensor
2.3 Linear Algebra
2.4 Calculus
2.5 Autograd

3.1~3.7 Linear / Softmax

4.1~4.8 MLP / Generalization / BP

5.1 Module
5.4 Custom Layer
5.5 Save
5.6 GPU

6.1~6.6 CNN

7.5 BatchNorm
7.6 ResNet

11.3~11.6 Gradient / SGD / Momentum
11.10 Adam
11.11 Scheduler

10.3 Attention Score
10.5 Multi-Head
10.6 Self-Attention
10.7 Transformer

ViT

13.1 Augmentation
13.2 Fine-tuning 

第二优先级

TEXT
7.1 AlexNet
7.2 VGG
7.4 GoogLeNet
7.7 DenseNet

8.4 RNN
8.7 BPTT

9.1 GRU
9.2 LSTM
9.6 Encoder-Decoder
9.7 Seq2Seq

13.3~13.11 Detection / Segmentation 

第三优先级

TEXT
历史介绍
Kaggle 房价
复杂 RNN 细节
Beam Search
系统性能深层内容
Style Transfer
完整 NLP 预训练体系 

28. 最适合你的最终学习主线

最终不要形成:

TEXT
D2L Chapter 1
D2L Chapter 2
D2L Chapter 3
... 

而应该在脑子里形成:

TEXT
数学基础
   ↓
自动微分
   ↓
模型
   ↓
Loss
   ↓
Backprop
   ↓
Optimization
   ↓
Generalization
   ↓
CNN
   ↓
Representation Learning
   ↓
ResNet
   ↓
Attention
   ↓
Transformer
   ↓
ViT
   ↓
Medical AI
   ↓
Survival Analysis
   ↓
科研创新 

你的目标不是“学会 D2L”。

而是借 D2L 完成一次:

从会借助 AI 做深度学习项目,到自己真正理解深度学习模型、训练过程和科研实验的能力升级。


29. 官方学习入口

中文版 D2L

https://zh.d2l.ai/

英文版 D2L

https://d2l.ai/

英文在线版可重点补充:

TEXT
Transformers for Vision 

PyTorch Tutorials

https://docs.pytorch.org/tutorials/


30. 一句话执行原则

以后每学习 D2L 一节,都问自己:

TEXT
我能解释吗?
我能算吗?
我能写吗?
我能实验吗?
我能把它用到自己的科研里吗? 

只有前四个甚至五个都能回答“可以”,这一节才算真正学完。

读者互动

0 次表情反馈 · 0 条评论

登录后可以发表评论、给评论点赞。去登录
还没有评论。