经典 CNN 架构有哪些?LeNet 到 ResNet 是怎么演进的?
简化版
经典 CNN 演进主线:LeNet-5(1998,早期代表性 CNN,手写数字识别,奠定「卷积+池化+全连接」范式)→ AlexNet(2012,ImageNet 夺冠引爆深度学习,大规模组合 ReLU、Dropout、GPU 训练、数据增强)→ VGG(2014,用堆叠 3×3 小卷积核加深到 16/19 层,结构规整)→ GoogLeNet/Inception(2014,Inception 多尺度并行 + 1×1 卷积降维,更深但参数更少)→ ResNet(2015,残差连接解决深层退化,能训到 100+ 甚至 1000 层,深度学习分水岭)。核心趋势:越来越深、参数更高效、靠残差连接突破深度瓶颈。
详细版
经典架构演进:
| 网络 | 年份 | 关键贡献 |
|---|---|---|
| LeNet-5 | 1998 | 最早的 CNN,卷积+池化+全连接范式,手写数字 |
| AlexNet | 2012 | ImageNet 夺冠,ReLU、Dropout、GPU、数据增强,引爆深度学习 |
| VGG | 2014 | 堆叠 3×3 小核加深(16/19 层),结构简单规整 |
| GoogLeNet/Inception | 2014 | Inception 多尺度并行 + 1×1 降维,深且参数少 |
| ResNet | 2015 | 残差连接解决退化,论文实验覆盖百层并探索千层级 |
| (后续) | — | DenseNet、MobileNet、EfficientNet、Vision Transformer |
演进主线:
- 更深:8 层(AlexNet)→ 19 层(VGG)→ 22 层(GoogLeNet)→ 152 层(ResNet)。
- 更高效:小卷积核堆叠、1×1 降维、深度可分离卷积。
- 突破深度瓶颈:残差连接解决「越深越差」的退化问题。
完整版教学
一、为什么要了解这条演进线
经典 CNN 的演进不是一堆孤立的网络,而是一条**「不断解决前一代局限」** 的清晰主线:如何让网络更深、参数更少、效果更好。理解每一代解决了什么问题、贡献了什么关键技术,比死记网络结构更重要,也是面试考察的重点。
经典网络题通常不是考年份背诵,而是考每代结构针对什么瓶颈提出了什么折中。AlexNet 展示大规模深度 CNN 的可行性,VGG 强调规则小卷积堆叠,Inception 处理多尺度与计算成本,ResNet 重点改善深层优化。把问题、机制和代价连起来回答,比简单罗列模型名更接近真实面试。
二、LeNet-5(1998):CNN 的开山之作
由 Yann LeCun 提出,用于手写数字识别(邮政编码、支票)。
- 结构:卷积层 + 池化层 + 全连接层,奠定了 CNN 的基本范式——「卷积提特征、池化下采样、全连接分类」。
- 意义:证明了卷积网络能有效处理图像,是所有现代 CNN 的雏形。
- 局限:受限于当时算力和数据,规模小、没能大规模应用。
三、AlexNet(2012):引爆深度学习的里程碑
在 ImageNet 竞赛上以碾压性优势夺冠(错误率大幅低于传统方法),直接引爆了深度学习热潮。
关键贡献(都成了后来的标配):
- ReLU 激活:替代 sigmoid/tanh,缓解梯度消失、训练更快(详见激活函数专题)。
- Dropout:防止过拟合(详见 Dropout 专题)。
- GPU 训练:用 GPU 加速,让训练大网络可行。
- 数据增强:翻转、裁剪等扩充数据、防过拟合。
- 更深(8 层)、更大。
AlexNet 证明了「深度 + 大数据 + GPU + 正则技巧」的组合威力,开启了深度 CNN 时代。
四、VGG(2014):用小卷积核把网络做深、做规整
VGG 的核心思想:用堆叠的 3×3 小卷积核代替大卷积核,把网络加深到 16 层(VGG16)、19 层(VGG19)。
- 为什么用 3×3 小核堆叠:两个 3×3 卷积的感受野等于一个 5×5,但参数更少、非线性更多(多一层激活);三个 3×3 ≈ 一个 7×7。这是「小核堆叠优于大核」的经典论证(详见感受野专题)。
- 结构规整简单:全用 3×3 卷积 + 2×2 池化,非常统一,易理解和迁移。
- 局限:全连接层参数巨大(VGG16 参数量约 1.38 亿,大部分在全连接层),模型很重。
五、GoogLeNet / Inception(2014):更深但参数更少
和 VGG 同年夺冠,走了另一条路——在加深的同时大幅减少参数。
核心创新:
- Inception 模块:在同一层并行使用多种尺寸的卷积(1×1、3×3、5×5)和池化,多尺度地提取特征再拼接——让网络自己选合适的尺度。
- 1×1 卷积降维:在昂贵的 3×3、5×5 卷积前用 1×1 卷积压缩通道数,大幅减少计算量(详见 1×1 卷积专题)——这是它「深而参数少」的关键。
- 全局平均池化替代全连接层,进一步减参数。
结果:22 层,但参数量比 VGG 少一个数量级。
六、ResNet(2015):残差连接,深度学习的分水岭
前面的网络遇到一个瓶颈:网络越深,效果反而变差(不是过拟合,而是退化问题——深层网络连训练误差都更高,难以优化)。ResNet 用残差连接(skip connection) 彻底解决了这个问题:
残差块:输出 = F(x) + x (让网络学「残差 F(x)」,再加回输入 x)
- 跳跃连接让梯度可以直接回传、让恒等映射更容易表示,从而能稳定训练百层网络,并在特定实验中探索千层级深度(详见 ResNet 专题)。
- ResNet 一举把网络深度推到前所未有的高度,是深度学习的分水岭,此后几乎所有主流架构都用残差连接。
七、之后的发展(简述)
- DenseNet:每层连接到之后所有层,特征复用、参数高效。
- MobileNet / ShuffleNet:深度可分离卷积,为移动端做轻量化(详见深度可分离卷积专题)。
- EfficientNet:系统地平衡深度、宽度、分辨率,高效缩放。
- SENet:通道注意力。
- Vision Transformer(ViT):用 Transformer 处理图像,近年在大数据上超越 CNN——CNN 时代的架构演进延续到了 Transformer。
八、用结构约束理解经典网络的演进
经典 CNN 的演进不是简单地“越深越好”,而是在感受野、参数效率、优化难度之间不断取舍。假设各层输入输出通道都为 C,两层 3×3 卷积的感受野等于一层 5×5,参数量却从 25C² 降为 18C²,并多出一次非线性。这个比较解释了 VGG 为什么偏好堆叠小卷积核,但它没有计入边界、偏置和中间特征存储。
| 网络 | 关键贡献 | 面试时应避免的绝对说法 |
|---|---|---|
| LeNet-5 | 早期端到端卷积识别范式 | 不是所有意义上的“第一种 CNN” |
| AlexNet | 让深度 CNN 在 ImageNet 上形成突破 | ReLU、GPU、Dropout 并非都由它首次提出 |
| VGG | 规则地堆叠小卷积 | 参数与计算并不轻量 |
| Inception | 多分支、多尺度与 1×1 降维 | 结构复杂度更高 |
| ResNet | 残差连接改善深层优化 | 不代表任意深度都必然更好 |
回答“某网络为什么成功”时,应区分原创组件、首次大规模验证和后续普及三个层次。模型效果也依赖数据增强、训练策略和计算预算,不能只把结果归因于网络拓扑。
面试中的历史题重在技术脉络;“首次提出”和“首次在大规模任务中验证有效”不是同一个结论。
九、常见误区与追问
- 误区:AlexNet 发明了 ReLU、Dropout 和 GPU 训练。 这些技术在此前已有研究;AlexNet 的贡献是把它们组合并在 ImageNet 上展示突破。
- 误区:网络越深准确率一定越高。 更深会增加优化和过拟合风险,收益取决于结构、数据和训练方案。
- 追问:两层 3×3 为什么可替代一层 5×5? 步长为 1 时感受野相同,参数更少且增加一次非线性。
- 追问:Inception 的 1×1 卷积解决什么问题? 先压缩通道可降低后续大卷积核的参数量和计算量。
- 追问:CNN 和 ViT 谁更好? 要限定数据规模、预训练、分辨率、延迟和硬件,不能脱离条件下结论。
十、加强记忆
经典 CNN 演进主线(每代解决前代局限):LeNet-5(1998) 开创「卷积+池化+全连接」范式(手写数字)→ AlexNet(2012) ImageNet 夺冠引爆深度学习,把 ReLU、Dropout、GPU 训练、数据增强 等组合推向大规模验证 → VGG(2014) 用堆叠 3×3 小核加深到 16/19 层(小核堆叠感受野等效但参数少、非线性多),结构规整但全连接参数巨大 → GoogLeNet/Inception(2014) 用 Inception 多尺度并行 + 1×1 卷积降维,深而参数少 → ResNet(2015) 用残差连接改善深层退化与优化问题,稳定训练百层网络并探索千层级实验,是分水岭。趋势:越来越深、参数越来越高效、残差连接突破深度瓶颈;后续 DenseNet、MobileNet、EfficientNet、ViT。