空洞卷积的多尺度上下文聚合:不降分辨率也能看得更远
Multi-Scale Context Aggregation by Dilated Convolutions
- 作者
- Fisher Yu, Vladlen Koltun
- 依据版本
- arXiv v3
- 30u30 单元
- 11_dilated_convolutions(讲解、实现与练习请到原仓库查看,本站不翻译、不改编,见导读)
本页目录(16)
一句话总结#
把卷积核的采样点“撑开”而不是把图片“缩小”:间隔为 1、2、4、8……的 3×3 卷积层层堆叠,感受野按指数扩大,输出仍然保持原分辨率。
解决什么问题#
稠密预测(如语义分割)要为图片里的每个像素给出一个标签。论文指出它和图像分类在结构上不同:
- 分类网络通过池化和带步长的卷积不断降低分辨率,以此汇聚全局信息,最后只输出一个类别。
- 分割需要像素级精度和多尺度上下文推理同时具备。降分辨率能扩大视野,但会丢失细节;之后再上采样也补不回来。
当时的分割模型大多是把分类网络改造一下拿来用。论文提出两个问题:改造后的网络里,哪些部分真正有用,哪些在稠密运行时反而降低精度?能不能设计专门用于稠密预测的模块?
核心思想#
1. 空洞卷积#
普通卷积:(F ∗ k)(p) = Σ_{s + t = p} F(s) · k(t)。
空洞卷积(膨胀因子 l):(F ∗_l k)(p) = Σ_{s + l·t = p} F(s) · k(t)。
也就是同一个卷积核,每隔 l 个位置取一个样本。l = 1 时就是普通卷积。论文特意说明:这里并不构造一个“膨胀后的卷积核”,而是改变卷积算子使用参数的方式;它也不等同于小波分解里的“à trous 算法”,后者只是用到了空洞卷积。
2. 感受野指数增长#
用 3×3 卷积核,第 i 层的膨胀因子取 2^i(1、2、4、8……)。论文图 1 给出:第一层每个元素的感受野是 3×3,第二层 7×7,第三层 15×15,一般地是 (2^{i+2} − 1) × (2^{i+2} − 1)。参数量只线性增长,感受野却指数增长,而且不丢分辨率、也不漏掉覆盖。
3. 上下文模块#
一个可插在任何分割网络后面的模块(论文表 1):前 7 层都是 3×3 卷积,膨胀因子依次为 1、1、2、4、8、16、1,最后一层 1×1 卷积。感受野达到 67×67。输入和输出都是 C 个特征图,形状不变,所以可以直接插进现有网络。由于前端输出的特征图是 64×64,作者在第 6 层后停止指数扩张。
4. 恒等初始化#
作者发现用常规的随机初始化训练这个模块,精度没有提升。改为恒等初始化:每层的卷积核初始时只把输入原样传给输出。这样模块一开始“什么都不做”,训练再让它慢慢学会利用上下文。论文也承认这可能让反向传播难以改变默认行为,但实验表明并非如此。
关键公式或机制#
简化前端(论文第 4 节)#
作者把 VGG-16 改造成分割网络时:
- 去掉最后两个池化和下采样层,后续卷积相应地改为 2 倍、4 倍膨胀,这样仍能用原分类网络的参数初始化;
- 去掉中间特征图的填充,作者认为它在分类网络里有用,在稠密预测里既不必要也不合理。
这个简化后的前端在 VOC-2012 测试集上比 FCN-8s 和 DeepLab 都高 5 个百分点以上,甚至比使用了 CRF 后处理的 DeepLab 高出 1 个多百分点(67.6% 对 66.4%)。论文把原因部分归于去掉了这些为分类设计的“残留部件”。
上下文模块的效果#
- 在三种结构(只有前端、前端加 dense CRF、前端加 CRF-RNN)上,加入上下文模块都提高了精度,大模块(Large)提升更多。
- 论文认为上下文模块和结构化预测(CRF)可以叠加。
- 用 COCO 额外数据训练的前端,在 VOC-2012 验证集上 69.8%、测试集上 71.3% mean IoU;加上大型上下文模块后在测试集上进一步提升(具体数字见论文表 4,本笔记未摘录,待核实)。
- 附录还在 CamVid、KITTI、Cityscapes 三个城市街景数据集上做了实验。
图解#
flowchart LR
I["前端输出:C 个 64×64 特征图"] --> L1["3×3,膨胀 1"]
L1 --> L2["3×3,膨胀 1"]
L2 --> L3["3×3,膨胀 2"]
L3 --> L4["3×3,膨胀 4"]
L4 --> L5["3×3,膨胀 8"]
L5 --> L6["3×3,膨胀 16"]
L6 --> L7["3×3,膨胀 1"]
L7 --> L8["1×1 卷积 → C 个特征图(感受野 67×67)"]
图解:上下文模块接收前端输出的 C 个 64×64 特征图,经过膨胀因子依次为 1、1、2、4、8、16、1 的 3×3 卷积和一层 1×1 卷积,输出同样形状的特征图,感受野扩大到 67×67。
关键原话#
“dilated convolutions support exponential expansion of the receptive field without loss of resolution or coverage.”
和 Anthropic 笔记的对应#
这是一篇计算机视觉论文,Anthropic 工程博客的笔记没有直接讨论它。下面是类比:
| Anthropic 笔记 | 对得上的地方 |
|---|---|
| 面向 AI 智能体的上下文工程 | 本文要同时拿到“局部细节”和“大范围上下文”,靠的是有层次地扩大视野而不是把输入压缩变粗。上下文工程里的压缩和按需检索也是在细节与全局之间取舍。只是类比。 |
| 构建高效的智能体 | 作者发现去掉分类网络里为别的任务设计的部件,分割反而更准。那篇的立场也是:不要照搬复杂框架,先弄清哪些部件对当前任务真正有用。 |
读的时候要注意#
- 结构化预测仍然有用:论文的最好结果依然叠加了 CRF 或 CRF-RNN,空洞卷积没有取代它们。
- “去掉部件更准”的结论有前提:比较对象是当时把分类网络直接改造的做法,并且训练细节不同,不能简单推广。
- 恒等初始化是成败关键:论文明确说用常规初始化训练不出效果,复现时要注意。
- 后来的发展:空洞卷积后来也被用于音频生成、序列建模等领域(待核实:本笔记未打开相关论文)。
30u30 对应单元#
- 30u30 的 Day 11 单元↗(仓库采用 CC BY-NC-ND 4.0,本笔记没有使用其内容)。
- 路线位置:30u30 导读 的补完段,单元 2 视觉(Day 8 → 9 → 10 → 11 → 12)。
延伸阅读#
- Day 28:CS231n 卷积网络:卷积、感受野、池化的基础。
- Day 10:深度残差网络中的恒等映射:同样借助“恒等映射”让深层网络好训练。
本笔记依据 2026-10-18 抓取的在线原文撰写,仅为导读与总结。原文:Fisher Yu, Vladlen Koltun,《Multi-Scale Context Aggregation by Dilated Convolutions》, ICLR 2016。