第3章:深度学习快速通道
版本: v3.1 最后更新: 2026-05-30
在线 Notebook
对应的交互式版本可在 Google Colab 打开,统一使用方式见 第0章说明。
章节概览
本章不打算罗列模型名,而是用一条主线说明深度学习为什么会成为“表示学习”的核心框架:模型如何从数据中自动提取特征、如何把视觉任务从分类推进到检测和分割、以及如何把一维序列建模推进到 Transformer。
这一章既是对前面DSP、优化、传统机器学习内容的延伸,也是进入Transformer和LLM之前的重要桥梁。
本章重点关注:
- 为什么浅层模型会在复杂任务上遇到表达瓶颈
- CNN 如何把卷积滤波器变成可学习的特征提取器
- 目标检测和图像分割如何把视觉任务粒度继续推深
- RNN、1D CNN 和 Transformer 在序列建模上分别解决什么问题
- 第 3 章如何自然过渡到第 4 章的 Transformer 主线
快速导航
| 章节 | 文件 | 难度 | 时间 |
|---|---|---|---|
| 3.1 为什么需要深度学习 | 01_why_deep_learning.md | ⭐⭐ | 10分钟 |
| 3.2 CNN的本质 | 02_cnn_essence.md | ⭐⭐⭐ | 15分钟 |
| 3.3 YOLO目标检测 | 03_yolo_detection.md | ⭐⭐⭐ | 15分钟 |
| 3.4 图像分割 | 04_image_segmentation.md | ⭐⭐⭐ | 10分钟 |
| 3.5 序列建模与一维信号 | 05_sequence_models_and_1d_signals.md | ⭐⭐⭐ | 15分钟 |
| 3.6 为什么Transformer适合大规模序列建模 | 06_why_transformer_better.md | ⭐⭐⭐ | 10分钟 |
小节目录
基础与视觉(3.1-3.4)
3.1 为什么需要深度学习 — 📖 阅读
- 从手工特征到自动表示学习,浅层模型的表达瓶颈
3.2 CNN的本质 — 📖 阅读
- 卷积神经网络与 DSP 滤波器的联系,可学习的局部特征提取
3.3 从分类到检测:YOLO的核心思想 — 📖 阅读
- CNN 如何同时回答“有什么”和“在哪里”
3.4 从检测到像素级理解:图像分割 — 📖 阅读
- 从边界框走向像素级预测与空间恢复
序列建模(3.5-3.6)
3.5 序列建模与一维信号处理 — 📖 阅读
- RNN、1D CNN 和状态空间模型如何处理时序信号
3.6 为什么Transformer适合大规模序列建模 — 📖 阅读
- Transformer 相比 RNN 的优势,以及它为什么会成为 LLM 的前置主线
学习时间
- 快速版(仅阅读正文):25分钟
- 标准版(包含代码实验):70分钟
- 深度版(包含所有原理和扩展内容):110分钟
核心问题
完成本章后,你应该能回答:
原理理解部分
- 为什么浅层模型在复杂任务上会遇到表达瓶颈?
- CNN 中的卷积核为什么可以看作可学习的滤波器?
- 为什么目标检测和图像分割都比分类更难?
- RNN、1D CNN 和 Transformer 分别适合什么样的序列问题?
- 为什么 RNN 在长序列上容易遇到训练和并行化瓶颈?
- 为什么第 3 章的内容会自然通向 Transformer 和 LLM?
应用实践部分
- 如何把手工特征工程切换成表示学习?
- CNN 如何从分类扩展到检测与分割?
- 如何用深度学习处理音频、传感器和时间序列?
- 什么时候该从第 3 章过渡到第 4 章的 Transformer 视角?
代码实验
本章共有 5 个代码脚本,生成 6 张图片,覆盖深度学习从表示学习到视觉、序列建模的核心思想。
| 小节 | 脚本 | 生成图片 | 文档位置 |
|---|---|---|---|
| 3.1 为什么需要深度学习 | polynomial_vs_mlp.py | ch03_polynomial_vs_mlp.png | 3.1 / README |
| 3.2 CNN的本质 | mnist_cnn.py | ch03_mnist_cnn.png | 3.2 / README |
| 3.3/3.4 检测与分割 | detection_segmentation_demo.py | ch03_yolo_vs_segmentation.png ch03_segmentation_mask_overlay.png | 3.3 / 3.4 |
| 3.5 序列建模 | rnn_structure.py | ch03_rnn_structure.png | 3.5 / README |
| 3.5 序列建模 | sequence_models_1d_signal.py | ch03_sequence_models.png | 3.5 |
实验1:多项式拟合 vs MLP
- 文件:
code/ch03_deep_learning_fast/polynomial_vs_mlp.py - 内容: 对比传统多项式拟合和神经网络的表达能力
- 运行:
python code/ch03_deep_learning_fast/polynomial_vs_mlp.py - 输出: 拟合曲线对比、误差分析、表达能力对比

图3.1:多项式拟合与MLP的对比。展示深度学习相比传统方法的表达能力优势。
代码文件: code/ch03_deep_learning_fast/polynomial_vs_mlp.py运行方式: python code/ch03_deep_learning_fast/polynomial_vs_mlp.py
实验2:CNN结构与特征提取
- 文件:
code/ch03_deep_learning_fast/mnist_cnn.py - 内容: 展示CNN如何从图像中逐层提取特征并完成分类
- 运行:
python code/ch03_deep_learning_fast/mnist_cnn.py - 输出: CNN结构图、分类结果、特征提取过程

图3.2:CNN在手写数字识别中的结构示意。展示卷积层如何逐层提取视觉特征。
代码文件: code/ch03_deep_learning_fast/mnist_cnn.py运行方式: python code/ch03_deep_learning_fast/mnist_cnn.py
实验3:RNN结构与序列处理
- 文件:
code/ch03_deep_learning_fast/rnn_structure.py - 内容: 展示RNN如何处理序列数据以及隐状态如何随时间演化
- 运行:
python code/ch03_deep_learning_fast/rnn_structure.py - 输出: RNN结构图、隐状态演化、序列处理过程

图3.3:RNN的结构与序列处理。展示循环连接如何使模型能处理可变长度序列。
代码文件: code/ch03_deep_learning_fast/rnn_structure.py运行方式: python code/ch03_deep_learning_fast/rnn_structure.py
实验4:目标检测与图像分割演示
- 文件:
code/ch03_deep_learning_fast/detection_segmentation_demo.py - 内容: 对比目标检测与图像分割的任务形式和输出差异
- 运行:
python code/ch03_deep_learning_fast/detection_segmentation_demo.py - 输出: 检测框示意、分割掩码示意、任务对比图

图3.4:目标检测(边界框)与图像分割(像素级mask)的输出形式对比。
代码文件: code/ch03_deep_learning_fast/detection_segmentation_demo.py运行方式: python code/ch03_deep_learning_fast/detection_segmentation_demo.py
实验5:序列模型与一维信号处理
- 文件:
code/ch03_deep_learning_fast/sequence_models_1d_signal.py - 内容: 对比1D CNN、RNN与Transformer风格模型在时序信号上的建模方式
- 运行:
python code/ch03_deep_learning_fast/sequence_models_1d_signal.py - 输出: 时序信号建模对比、局部模式/长期依赖分析、结构示意图
推荐学习路径
路径1:快速入门(25分钟)
- 阅读 3.1-3.6 的正文
- 查看图表和核心公式
- 理解从表示学习到序列建模的演化逻辑
路径2:标准学习(70分钟)
- 阅读所有内容
- 运行基础实验(MLP、CNN、RNN)
- 理解检测、分割和 1D 信号建模的差异
路径3:深度学习(110分钟)
- 阅读所有内容和扩展内容
- 运行所有代码实验
- 对比分类、检测、分割、序列建模任务
- 回答“核心问题”中的 10 个问题
关键概念速查
| 概念 | 核心思想 | 典型任务 |
|---|---|---|
| MLP | 多层非线性变换,自动学习表示 | 拟合、分类 |
| CNN | 局部连接、权重共享、平移不变性 | 图像分类、特征提取 |
| YOLO | 单阶段检测,同时预测类别和位置 | 实时目标检测 |
| 图像分割 | 对每个像素做预测 | 语义理解、医学影像 |
| RNN | 通过隐状态递推处理序列 | 文本、时间序列 |
| 1D CNN | 在时间轴上做卷积,学习局部模式 | 音频、传感器信号 |
| Transformer | 自注意力、并行处理、长距离依赖 | NLP、多模态、LLM |
常见问题
Q: 为什么需要深度学习,而不是继续手工设计特征? A: 因为复杂任务中的有效特征往往难以手工穷举。深度学习通过多层表示学习,从数据中自动提取更适合任务的特征。
Q: 为什么CNN对图像特别有效? A: 因为图像具有局部结构和平移不变性。CNN利用卷积核、局部连接和权重共享,能高效学习边缘、纹理和形状等视觉模式。
Q: YOLO和普通分类模型的区别是什么? A: 分类模型只回答“图中有什么”,YOLO还要回答“它在哪里”,因此需要同时输出类别和边界框。
Q: 为什么图像分割比目标检测更细粒度? A: 目标检测只给出边界框,而分割要为每个像素分配语义标签,因此需要更精细的空间恢复能力。
Q: 为什么RNN难以处理很长的序列? A: 因为信息必须沿时间步逐步传递,容易出现梯度消失/爆炸,也难以并行化。
Q: 为什么Transformer适合大规模序列建模? A: 因为它通过自注意力机制更容易建模长距离依赖,同时支持并行训练,并能扩展到大模型、视觉和多模态任务。
扩展内容
深度学习理论基础 — 📖 阅读
- 通用逼近定理:神经网络为什么能拟合任意函数
- 偏差-方差权衡:过拟合与欠拟合的数学分析
- 表示学习:深度网络如何逐层抽象特征
- CNN/RNN 的数学基础与 Transformer 的优势分析
- 推荐论文(LeNet、AlexNet、LSTM、Transformer、YOLO、U-Net)
关键连接点
CNN → DSP
DSP中的卷积:y[n] = Σ x[m] * h[n-m]
↓
CNN中的卷积核:可学习的滤波器启示: CNN就是让滤波器不再手工设计,而是通过数据自动学习。
YOLO / 分割 → 视觉理解
分类:图里有什么
↓
检测:图里有什么 + 在哪里
↓
分割:每个像素属于什么启示: 视觉模型的发展,可以理解为在不断提升空间理解的粒度。
RNN / 1D CNN → 时序信号
1D CNN:局部模式检测
RNN:状态递推记忆
Transformer:直接建模长距离依赖启示: 处理序列不只有一种方法,不同模型对应不同的依赖结构和计算权衡。
Transformer → LLM
Transformer:通用序列建模架构
↓
LLM:Transformer + 大规模预训练启示: LLM并不是凭空出现的,而是深度学习、序列建模和规模化训练共同演化的结果。
下一步: 阅读 3.1 为什么需要深度学习
