← 返回题目列表

空洞卷积有什么作用?

高频 中等 第 7 / 25 题 更新于 2026/09/19
CNN卷积神经网络计算机视觉ResNet

简化版

空洞卷积在卷积核采样点之间插入间隔,以不增加权重数量的方式扩大感受野,并保持较高输出分辨率。代价是采样呈网格状,连续堆叠相同 dilation 可能产生 gridding artifact,对小尺度细节也可能漏采。

详细版

  • 有效核尺寸为 K_eff=K+(K-1)(d-1);3×3、d=2 等效覆盖 5×5 范围。

  • 参数量仍是 Cin×Cout×K²,但覆盖范围变大,不等于使用稠密 5×5 卷积。

  • 语义分割常用 dilation 替代后期 stride,以保留空间分辨率。

  • ASPP 并联多个 dilation 捕获多尺度上下文。

  • dilation 选择需结合特征图尺寸,过大时多数采样落到 padding 上。

完整版教学

一、在分辨率与上下文之间另开一条路

分类网络通过连续下采样扩大感受野,但分割需要逐像素输出,过低分辨率会损失边界。

空洞卷积扩大采样跨度,不必继续降低 H、W。

它扩大的只是采样覆盖,不会凭空获得全部中间像素信息。

这个区别解释了为何参数量不变,也解释了网格伪影。

二、底层机制与关键公式

dilation=d 表示相邻核元素在输入上间隔 d 个像素。

d=1 就是普通卷积;对 K=3,采样坐标从 {-1,0,1} 变为 {-d,0,d}

多层 dilation 的组合决定实际覆盖。

若每层都使用同一大公因数的 dilation,采样点可能长期落在固定子网格;交错使用 1、2、3 或多分支能缓解。

K_effective = K + (K - 1) * (d - 1)
K=3, d=1 -> 3
K=3, d=2 -> 5
K=3, d=4 -> 9

三、带数字的推演

一个 3×3 卷积、d=4 覆盖 9×9 范围,却只读取 9 个位置;稠密 9×9 会读取 81 个位置。

二者覆盖边界相同,但信息密度和参数量完全不同。

四、方案对比与选择

方案/场景机制或优势主要代价
大核卷积稠密读取大区域参数与计算更高
空洞卷积稀疏读取大区域保分辨率,可能网格化
下采样卷积压缩后扩大相对视野丢失精细定位

五、实际执行流程

高分辨率特征 -> 取消一次 stride=2
-> 后续卷积 dilation 加倍以保持感受野
-> 多尺度 dilation 融合 -> 像素级预测

六、边界条件与工程代价

当 dilation 接近特征图尺寸时,边缘位置的大量采样会落入 padding,有效信息反而减少。

ASPP 的 rate 常随 output stride 调整,不能从一个输入尺寸机械照搬。

某些硬件对 dilation 算子优化较差,理论 MACs 不变但访存不连续,实际延迟可能高于普通卷积。

记忆钩子:把空洞卷积记成“核没变,脚步变大”:3×3、d=2 覆盖 5×5,但仍只踩 9 个点。

七、常见误区与追问

  • 误区:空洞卷积等价于同尺寸的大核卷积。 它只稀疏采样大范围,未读取中间所有位置。

  • 追问:参数量为何不增加? 权重元素仍只有 K×K,改变的是输入采样间隔。

  • 误区:dilation 越大越好。 过大会漏掉局部结构,并让采样大量落在 padding。

  • 追问:什么是 gridding artifact? 重复稀疏网格使相邻输出依赖互不覆盖的输入子集,形成棋盘式信息缺口。

  • 追问:如何缓解网格效应? 混合不同 dilation、加入普通卷积或采用多尺度并联融合。

八、加强记忆

把空洞卷积记成“核没变,脚步变大”:3×3、d=2 覆盖 5×5,但仍只踩 9 个点。

优势是保分辨率看更远,风险是踩得太稀形成网格和边界空采样。