经典 CNN 架构演进史
CNN 架构史是一条「先验注入方式」的演进线:LeNet 确立卷积范式 → AlexNet 用算力与工程唤醒它 → VGG 验证深度的朴素力量 → GoogLeNet 探索多尺度并行 → ResNet 用残差连接捅破深度天花板。
一句话定义
CNN 架构史是一条「先验注入方式」的演进线:LeNet 确立卷积范式 → AlexNet 用算力与工程唤醒它 → VGG 验证深度的朴素力量 → GoogLeNet 探索多尺度并行 → ResNet 用残差连接捅破深度天花板。
直觉
架构演进像五代相机:LeNet 是「针孔相机」(原理验证)、AlexNet 是「胶片量产」(算力解锁)、VGG 是「标准镜头堆叠」(简单规则Scaling)、GoogLeNet 是「变焦镜头组」(多尺度并联)、ResNet 是「防抖机身」(深度不再失控)。
为什么重要
每一代架构都是当时「训练理论与工程条件」的最优解,读懂演进逻辑比背参数表重要十倍:kp-021 选 ResNet 家族做实战、kp-020 深挖 ResNet 的梯度机制、kp-031 把 2012 年 AlexNet 定为深度学习复兴的标志性事件,都以本知识点为舞台。
前置知识
- kp-017/kp-018(卷积与块的机制语言)。
核心概念
- LeNet-5(1998):卷积+池化+全连接的最小完整范式,手写数字识别。
- AlexNet(2012):8 层、ReLU、Dropout、双 GPU 训练,ImageNet 错误率从 26% 降到 15.3%。
- VGG(2015):全线 3×3 小核堆到 16~19 层,「简单规则 + 深度」的极致。
- GoogLeNet/Inception(2015):1×1/3×3/5×5 并联的多尺度块 + 1×1 降维控算力。
- ResNet(2015/2016):残差连接支持 152 层,ImageNet 错误率降到 3.57%,首超人类。
- 1×1 卷积(bottleneck):跨通道信息混合与通道数升降的「参数阀门」。
原理与机制
按「问题 → 对策」重述五代演进。LeNet 的时代问题是有没有一套可学的视觉范式:它确立「卷积提特征、池化降采样、全连接做分类」的三段式(kp-018 的块结构雏形),但受限于数据(MNIST 级)与算力,深层网络训不动、浅层网络打不过手工特征——被 kp-031 记录的第一次寒冬尾声。AlexNet 的时代问题是谁来引爆:ImageNet 1400 万级数据 + GPU 并行算力到位,它几乎原样继承了 LeCun 的思想,配上 ReLU(kp-006,缓解深层梯度消失)、Dropout(kp-013,压制大模型过拟合)与数据增强(kp-015),一次性把深度学习推上舞台中心——历史常重复「思想早于条件」的剧本。VGG 的时代问题是深度是否普适有效:它放弃花哨组件,用整齐的 3×3 栈证明「两级 3×3 感受野 5×5、参数还更少」(kp-017 的结论规模化),把「加深」变成可复制的工程配方,同时暴露了纯堆深度的极限——56 层普通网络反而比 20 层训练误差更高(退化问题,非过拟合)。GoogLeNet 的时代问题是算力预算:Inception 块把不同尺度卷积并联,用 1×1 卷积先降维再卷,同精度下参数只有 AlexNet 的 1/12,确立「多尺度」与「bottleneck」两个沿用至今的组件。ResNet 的时代问题是深度天花板:退化现象说明问题不在过拟合而在优化——深层网络的「恒等映射」竟学不出来;残差学习把目标改写为「学相对修正量 F(x)=H(x)−x」,恒等只需 F→0(kp-020 展开其梯度机制),152 层稳定训练。2015 年后视觉骨干网进入「ResNet 变体 + 注意力混合」时代,通往 ViT 的部分超出本库(指路 Transformer 站点)。
公式或模型
本节不适用——理由:本节以架构史叙事与参数对比为主,核心数学(卷积尺寸、残差梯度)分别在 kp-017 与 kp-020 给出,避免重复。
图示
ImageNet Top-5 错误率(%) 层数演进
2012 前 26.2 手工特征 LeNet-5 ── 5 层(1998)
2012 15.3 AlexNet AlexNet ── 8 层(2012)
2014 6.7 GoogLeNet VGG ── 16~19 层(2014)
2014 6.8 VGG GoogLeNet── 22 层(2014)
2015 3.57 ResNet-152 ResNet ── 152 层(2015)→ 首超人类直观类比
「退化问题」像 hires 新人反而效率下降:不是人不行,是「从零学会什么都不做」(恒等映射)对普通网络居然很难;残差连接等于给新人发一份「默认照旧执行」的操作手册,只需学习「改动项」。
实例或案例
用 torchvision 三行加载历代架构并对比参数量,感受演进的数量级:
import torchvision.models as m
for name, fn in [('alexnet', m.alexnet), ('vgg16', m.vgg16),
('resnet50', m.resnet50)]:
net = fn()
print(name, sum(p.numel() for p in net.parameters()))
# alexnet≈6110 万,vgg16≈1.38 亿,resnet50≈2556 万
# —— ResNet 更深却参数最少:bottleneck + GAP 的结构性胜利(kp-018)工程选型结论:kp-021 从 CIFAR 尺寸的 ResNet 变体起步;预训练版 ImageNet 模型微调属于 kp-032 的迁移学习范式。
常见误区
- 「AlexNet 发明了 CNN」:它复活而非发明 CNN,核心思想来自 LeCun 的 1998(kp-031 的「思想早于条件」案例)。
- 「ResNet 后网络不再退化所以越深越好」:收益边际递减、算力与数据约束仍在,深度是预算问题。
- 「架构史是背参数表」:应试式记忆毫无必要,记住每代回答的「问题」即可推演其设计。
- 「VGG 已过时没有学习价值」:其「小核堆叠」原则仍是现代架构的构件常识。
与其他知识点的关系
本节是 kp-017/kp-018 机制的历史应用场;kp-020 专解 ResNet 的梯度之谜;kp-021 的实战网络选型源于本节结论;kp-031 从全景史的角度给它一个坐标系;kp-032 的迁移学习实践直接消费 torchvision 预训练模型。
自测题
- VGG 为什么坚持用 3×3 小核而非大核?
答案要点:两级 3×3 感受野等效 5×5、参数更少(18 对 25)、多一次非线性,深度效率更高。
- 「56 层普通网络训练误差反而高于 20 层」说明什么问题?
答案要点:是优化/退化问题而非过拟合——深层学不到恒等映射,直接催生 ResNet 的残差设计。
- AlexNet 成功的三个非架构要素是什么?
答案要点:ReLU、Dropout/数据增强、GPU 并行算力与 ImageNet 大数据(工程与训练技术先行解锁)。
延伸阅读
- Krizhevsky、Sutskever、Hinton NeurIPS 2012(AlexNet 原文)。
- He、Zhang、Ren、Sun《Deep Residual Learning for Image Recognition» CVPR 2016(ResNet 原文,与 kp-020 共读)。
学习状态
状态保存在浏览器本地,用于首页与路径页的进度统计。