这篇文章想帮你建立什么直觉?
卷积神经网络(CNN)是深度学习在计算机视觉上取得突破的核心构件之一;ResNet则回答了「网络已经很深了,还要继续加深时,优化与表示会发生什么」这一工程上极其现实的问题。本文沿 Christopher Olah 的模块化视角理解 CNN:把一层卷积看成「同一种神经元在输入上多处复用」;再结合 He 等人原始论文中的退化(degradation)现象与恒等映射捷径(identity shortcut),说明残差块为何有效。最后我们会诚实讨论 CNN / ResNet 的归纳偏置与局限,以及为何在自然语言处理与部分视觉主干上,社区的主流选择逐渐转向 Transformer——这并不是说卷积「被淘汰」,而是默认问题表述与训练范式发生了转移。
若你已读过本站《理解 Transformer》,可把本文当作从「网格上的局部滤波器堆叠」到「集合上的全局可组合查询」的对照阅读。
一、模块化视角:CNN 在复用什么?
Olah 在 Conv Nets: A Modular Perspective 中指出:在最朴素的理解里,CNN 使用许多份结构相同的神经元(权值共享),因此可以在保持可学习参数量相对可控的前提下,表达很大的计算图。这与编程里「写一次函数、到处调用」的抽象是同一类思想:减少重复学习与实现错误。
对一维信号,一组神经元 \(A\) 在每个时间局部窗口上计算同样的特征;对二维图像,\(A\) 在每个空间小块(patch)上滑动。我们关心的统计性质往往在不同位置重复出现(例如「某处是否有边缘」),因此让同一组权重扫过全图是合理归纳偏置。
权值共享:一次学习、处处卷积(示意)
二、为何要卷积 + 池化?局部、层次与轻微平移不变性
局部连接:像素与其远邻的统计依赖往往通过多层逐步组合更合理,第一层只看小块即可编码边缘、纹理等低层特征。
层次组合:一层卷积的输出可作为下一层的输入,网络在深度方向上形成从局部到整体的特征层级。
池化(如 max-pooling):Olah 强调其「放大感受野、对微小位移不敏感」的作用——我们往往只关心某特征是否出现在一个区域内,而不关心精确到单个像素的坐标。
典型栈式结构:卷积提取局部模式,池化粗化空间分辨率
三、形式化一瞥:从 patch 到特征图
二维卷积层可抽象为:对每个空间位置 \((n,m)\),取邻域内的输入小块,用同一组权重计算输出。若用 \(A\) 表示该局部非线性变换(实践中常包含仿射变换与 ReLU 等),则思想上可写成:
工程实现上更常用「卷积核 + 步幅 + 填充 + 多通道」的高效形式;但从设计动机看,上式已足够说明 CNN 在假设什么。
四、变深之后:退化问题与 ResNet 的残差形式
Krizhevsky 等人在 ImageNet 上的成功表明:更深、更大、配合 ReLU 与 Dropout 等技巧的 CNN 极具潜力。但把普通「plain」网络一味堆深时,He 等人在 Deep Residual Learning for Image Recognition(CVPR 2016,arXiv:1512.03385)中观察到反直觉现象:在适当深度之后,更深的网络训练误差反而更高——这不是过拟合(验证集也变差),而是优化困难,论文称之为 degradation。
若较浅网络已能达到某表示能力,理想情况下更深网络至少应能复制浅层解(例如让新增层近似恒等映射)。实践中的 plain 堆叠并不总能轻松学到这种恒等行为。ResNet 的做法是显式构造残差映射:让堆叠的非线性层去拟合相对恒等路径的修正量 \(\mathcal{F}\),而不是直接拟合完整映射 \(\mathcal{H}\)。
其中 \(x\) 为捷径分支上的恒等映射输入;当输入输出维度不一致时,论文使用1×1 卷积的投影捷径对齐通道与空间尺寸。直觉上:
- 若最优映射接近恒等,则 \(\mathcal{F}\) 可被推向零附近,比「整个 \(\mathcal{H}\) 都要用非线性层硬凑」更容易优化。
- 反向传播时,捷径为梯度提供更短、更稳定的路径,缓解随深度增加的信号衰减问题。
残差块:学习对输入的修正并与捷径相加(示意)
读原论文时建议抓住两条线:一是退化实验所揭示的优化瓶颈;二是恒等路径 + 残差分支如何把「加深」从「更难训」扭转为「可稳定堆叠」。
五、CNN / ResNet 仍要面对的局限
- 局部性与感受野:标准卷积以邻域为原子;要建立相距很远的像素之间的强依赖,往往需要堆叠很多层、使用空洞卷积、或非局部模块等补丁——不是做不到,而是不天然。
- 对显式几何与网格的依赖:二维 CNN 假设规则像素网格;对点云、图、集合数据需要额外设计(或换主干)。
- 平移不变性的代价:池化带来对微小平移的鲁棒性,也可能丢掉对任务关键的细粒度空间信息(分割、检测中常用 FPN、空洞卷积等缓解)。
- 参数与计算仍随分辨率增长:高分辨率图像上,即使有了 ResNet,计算与显存压力仍是系统瓶颈之一。
六、为何 Transformer 在许多赛道上「取代」了默认选择?
NLP:语言是一维离散符号序列,长程依赖与对齐(指代、省略、跨句推理)极其常见。RNN 串行难扩展;CNN 作为序列模型需要多层才能扩大有效感受野(Olah 与后续工作都讨论过这一点)。自注意力在单层内即可让任意两位置建立直接权重连接,且主体计算高度并行,配合大规模预训练,使 Transformer 成为语言建模与理解的事实标准(见本站《理解 Transformer》)。
视觉:ViT 等将图像切块为 patch token,用 Transformer 编码全局关系,在大数据 + 强正则 + 训练配方下可与 CNN 竞争甚至领先;实践中也有 Swin、ConvNeXt 等大量混合或反思卷积归纳偏置的工作。更准确的说法是:研究社区的默认「第一套要试的骨架」从纯 CNN 转向了 Transformer 或混合结构,而卷积仍在移动端、实时检测、嵌入式与许多工业管线中广泛使用。
与 ResNet 的关系:Transformer 层内同样广泛采用残差 + LayerNorm——残差思想超越了「仅用于 CNN」;但从局部滤波到全局 token 混合,改变的是谁先验地假设了结构的局部性。
参考文献与链接
- Olah, C. (2014). Conv Nets: A Modular Perspective.
- Krizhevsky, A., Sutskever, I. & Hinton, G. E. (2012). ImageNet Classification with Deep Convolutional Neural Networks. NIPS.
- He, K., Zhang, X., Ren, S. & Sun, J. (2015). Deep Residual Learning for Image Recognition. arXiv:1512.03385(CVPR 2016).
- Lin, M., Chen, Q. & Yan, S. (2013). Network In Network. ICLR.
- Vaswani, A., et al. (2017). Attention Is All You Need.
- Dosovitskiy, A., et al. (2020). An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale (ViT).
ResNet 原文 BibTeX(CVPR 2016)
@inproceedings{he2016deep,
title={Deep residual learning for image recognition},
author={He, Kaiming and Zhang, Xiangyu and Ren, Shaoqing and Sun, Jian},
booktitle={Proceedings of the IEEE conference on computer vision and pattern recognition},
pages={770--778},
year={2016}
}