跳转到内容
← 返回算法
深度学习计算机科学 · 深度学习 · 计算机视觉15 分钟阅读

卷积神经网络

Convolutional Neural Networks

2012 年 9 月,ImageNet 大规模视觉识别竞赛(ILSVRC)的结果让整个计算机视觉社区震惊:来自多伦多大学的 AlexNet,由亚历克斯·克里热夫斯基(Alex Krizhevsky)、伊利亚·苏茨克维尔(Ilya Sutskever)和杰弗里·欣顿(Geoffrey Hinton)构建,以 15.3% …

卷积神经网络CNN深度学习计算机视觉图像识别

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$(大小如 3×33 \times 3)在输入特征图上滑动,对每个位置做局部内积:

(IW)[i,j]=mnI[i+m,j+n]W[m,n](I * W)[i, j] = \sum_{m}\sum_{n} I[i+m, j+n] \cdot W[m, n]

关键性质

  • 参数共享(Weight Sharing):同一个卷积核在整张图上共享参数,大幅减少参数数量。3×33 \times 3 的卷积核只有 9 个参数,而等效的全连接层对 224×224224 \times 224 的图像需要数百万参数。
  • 局部连接(Local Connectivity):每个输出神经元只连接输入的一个局部区域(感受野),符合图像的局部相关性先验。
  • 平移等变性(Translation Equivariance):特征在输入中平移,输出的特征图中也相应平移,使网络能检测任意位置的特征。

池化层(Pooling Layer)

对特征图进行下采样,常用最大池化(Max Pooling):在每个 2×22 \times 2 区域取最大值,特征图尺寸减半。

作用:降低空间维度(减少计算量),引入对小幅位移的不变性——猫移动两个像素,最大池化的输出不变。

但池化是 CNN 中最有争议的组件,争议集中在两点。

  • 它是不是必需的?Springenberg 等人(2015)的"全卷积网络"实验表明:用步长为 2 的卷积替代池化做下采样,在多个基准上精度不降反升——下采样可以由卷积自己完成,池化并非不可替代。
  • 它丢掉了什么?Hinton 多年来批评池化把精确的位置信息冲掉了:一张五官错位的人脸,每个部件都"存在",池化后的特征照样匹配——网络知道有什么,却不知道各部件在哪里、以什么空间关系组合。他提出的胶囊网络(Capsule Networks,Sabour、Frosst 与 Hinton,2017)让神经元输出向量而非标量,试图把"姿态信息"保留下来。胶囊网络最终未能取代 CNN,但这个批评本身影响了后来的架构思路——现代检测与分割网络普遍引入跳跃连接、上采样路径来挽回被下采样丢掉的空间细节。

全连接层(Fully Connected Layer)

CNN 的末端,将展平的特征向量映射到类别概率。现代设计常用全局平均池化(Global Average Pooling)代替全连接层,大幅减少参数。

先验如何变成结构:卷积设计的为什么

全连接网络在理论上也能学会识别图像——万能逼近定理保证了这一点。那为什么还要卷积?答案不在表达能力,而在样本效率:卷积把两条关于图像的先验直接写进网络结构,让网络不必浪费训练数据去学这两件"本来就该如此"的事。

先验一:局部性——图像里相邻像素的相关性远高于相隔遥远的像素,一条边缘只涉及几个像素的邻域。局部连接把这个先验写死:每个神经元只看一个 3×33 \times 3 的小窗口。代价是显式的:单层卷积无法感知远处的像素,长程依赖必须靠堆层、靠感受野逐层扩大来间接获得。

先验二:平移等变性——一只猫出现在左上角还是右下角,都是猫。如果每个位置各学一套参数,网络要在每个位置分别"重新学会"认猫;权重共享规定同一个检测器在所有位置复用,一份参数在全图巡逻。数字最能说明差距:对 224×224×3224 \times 224 \times 3 的输入接一个 1000 单元的全连接层,需要约 1.5×1081.5 \times 10^8 个参数;一个 3×33 \times 3、64 通道的卷积层只有 3×3×3×64=17283 \times 3 \times 3 \times 64 = 1728 个——五个数量级的差距,全部来自这两条先验。

需要强调的是,先验是赌注。当数据确实有局部性和平移结构时(图像、语音、许多物理信号),赌注几乎稳赢,换来的是数据需求与过拟合风险的数量级下降;当数据没有这种结构时(比如特征顺序无意义的表格数据),卷积的先验就成了负担。理解 CNN 的关键因此不是"卷积怎么算",而是"这两条先验为什么对图像成立"。

深度 CNN 的演进

网络年份层数ImageNet Top-5 错误率关键创新
LeNet-519985最早实用 CNN,用于手写数字识别
AlexNet2012815.3%ReLU、Dropout、GPU 训练
VGGNet201416/197.3%全用 3×33 \times 3 小卷积核
GoogLeNet2014226.7%Inception 模块,多尺度并行卷积
ResNet20151523.57%残差连接,解决梯度消失
EfficientNet20192.9%复合系数同时缩放深度/宽度/分辨率

残差连接(Residual Connection, He et al., 2015) 是最重要的架构创新之一:

output=F(x,W)+x\text{output} = F(x, W) + x

跳跃连接让梯度能直接回传到浅层,使训练 150 层以上的网络成为可能。ResNet 论文于 2015 年底公开(arXiv),并获得了 CVPR 2016 最佳论文奖,作者何恺明(Kaiming He)等人因此成为深度学习历史上最具影响力的研究者之一。

这场演化的驱动力值得单独说清,因为它不是"越深越好"这么简单。何恺明等人观察到一个反常现象:把普通网络从 20 层加深到 56 层,训练误差反而升高——不是过拟合(过拟合是训练误差低、测试误差高),而是优化本身失败了:更深的网络连训练集都拟合得更差。瓶颈不在表达能力,而在梯度——几十层连乘之后,误差信号传回浅层时已面目全非。残差连接的解法是让每层只学"对恒等映射的修正" $F(x) = H(x) - x$,而非完整映射 $H(x)$:若恒等映射已经接近想要的变换,把 $F$ 学到零附近远比凭空学出 $H$ 容易;反向传播时梯度经跳跃连接直达浅层,不再被几十次连乘衰减。回看整张演进表,逻辑是一致的:VGG 统一用 3×33 \times 3 小核、GoogLeNet 用 1×11 \times 1 卷积压缩通道数以节省算力,都是在固定的计算与梯度预算内让每一层更好优化——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)的标准定义是:

(fg)(t)=f(τ)g(tτ)dτ(f * g)(t) = \int_{-\infty}^{\infty} f(\tau) g(t - \tau) \, d\tau

它描述两个函数"叠加"或"混合"的程度,广泛用于信号滤波、概率论(两独立随机变量之和的分布)等。

CNN 中的"卷积"严格说是互相关(Cross-Correlation)而非数学意义上的卷积(翻转核后才是卷积)。但由于卷积核是从数据中学习的,翻转与否不影响结果——两者的区别在 CNN 中可以忽略,实践中通称"卷积"。

感受野(Receptive Field)是理解 CNN 层次结构的关键概念:第 $L$ 层的一个神经元对应输入图像上 rL×rLr_L \times r_L 的区域。随着层数加深,感受野指数增大:用三个 3×33 \times 3 的卷积层,感受野等效于一个 7×77 \times 7 的卷积,但参数量只有 3×9=273 \times 9 = 27 而非 $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章)