2012 年 9 月,ImageNet 大规模视觉识别竞赛(ILSVRC)的结果让整个计算机视觉社区震惊:来自多伦多大学的 AlexNet,由亚历克斯·克里热夫斯基(Alex Krizhevsky)、伊利亚·苏茨克维尔(Ilya Sutskever)和杰弗里·欣顿(Geoffrey Hinton)构建,以 15.3% 的错误率夺冠,比第二名低了近 11 个百分点。
这一刻标志着深度学习时代的正式开启。AlexNet 是一个卷积神经网络(Convolutional Neural Network, CNN),而 CNN 的理论根源可以追溯到 1980 年福岛邦彦(Kunihiko Fukushima)的 Neocognitron,以及 1998 年杨立昆(Yann LeCun)的 LeNet-5。
破除误解:卷积不是"滤镜"
CNN 的卷积操作看起来像图像处理软件中的"模糊"或"锐化"滤镜,但有本质区别:图像处理的滤镜是人工设计的固定核;CNN 的卷积核是从数据中学习的,网络自动发现对任务有用的特征。
另一个误解:CNN 只能处理图像。实际上 CNN 的适用场景是具有局部结构和平移不变性的数据——音频波形(1D CNN)、文本序列(1D CNN)、视频(3D CNN)、医学图像(3D CNN)都是 CNN 的重要应用领域。
三大核心操作
卷积层(Convolutional Layer)
卷积核(Filter)$W$(大小如 )在输入特征图上滑动,对每个位置做局部内积:
关键性质:
- 参数共享(Weight Sharing):同一个卷积核在整张图上共享参数,大幅减少参数数量。 的卷积核只有 9 个参数,而等效的全连接层对 的图像需要数百万参数。
- 局部连接(Local Connectivity):每个输出神经元只连接输入的一个局部区域(感受野),符合图像的局部相关性先验。
- 平移等变性(Translation Equivariance):特征在输入中平移,输出的特征图中也相应平移,使网络能检测任意位置的特征。
池化层(Pooling Layer)
对特征图进行下采样,常用最大池化(Max Pooling):在每个 区域取最大值,特征图尺寸减半。
作用:降低空间维度(减少计算量),引入对小幅位移的不变性——猫移动两个像素,最大池化的输出不变。
但池化是 CNN 中最有争议的组件,争议集中在两点。
- 它是不是必需的?Springenberg 等人(2015)的"全卷积网络"实验表明:用步长为 2 的卷积替代池化做下采样,在多个基准上精度不降反升——下采样可以由卷积自己完成,池化并非不可替代。
- 它丢掉了什么?Hinton 多年来批评池化把精确的位置信息冲掉了:一张五官错位的人脸,每个部件都"存在",池化后的特征照样匹配——网络知道有什么,却不知道各部件在哪里、以什么空间关系组合。他提出的胶囊网络(Capsule Networks,Sabour、Frosst 与 Hinton,2017)让神经元输出向量而非标量,试图把"姿态信息"保留下来。胶囊网络最终未能取代 CNN,但这个批评本身影响了后来的架构思路——现代检测与分割网络普遍引入跳跃连接、上采样路径来挽回被下采样丢掉的空间细节。
全连接层(Fully Connected Layer)
CNN 的末端,将展平的特征向量映射到类别概率。现代设计常用全局平均池化(Global Average Pooling)代替全连接层,大幅减少参数。
先验如何变成结构:卷积设计的为什么
全连接网络在理论上也能学会识别图像——万能逼近定理保证了这一点。那为什么还要卷积?答案不在表达能力,而在样本效率:卷积把两条关于图像的先验直接写进网络结构,让网络不必浪费训练数据去学这两件"本来就该如此"的事。
先验一:局部性——图像里相邻像素的相关性远高于相隔遥远的像素,一条边缘只涉及几个像素的邻域。局部连接把这个先验写死:每个神经元只看一个 的小窗口。代价是显式的:单层卷积无法感知远处的像素,长程依赖必须靠堆层、靠感受野逐层扩大来间接获得。
先验二:平移等变性——一只猫出现在左上角还是右下角,都是猫。如果每个位置各学一套参数,网络要在每个位置分别"重新学会"认猫;权重共享规定同一个检测器在所有位置复用,一份参数在全图巡逻。数字最能说明差距:对 的输入接一个 1000 单元的全连接层,需要约 个参数;一个 、64 通道的卷积层只有 个——五个数量级的差距,全部来自这两条先验。
需要强调的是,先验是赌注。当数据确实有局部性和平移结构时(图像、语音、许多物理信号),赌注几乎稳赢,换来的是数据需求与过拟合风险的数量级下降;当数据没有这种结构时(比如特征顺序无意义的表格数据),卷积的先验就成了负担。理解 CNN 的关键因此不是"卷积怎么算",而是"这两条先验为什么对图像成立"。
深度 CNN 的演进
| 网络 | 年份 | 层数 | ImageNet Top-5 错误率 | 关键创新 |
|---|---|---|---|---|
| LeNet-5 | 1998 | 5 | — | 最早实用 CNN,用于手写数字识别 |
| AlexNet | 2012 | 8 | 15.3% | ReLU、Dropout、GPU 训练 |
| VGGNet | 2014 | 16/19 | 7.3% | 全用 小卷积核 |
| GoogLeNet | 2014 | 22 | 6.7% | Inception 模块,多尺度并行卷积 |
| ResNet | 2015 | 152 | 3.57% | 残差连接,解决梯度消失 |
| EfficientNet | 2019 | — | 2.9% | 复合系数同时缩放深度/宽度/分辨率 |
残差连接(Residual Connection, He et al., 2015) 是最重要的架构创新之一:
跳跃连接让梯度能直接回传到浅层,使训练 150 层以上的网络成为可能。ResNet 论文于 2015 年底公开(arXiv),并获得了 CVPR 2016 最佳论文奖,作者何恺明(Kaiming He)等人因此成为深度学习历史上最具影响力的研究者之一。
这场演化的驱动力值得单独说清,因为它不是"越深越好"这么简单。何恺明等人观察到一个反常现象:把普通网络从 20 层加深到 56 层,训练误差反而升高——不是过拟合(过拟合是训练误差低、测试误差高),而是优化本身失败了:更深的网络连训练集都拟合得更差。瓶颈不在表达能力,而在梯度——几十层连乘之后,误差信号传回浅层时已面目全非。残差连接的解法是让每层只学"对恒等映射的修正" $F(x) = H(x) - x$,而非完整映射 $H(x)$:若恒等映射已经接近想要的变换,把 $F$ 学到零附近远比凭空学出 $H$ 容易;反向传播时梯度经跳跃连接直达浅层,不再被几十次连乘衰减。回看整张演进表,逻辑是一致的:VGG 统一用 小核、GoogLeNet 用 卷积压缩通道数以节省算力,都是在固定的计算与梯度预算内让每一层更好优化——EfficientNet 的复合缩放也是同一主题的延续。
从图像到任务
目标检测:YOLO(You Only Look Once)系列、Faster R-CNN 等框架在 CNN 特征图上预测边界框,实现实时目标检测。
语义分割:全卷积网络(FCN)将全连接层替换为卷积层,输出与输入同尺寸的逐像素标签图。
医学影像:U-Net(2015)是医学图像分割的标准架构,在极小训练集上表现优异,大量用于病理切片分析。
生成模型:卷积自编码器、生成对抗网络(GAN)利用 CNN 的卷积/转置卷积生成高质量图像(StyleGAN 等)。
代价与争议
数据饥渴:CNN 从头训练需要大量标注数据。迁移学习(Transfer Learning)——在 ImageNet 上预训练后微调——是应对小数据集的标准解决方案。
可解释性:CNN 学到的特征难以解释。类激活映射(CAM/Grad-CAM)等方法可视化哪些区域对预测贡献最大,但仍然粗糙。
对抗样本:CNN 对精心设计的输入扰动极度敏感——人眼无法察觉的微小修改可以让 CNN 以高置信度做出错误分类(Szegedy et al., 2014)。这在安全关键应用中(自动驾驶、医疗诊断)是严重隐患。
被 Transformer 挑战:ViT(Vision Transformer,2020)证明纯 Transformer 在图像识别上可以媲美 CNN,质疑了卷积归纳偏置的必要性。当前趋势是混合架构。
卷积的数学本质
在信号处理和数学中,卷积(Convolution)的标准定义是:
它描述两个函数"叠加"或"混合"的程度,广泛用于信号滤波、概率论(两独立随机变量之和的分布)等。
CNN 中的"卷积"严格说是互相关(Cross-Correlation)而非数学意义上的卷积(翻转核后才是卷积)。但由于卷积核是从数据中学习的,翻转与否不影响结果——两者的区别在 CNN 中可以忽略,实践中通称"卷积"。
感受野(Receptive Field)是理解 CNN 层次结构的关键概念:第 $L$ 层的一个神经元对应输入图像上 的区域。随着层数加深,感受野指数增大:用三个 的卷积层,感受野等效于一个 的卷积,但参数量只有 而非 $49$。这就是为什么深层小卷积核优于浅层大卷积核。
迁移学习:重用视觉知识
CNN 的层次化特征具有跨任务的通用性:
- 第 1-2 层:边缘、角点、颜色梯度(几乎所有视觉任务共享)
- 第 3-5 层:纹理、部件(通用中层特征)
- 深层:任务特定的高层语义(类别相关)
迁移学习利用这一特性:在 ImageNet 上预训练的 ResNet-50,即使用于医学影像诊断、卫星图像分类等截然不同的任务,只需微调(Fine-tuning)最后几层,用极少数据就能达到良好性能。这极大地降低了深度学习的数据和计算门槛。
跨域连接
- 群:参数共享不是省内存的技巧,而是把平移对称性写进了模型。在线性算子里,与平移可交换的恰好就是卷积——这是一个定理,不是设计偏好。由此可推出推广路线:想让模型对旋转或缩放也等变,应当换成相应群上的卷积,而不是靠数据增强去"教"它;后者只能近似,且要付样本量的代价。
- 晶体结构与布拉格衍射:晶体的平移对称性把无穷多原子的问题压缩到一个原胞,电子态被标上一个动量指标——同样是"对称性换来参数量的坍缩"。两边共享同一条边界:对称一旦破缺(缺陷、表面、非周期结构),压缩随之失效。卷积网络在图像边界处表现下滑,是同一件事的软化版本。
- 知觉生理学:视觉皮层里对特定朝向局部边缘响应的细胞、以及对位置有一定容忍的细胞,与卷积加池化的结构对应得相当好。但对应止步于此:生物感受野随离中心越远而越大,中央与周边的分辨率差着量级,而卷积核在整张图上尺寸相同。均匀采样是工程简化,不是对视觉系统的模仿。
- 声学语音学:把语谱图当图像做二维卷积很常见,但两个轴的性质并不对称。时间轴上平移不变是对的——同一个音出现得早或晚不改变它是什么;频率轴上不是:共振峰的绝对位置携带元音身份,沿频率共享权重等于抹掉这份信息。所以语音模型常限制频率方向的共享或改用一维卷积。
- 注意力机制与 Transformer:纯注意力同样能做图像识别,这反而把卷积的价值说清楚了:局部性与平移等变是写死的先验,注意力则要从数据里学出"哪些位置该相互影响"。由此可预期一次交叉:数据少时强先验占优,数据足够多时弱先验能学到卷积表达不出的长程关系,于是主流走向混合结构。
参考文献
- LeCun, Y. et al. Gradient-Based Learning Applied to Document Recognition. Proceedings of the IEEE 86(11), 2278–2324 (1998).
- Krizhevsky, A., Sutskever, I. & Hinton, G. E. ImageNet Classification with Deep Convolutional Neural Networks. NeurIPS 2012.
- He, K. et al. Deep Residual Learning for Image Recognition. CVPR 2016. arXiv:1512.03385.
- Springenberg, J. T., Dosovitskiy, A., Brox, T. & Riedmiller, M. Striving for Simplicity: The All Convolutional Net. ICLR 2015 Workshop. arXiv:1412.6806.
- Sabour, S., Frosst, N. & Hinton, G. E. Dynamic Routing Between Capsules. NeurIPS 2017.
延伸阅读
- Goodfellow, I., Bengio, Y. & Courville, A. Deep Learning. MIT Press, 2016.(第9章)