卷积网络结构演进:从 LeNet 到 SENet
要设计高效的网络,先得知道这些年大家是怎么把网络一步步做深、做强的。这篇顺着 ILSVRC(ImageNet 大规模图像识别竞赛)的时间线,串一遍卷积神经网络结构的几个里程碑。(下文的精度数据均来自 torchvision。)
LeNet-5:卷积网络的起点
卷积神经网络最早源自 1998 年 LeCun 的论文,提出了用于手写字符识别的 LeNet-5,对应的数据集就是我们常见的 MNIST——5 万张 0–9 手写字符,每张 、单灰度通道。

LeNet-5 除全连接层外只有 5 层(3 个卷积 + 2 个池化),是最早用于图像识别的 CNN。

AlexNet:点燃深度学习
CNN 真正崛起离不开 ILSVRC——在 ImageNet 上的大规模识别竞赛(ILSVRC2012 数据集分 1000 类,128 万张训练、5 万张测试,总大小超 100GB)。2012 年 AlexNet 夺冠。能在 ImageNet 这种规模上训起深度 CNN,离不开 GPU 的发展:CNN 高度可并行的特性,配上 GPU 的并行算力,让深度 CNN 在大规模识别上大放异彩。AlexNet 有 5 个卷积层和 3 个最大池化层,层数比 LeNet-5 没多多少,但每层都在更高分辨率上计算,计算量大得多。它最终拿到 56.55% 的 Top-1、79.09% 的 Top-5。

GoogLeNet / Inception:多分支模块
2014 年 Google 的 GoogLeNet(即 Inception V1,后续有 V2/V3/V4)赢得 ILSVRC2014。它提出 Inception 模块:把输入分别用不同的卷积层处理,再拼接到一起。GoogLeNet 在 ILSVRC2012 上达到 69.78% Top-1、89.53% Top-5。


VGGNet:把网络做”很深”
与 GoogLeNet 几乎同时诞生的 VGGNet,直接在论文标题里把 deep convolution 升级成 very deep convolution。不同版本的区别只在卷积层数和是否用 Batch Normalization。VGG19 + BN 时达到最高 74.24% Top-1、91.85% Top-5。

Batch Normalization 与归一化家族
VGG 的部分版本用到了 Batch Normalization(BN)层。BN 对输入的四维张量做归一化和仿射变换,能有效抑制协方差漂移,从而可以用更大的学习率、加快训练,也让训练更稳、不易发散。

BN 已经是现在深度学习里不可或缺的一环。与之类似的还有 Layer Normalization、Instance Normalization、Group Normalization,区别主要在归一化的维度和范围:

ResNet:残差连接,训练上百层
2015 年的 ResNet 大概是近年最振奋人心的成果之一,横扫 ILSVRC2015 与 COCO2015 的分类、检测、分割。它提出的残差学习让更深的网络也变得容易训练——论文里做到了上百层、甚至尝试上千层,实验表明这么深的网络在拟合训练数据时也不会遇到优化困难(但会过拟合)。ResNet-152 在 ILSVRC2012 上达到 78.32% Top-1、94.06% Top-5。

SENet:给通道加上注意力
2016 年的 SENet(Squeeze-and-Excitation Network)拿下了最后一届 ILSVRC(2017)的冠军。它提出 Squeeze-and-Excitation 模块,把特征图不同通道之间的信息相互融合——这也是一种注意力(attention)机制。

SE 模块可以很方便地嵌进别的结构。比如嵌进 ResNet 的残差模块后,同样深度的 SE-ResNet 在 ILSVRC2012 上能稳定地比 ResNet 高出 1% 以上的 Top-1。

这一串里程碑——AlexNet 把深度网络带进视野,VGG 把它做深,Inception 引入多分支与 BN,ResNet 引入残差,SENet 引入注意力——是后面所有结构设计的底子。但它们大多是为”刷精度”而生;要落地到移动端、追求更低的时延和内存,就需要专门的紧凑结构设计了。
参考资料
- LeCun, Yann, et al. Gradient-Based Learning Applied to Document Recognition. Proceedings of the IEEE, 1998.
- Krizhevsky, Alex, Sutskever, Ilya, Hinton, Geoffrey E. ImageNet Classification with Deep Convolutional Neural Networks (AlexNet). NeurIPS / CACM, 2012/2017.
- Szegedy, Christian, et al. Going Deeper with Convolutions (GoogLeNet). CVPR, 2015.
- Simonyan, Karen, Zisserman, Andrew. Very Deep Convolutional Networks for Large-Scale Image Recognition (VGG). arXiv:1409.1556, 2014.
- Ioffe, Sergey, Szegedy, Christian. Batch Normalization. arXiv:1502.03167, 2015.
- Ba, Jimmy Lei, et al. Layer Normalization. arXiv:1607.06450, 2016.
- Ulyanov, Dmitry, et al. Instance Normalization: The Missing Ingredient for Fast Stylization. arXiv:1607.08022, 2016.
- Wu, Yuxin, He, Kaiming. Group Normalization. ECCV, 2018.
- He, Kaiming, et al. Deep Residual Learning for Image Recognition (ResNet). CVPR, 2016.
- Hu, Jie, Shen, Li, Sun, Gang. Squeeze-and-Excitation Networks (SENet). CVPR, 2018.
- Deng, Jia, et al. ImageNet: A Large-Scale Hierarchical Image Database. CVPR, 2009.