3.1 为什么需要深度学习
核心问题: 浅层模型有什么问题?为什么需要深度学习?
在线 Notebook
对应的交互式版本可在 Google Colab 打开,统一使用方式见 第0章说明。
浅层模型的局限
问题1:特征工程困难
传统机器学习需要手工设计特征:
原始数据 → 手工特征工程 → 分类器 → 结果问题:
- 特征工程耗时(可能占80%的工作量)
- 难以泛化到新数据
- 需要领域专家
这也是传统机器学习最常见的工程瓶颈之一:模型本身未必差,真正耗时的是把“适合任务的输入表示”手工做出来。
问题2:表达能力有限
浅层模型只能学习简单的决策边界。
例子:
XOR问题:
1 | ■ □
| □ ■
0 |_____
0 1
单层感知机无法解决,需要多层。这类问题说明:如果任务本身需要组合多个中间特征,单层模型就会把“表示”和“决策”挤在一起,容量不够。
问题3:数据利用效率低
浅层模型需要大量标注数据。
因为它们不擅长从原始输入里自动抽取中间表示,所以通常更依赖人工特征和监督信号。
深度学习的优势
1. 自动特征学习
原始数据 → 深度神经网络 → 结果优势: 网络自动学习更适合当前任务的特征。
2. 表达能力强
深度网络可以通过多层非线性表示近似复杂函数。
理论基础: 通用逼近定理(Universal Approximation Theorem)
3. 数据利用效率高
深度学习可以从大量无标注数据中学习(预训练)。
4. 规模化能力强
深度学习不仅仅是“模型更深”,更重要的是它能随数据、算力和参数规模增长而持续提升性能。
为什么这在2010年后特别重要:
- 数据变多:互联网提供了海量图像、文本、音频
- GPU变强:矩阵运算可以大规模并行
- 优化更稳定:反向传播、归一化、残差连接等方法让深层网络更容易训练
结果: 深度学习不再只是理论上可行,而是在工程上真正可扩展。
这也是它和浅层模型最大的分界线:浅层模型常常在数据、特征和表达能力之间很快碰到瓶颈,而深度学习把“表示学习”本身变成了可扩展的优化问题。
深度学习的核心思想
分层表示(Hierarchical Representation)
第1层:学习低级特征(边界、纹理)
第2层:学习中级特征(形状、部分)
第3层:学习高级特征(物体、概念)例子(图像识别):
输入:像素
↓
第1层:边界检测器
↓
第2层:纹理检测器
↓
第3层:形状检测器
↓
输出:物体类别为什么有效
- 高级特征由低级特征组合而成
- 每层学习一个抽象级别
- 逐层堆叠,表达能力指数增长
这不是“层数越多越神奇”,而是因为复杂任务往往可以拆成多个中间步骤。每层多学一点抽象,整体就能逐步逼近更复杂的函数。
表示学习的关键转变
传统机器学习更关注“给模型什么特征”,而深度学习更关注“让模型自己学出什么特征”。
传统ML:人设计特征 → 模型学习决策边界
深度学习:模型同时学习特征 + 决策边界这就是深度学习最根本的变化:学习的不只是分类器,而是表示本身。
也正因为如此,深度学习不只是把传统模型做大,而是改变了学习系统的中心:从“手工设计特征”转向“自动学习表示”。

图3.1:多项式模型与多层感知机在拟合复杂非线性关系时的对比。它直观说明了”增加手工特征复杂度”和”让网络自动学习分层表示”这两条路线的差别,也解释了为什么深度学习能更自然地处理复杂模式。
代码文件: code/ch03_deep_learning_fast/polynomial_vs_mlp.py
本节小结
深度学习解决了浅层模型的问题:
- 自动特征学习
- 强大的表达能力
- 高效的数据利用
- 可随数据和算力规模扩展
换句话说,它解决的不是某个单独任务,而是“表示怎么学”这个更底层的问题。这条路线会直接通向后面的 CNN、Transformer 和 LLM。
下一节: 3.2 CNN的本质
