外观
深度学习基础
概念定义:让网络自己学特征
深度学习(Deep Learning)是机器学习的子领域,核心是多层神经网络(deep neural network)。它的革命性不在"网络更复杂",而在表征学习(representation learning):经典机器学习需要人手工设计特征,深度网络让模型从原始数据中逐层自动学习特征——浅层学边缘/笔画,中层学部件/短语,深层学对象/语义。
经典 ML: 原始数据 → 人工特征工程 → 浅层模型 → 输出
深度学习: 原始数据 → 多层网络(自动逐层学特征)→ 输出一个神经元
神经网络的最小单元是神经元(感知机):
z = w·x + b # 加权求和
a = σ(z) # 激活函数(引入非线性)激活函数为什么必要:没有非线性的多层网络,无论多深都等价于一个线性模型(矩阵连乘仍是线性变换)。激活函数是网络"变深有用"的数学前提。
| 激活函数 | 公式 | 特点 |
|---|---|---|
| ReLU | max(0, z) | 默认选择:计算快、缓解梯度消失;缺点:负区间梯度为 0(死亡神经元) |
| Leaky ReLU | max(0.01z, z) | 修复 ReLU 死亡问题 |
| GELU | 平滑 ReLU 变体 | Transformer 标配(GPT、BERT 均用) |
| Sigmoid | 1/(1+e⁻ᶻ) | 输出 (0,1),适合概率输出;饱和区梯度消失,隐层少用 |
| Tanh | 双曲正切 | 输出 (-1,1),零中心;隐层可用,深度模型少用 |
| Softmax | 多类归一化 | 输出层专用,多分类概率 |
二、多层感知机(MLP):一切的基础
MLP = 输入层 + 若干隐藏层 + 输出层,全连接。前向传播把输入逐层算到输出,**反向传播(Backpropagation)**用链式法则把损失对每层参数的梯度逐层传回,配合梯度下降更新参数(见优化与梯度下降)。
python
import torch
import torch.nn as nn
class MLP(nn.Module):
def __init__(self, in_dim, hidden_dim, out_dim):
super().__init__()
self.net = nn.Sequential(
nn.Linear(in_dim, hidden_dim),
nn.ReLU(),
nn.Linear(hidden_dim, hidden_dim),
nn.ReLU(),
nn.Linear(hidden_dim, out_dim) # 输出层:回归无激活,分类接 softmax
)
def forward(self, x):
return self.net(x)
model = MLP(in_dim=20, hidden_dim=64, out_dim=1)万能近似定理:足够宽的单隐层网络可以逼近任意连续函数——但"能逼近"不代表"学得到",深层网络的真正价值是用更少的参数、更好的归纳偏置学到复杂函数。这就是为什么"深"比"宽"高效。
三、核心架构家族
CNN:图像与局部结构
卷积神经网络(CNN)利用图像的局部性先验:相邻像素高度相关,用卷积核在图像上滑动提取局部特征,参数共享大幅减少参数量,**池化(pooling)**压缩空间尺寸。
输入图像 → [卷积+ReLU → 池化] × N → 展平 → 全连接 → 输出CNN 的三大构件:
- 卷积层:局部感受野 + 参数共享(一个核全图复用);
- 池化层:下采样(最大池化/平均池化),降维 + 平移不变性;
- 残差连接(ResNet):
输出 = F(x) + x,解决深层网络退化问题,是让网络能到 100+ 层的钥匙。
代表:LeNet(1998)→ AlexNet(2012)→ VGG/GoogLeNet(2014)→ ResNet(2015,超过人类)→ EfficientNet(2019)。详见CNN 与计算机视觉。
RNN/LSTM:序列建模(一度的主角)
**循环神经网络(RNN)**按时间步处理序列,隐状态携带历史信息。LSTM 用门控机制(遗忘门/输入门/输出门)解决 RNN 的长期依赖与梯度消失问题,2010 年代统治 NLP 与语音。注意:2020 年代已被 Transformer 全面取代,但理解 RNN 的"序列状态"思想仍是理解序列建模的起点(某些场景如流式语音仍有 LSTM 身影)。
Transformer:注意力机制
2017 年《Attention Is All You Need》提出 Transformer:用**自注意力(Self-Attention)**直接建模序列中任意两位置的依赖,抛弃循环结构,可完全并行:
注意力: Attention(Q, K, V) = softmax(QKᵀ/√d) · V- Q(查询)/K(键)/V(值):每个 token 投影出三组向量,注意力权重 = 查询与键的相似度,值按权重加权;
- 多头注意力:多组投影并行,捕捉不同关系子空间;
- 位置编码:给并行计算补上"顺序"信息(Transformer 本身无顺序概念)。
Transformer 的贡献是同时解决了长程依赖与并行性——它是 BERT/GPT 及一切大模型的地基,完整展开见Transformer 与 NLP。
四、训练深度网络的完整配方
深度学习的训练可以总结为一张配方表:
| 环节 | 默认选择 | 说明 |
|---|---|---|
| 数据 | 归一化 + 增强 + 打乱 | 归一化缺失是训练不稳的头号原因 |
| 初始化 | Xavier(sigmoid/tanh)/ He(ReLU) | 初始化错误导致梯度爆炸/消失 |
| 损失 | 分类交叉熵 / 回归 MSE(或 Huber) | 与任务输出分布匹配 |
| 优化器 | AdamW(Transformer)/ Adam / SGD+Momentum | 见优化 |
| 学习率 | warmup + 余弦退火,峰值 1e-4~1e-3 | 最重要超参数 |
| 正则化 | Dropout + 权重衰减 + 早停 + 数据增强 | 见正则化 |
| 归一化层 | BatchNorm(CNN 标配)/ LayerNorm(Transformer) | 稳定训练的关键 |
归一化层的区别:BatchNorm 沿 batch 维度归一化(依赖 batch size,序列任务不稳);LayerNorm 沿特征维度归一化(与 batch 无关,Transformer 用)。这是工程实践里非常容易踩的坑。
五、深度学习 vs 经典机器学习:选型边界
| 维度 | 经典 ML(树/线性) | 深度学习 |
|---|---|---|
| 数据形态 | 表格为主 | 图像/文本/语音/序列为主 |
| 数据量需求 | 千~十万级 | 十万~十亿级(可用预训练缓解) |
| 计算资源 | CPU 足够 | GPU/TPU |
| 特征 | 人工特征工程 | 自动表征学习 |
| 可解释性 | 好(树可打印规则) | 差(黑箱,需事后解释) |
| 训练时间 | 分钟~小时 | 小时~月(大模型) |
表格数据上树模型经常更强——Kaggle 的长期经验(见树模型与集成学习)。深度学习不是"更好的机器学习",而是"另一类问题的解法"。选型的完整决策框架见框架与工具怎么选。
六、迁移学习与大模型范式
深度学习的一个关键工程事实:预训练模型可以直接复用。
- 迁移学习:用 ImageNet 预训练的 CNN 做特征提取或微调(fine-tune),小数据集也能训出好模型——这是图像领域的事实标准;
- 预训练 + 微调:BERT/GPT 先在海量语料预训练(学语言),再在任务数据上微调——NLP 的标配范式;
- 提示/上下文学习:大模型时代进一步"微调都不用了",直接给任务示例(见大语言模型)。
为什么迁移学习有效:底层特征(边缘、笔画、词法)在不同任务间通用,只有高层特征(语义、对象)任务相关——所以"冻结底层 + 微调上层"用小数据也能学到好模型。
七、权衡与取舍
- 模型容量 vs 数据量:模型参数远多于样本时必过拟合——要么加数据/增强,要么减模型(见正则化);
- 训练成本 vs 效果:100 亿参数模型的效果增量可能只是 1%——用调参实践与效率手段(混合精度、蒸馏)控制成本;
- 精度 vs 推理延迟:线上要求毫秒级响应时,用模型压缩(量化、蒸馏、剪枝),见MLOps;
- 复现 vs 探索:深度学习实验随机性大(初始化、数据顺序),固定随机种子 + 实验管理是团队协作底线。
延伸阅读
- 监督学习——神经网络是分类/回归的实现者
- 优化与梯度下降——训练网络的引擎
- 过拟合与正则化——Dropout/早停的完整讨论
- CNN 与计算机视觉——卷积架构实战
- Transformer 与 NLP——注意力机制实战
- 大语言模型(LLM)——深度学习的巅峰形态
- 深度学习基础数学——线性代数/微积分速查
参考资料
- Goodfellow, Bengio, Courville. Deep Learning(花书) —— 深度学习权威教材,免费在线
- Nielsen. Neural Networks and Deep Learning —— 反向传播讲得最透彻的免费书
- LeCun, Bengio, Hinton. Deep Learning(Nature, 2015) —— 三位图灵奖得主的深度学习综述
- Krizhevsky et al. ImageNet Classification with Deep CNNs(AlexNet, 2012)
- He et al. Deep Residual Learning(ResNet, 2016)
- Vaswani et al. Attention Is All You Need(2017)
- Hochreiter & Schmidhuber. Long Short-Term Memory(LSTM, 1997)