想象市规划局的地图绘制组收到一张航拍照片,任务是把照片里的每一个小格子都标注成道路、房屋、公园或河流。这就是语义分割:不是告诉领导“这是一张城市照片”,而是把每个像素都贴上类别标签。第一批制图员很笨拙,一次只看中心格子周围最近的三五个格子;想看远处的地标,要么不停叠楼层,要么把地图缩小,可一缩小就丢失了井盖这类小目标。DeepLab 团队发明了“跳格望远镜”——空洞卷积,让制图员不必缩小地图也能望得更远;又设计了“瞭望塔值班表”——空洞空间金字塔池化(ASPP),让几位望远镜手用不同步长同时瞭望,把近景、中景、远景和热气球总览拼成一份完整报告。于是,小到井盖、大到体育场的地物都能被准确圈出来。下面就用这座“地图绘制局”的故事,带你从零看懂 DeepLab 的完整脉络。

岗位关联

对 AI 从业者而言,DeepLab 是语义分割领域的里程碑式方法,理解 ASPP 与空洞卷积能帮你解决“多尺度目标”这个高频工程痛点,是自动驾驶、遥感、医疗影像等方向算法工程师的必备武器。

目录
  1. 可视化演示
  2. 分割任务基础
  3. 空洞卷积原理
  4. 多尺度上下文
  5. ASPP结构
  6. DeepLab演进
  7. 工程实践应用
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

动态演示DeepLab的核心机制,通过架构/数据/状态/性能四种模式展示关键概念与交互流程。

本节配有交互动效(进入视口后自动加载,约 3KB)。

DeepLab:ASPP ASPP模块的多分支并行架构 空洞卷积的间隔采样原理 核心机制可视化 DeepLab整体架构与关键组件

分割任务基础

地图绘制局收到一张航拍图后,第一步不是问“这是什么类型的照片”,而是给照片里每一个最小格子贴标签:这块是道路、那块是房屋、河边的绿色是公园。每个格子就是一个像素,整张图的标注结果就是一张和原图一样大的“彩色语义地图”。这跟图像分类截然不同——分类只交一份“整图报告”,而语义分割要交一本“逐户登记册”。

从技术角度看,DeepLab 的骨干网络先把图像编码成特征图,最后用一个卷积层把每个位置的特征转换成 C 个类别的得分,再接 softmax 变成概率。对第 i 个像素,网络输出它在每个类别上的概率 p_{i,c};训练时我们希望这个概率尽量贴近真实标注 y_{i,c}(一个 one-hot 向量)。这种“每个像素都有标准答案”的监督方式,就是语义分割的训练范式。

为了让网络学会准确的像素级分类,DeepLab 使用交叉熵损失。它把每个像素的分类错误都累加起来,再取平均,作为整张图的学习惩罚:

地图绘制局的培训师就是这样给制图员打分:错得越多、错得越离谱,罚分越高。这个损失函数就是整支训练队伍的“总罚分表”。

L=−1N∑i=1N∑c=1Cyi,clog⁡pi,c\displaystyle L = -\frac{1}{N}\sum_{i=1}^{N}\sum_{c=1}^{C} y_{i,c} \log p_{i,c}
这个公式像“错题统计表”:先翻遍每个格子的答案,把预测错的地方按类别逐条记录,最后算一个平均错分,分数越低说明这份语义地图画得越准。
  1. 遍历全部像素对图像中 N 个像素逐个检查,公式最外层用求和符号把每个像素的损失累加。
    ∑i=1N\displaystyle \sum_{i=1}^{N}
  2. 累加所有类别对 C 个类别逐一比对,真实标签 y_{i,c} 是 0/1 开关,只有正确类别那一项会参与惩罚。
    ∑c=1Cyi,clog⁡pi,c\displaystyle \sum_{c=1}^{C} y_{i,c} \log p_{i,c}
  3. 取平均并取负除以 N 得到每个像素的平均损失,再乘负号把“概率低→损失大”变成正向数值。
    L=−1N(⋯ )\displaystyle L = -\frac{1}{N}\left(\cdots\right)

空洞卷积原理

制图员判断中心格子是不是“公园”时,通常看周围几个格子就够了;但要是公园旁有一条大河作为标志物,他就得看到很远的地方。普通卷积让制图员只能看紧挨着的邻居,想看得更远,要么把地图缩小(下采样),要么叠很多层“瞭望台”。缩小地图会丢掉井盖那样的小格子,叠很多层又慢又费算力。

空洞卷积(也叫膨胀卷积、atrous convolution)换了个思路:给普通卷积的每个采样点之间插入空格,让 3×3 的卷积核“撑开”。膨胀率 rate=1 就是普通卷积;rate=2 时,相邻采样点之间空出 1 个格子,核覆盖范围从 3×3 变成 5×5;rate=3 时变成 7×7。制图员站在原地,用“隔几格看一眼”的办法,就能把视野拉远,手里的格子本(特征图分辨率)一点也不用缩小。

空洞卷积的数学表达很简洁。假设输入是一维信号 x,卷积核有 K 个权重 w,rate 为 r,则输出位置 m 的计算公式为:

回到地图绘制局:3×3 的望远镜三个档位分别能看 3 格、5 格、7 格,但镜片数量没变、画图速度也没变。这就是空洞卷积最迷人的地方——看远但不减分辨率。

y[m]=∑k=0K−1x[m+r⋅k]⋅w[k]\displaystyle y[m] = \sum_{k=0}^{K-1} x[m + r \cdot k] \cdot w[k]
这个公式相当于“跳格点名册”:制图员想评价第 m 个格子,就以它为中心,每次跳过 r-1 个格子去取一个邻居的名字,最后把这些名字按权重汇总。
  1. 位置索引乘以膨胀率第 k 个采样点的真实位置不是 m+k,而是 m+r·k,r 越大,取样点越分散。
    x[m+r⋅k]\displaystyle x[m + r \cdot k]
  2. 遍历卷积核权重k 从 0 取到 K-1,每个权重 w[k] 对应一个采样点,参数数量始终是 K。
    ∑k=0K−1\displaystyle \sum_{k=0}^{K-1}
  3. 加权求和输出把采样值与对应权重相乘再累加,得到新特征图上第 m 个位置的值。
    y[m]=∑k=0K−1x[m+r⋅k]⋅w[k]\displaystyle y[m] = \sum_{k=0}^{K-1} x[m + r \cdot k] \cdot w[k]

多尺度上下文

城市里既有巴掌大的井盖,也有占地几个街区的体育场。制图员如果只用一个固定档位的望远镜,要么把井盖看得清清楚楚却看不到体育场全貌,要么看清体育场却把井盖当成噪点。这就是“目标尺度差异”带来的难题:不同地物的上下文范围天差地别。

有人想到用图像金字塔:把原图缩小成几个不同尺度分别分割,再融合结果。但这样要同时跑多份图像,计算量成倍上涨,而且下采样过程本身就会丢细节。还有人靠堆叠普通卷积来扩大感受野,但每叠一层就要缩小一次分辨率,特征图上小目标的位置信息会越来越糊。可以说,多尺度上下文的最大矛盾是:想看全局就必须牺牲细节,想保细节就看不见全局。

感受野是衡量“制图员能看多远”的核心指标。假设第 l 层卷积核大小为 k,前面各层的步长为 s_i,则感受野可以递推计算:

DeepLab 的答案很巧妙:与其层层叠叠地扩大视野,不如直接用不同膨胀率的空洞卷积并行采样,让制图员同时拥有“近景、中景、远景”三副眼镜。这也正好引出了下一节的核心结构——ASPP。

RFl=RFl−1+(k−1)∏i=1l−1si\displaystyle RF_{l} = RF_{l-1} + (k-1)\prod_{i=1}^{l-1} s_i
感受野公式像“望远镜递增账本”:每一层新增的视野范围,取决于核大小和之前所有步长的乘积;步长越小,累加视野越慢,细节保留越多。
  1. 上一层的视野基础RF_{l-1} 是前一层已经看到的范围,新一层在它的基础上继续扩展。
    RFl−1\displaystyle RF_{l-1}
  2. 核大小带来的增量核越大,单层扩展越多,用 k-1 表示从中心往外的扩展半径。
    (k−1)\displaystyle (k-1)
  3. 累积步长乘积前面所有层的步长连乘,代表扩视野时“跳过的距离”被逐级放大。
    ∏i=1l−1si\displaystyle \prod_{i=1}^{l-1} s_i

ASPP结构

地图绘制局在楼顶设立了一个瞭望塔值班组。组里四位侦察员分工不同:第一位看眼前 3 格以内的近景(rate=1),第二位跨 6 格看街区中部(rate=6),第三位跨 12 格看城市边缘(rate=12),第四位干脆坐热气球飞到空中,把整座城市缩成一张总览图(全局平均池化)。四份报告回来后,组长用一张 1×1 卷积把它们拼接融合,形成一份综合意见。

这个值班组就是空洞空间金字塔池化(ASPP, Atrous Spatial Pyramid Pooling)。它的核心是“并行不串行”:四个分支各自独立地对同一份特征图做不同膨胀率的空洞卷积,互不干扰,最后在通道维度上拼接。为了照顾全局信息,第四条分支先用自适应平均池化把整张特征图压成 1×1,再上采样回原尺寸,相当于“热气球总览图”。

ASPP 的融合过程可以写成:

瞭望塔的价值在于“同时”而不是“轮流”。如果四位侦察员轮班看,等看完远景近景早就变了;并行分支保证了多尺度信息在同一时刻被捕捉,这也是 ASPP 比简单堆叠网络更高效的根本原因。

Faspp=Conv1×1([Fr=1,  Fr=6,  Fr=12,  Fgap])\displaystyle F_{aspp} = \text{Conv}_{1\times1}\Big( \big[ F_{r=1},\; F_{r=6},\; F_{r=12},\; F_{gap} \big] \Big)
这个公式像“值班报告合订本”:四份不同视野的报告按顺序钉在一起,组长再用一个 1×1 的小印章决定每份报告分别信几分,最终盖出一份总结论。
  1. 四个分支各取所需F_{r=1}、F_{r=6}、F_{r=12} 分别由不同膨胀率的空洞卷积生成,F_{gap} 来自全局平均池化。
    Fr=1,  Fr=6,  Fr=12,  Fgap\displaystyle F_{r=1},\; F_{r=6},\; F_{r=12},\; F_{gap}
  2. 通道维度拼接方括号表示把四份特征图在通道轴上首尾相连,形成一份“厚报告”。
    [⋯]\displaystyle \big[ \cdots \big]
  3. 1×1 卷积融合Conv_{1×1} 像组长手里的盖章,对每个位置的厚报告做加权组合,输出最终融合特征。
    Faspp=Conv1×1(⋯ )\displaystyle F_{aspp} = \text{Conv}_{1\times1}(\cdots)

DeepLab演进

地图绘制局不是一天建成的。初代产品 v1 第一次把“跳格望远镜”(空洞卷积)引入分割骨干,并给每张语义地图配备了一位“纠错员”——条件随机场 CRF,负责用橡皮擦把边缘不整齐的涂改痕迹抹平。v2 则正式建立了瞭望塔值班组,也就是 ASPP,用多尺度并行取代了单纯堆层。

到了 v3,制图局发现纠错员其实可以下岗了:ASPP 和级联空洞卷积已经提供了足够丰富的上下文,边缘不再需要 CRF 事后修补。v3 把骨干换成残差网络,并在空洞卷积上使用多网格(multi-grid)策略,让膨胀率在模块内部也能灵活变化。v3+ 则更进一步,加了解码器——相当于一支“精修队”,把编码器底层的高分辨率细节特征和高层语义特征拼接起来,把物体边界重新描细。整个演进过程像公司迭代:从“贴标签+擦边”到“多视野并行”再到“精修边线”。

v3+ 为了提速,大量使用深度可分离卷积。它的计算量比标准卷积小得多,公式如下:

回看演进路线:v1 靠“望远镜加橡皮擦”,v2 建瞭望塔,v3 撤掉橡皮擦并升级基地,v3+ 派精修队收尾。每一步都在做减法与加法——减少冗余后处理,增加有效的多尺度建模。

Cds=Dk2⋅M⋅DF2+M⋅N⋅DF2\displaystyle C_{ds} = D_k^2 \cdot M \cdot D_F^2 + M \cdot N \cdot D_F^2
这个公式像“拆分工序的流水线”:先让每个观察员只负责自己手头的颜色通道做 3×3 视野,再用 1×1 小章把 M 个通道合并成 N 个通道,总工作量被拆成两段,大幅省力。
  1. 深度卷积部分D_k^2 是空间核大小,M 是输入通道数,D_F^2 是输出特征图面积,负责逐通道独立处理。
    Dk2⋅M⋅DF2\displaystyle D_k^2 \cdot M \cdot D_F^2
  2. 逐点卷积部分M 个输入通道和 N 个输出通道做 1×1 组合,把通道间的信息融合起来。
    M⋅N⋅DF2\displaystyle M \cdot N \cdot D_F^2
  3. 两部分相加空间处理和通道融合分离,总计算量从 N 的平方级依赖中解放出来。
    Cds=(⋯ )+(⋯ )\displaystyle C_{ds} = (\cdots) + (\cdots)

工程实践应用

真正把 DeepLab 用到生产环境时,地图绘制局要考虑的不只是理论精度。首先是骨干网络选择:量级大的场景用 ResNet-101 保证精度,实时场景换 MobileNet 加深度可分离卷积。其次是训练策略:一般在 ImageNet 预训练权重上微调,学习率用 poly 衰减(像先快跑再慢走),批归一化层的参数在微调时往往冻结,防止小批量统计量抖动导致训练不稳。

评估分割质量最常用的指标是 mIoU。它计算每个类别的“预测区域与真实区域交集 ÷ 并集”,然后对所有类别取平均。IoU 越高,说明语义地图和真实标注重合度越好;mIoU 越接近 1,制图员的“逐户登记册”画得越准确。

在自动驾驶里,道路、车道线、行人需要毫秒级响应;在遥感影像里,房屋、水体、农田需要高精度区分;在医疗影像里,病灶区域需要细腻边界。DeepLab 的跳格望远镜和瞭望塔组,正是这些场景里最常用的“制图班底”。

mIoU=1C∑c=1CTPcTPc+FPc+FNc\displaystyle mIoU = \frac{1}{C}\sum_{c=1}^{C} \frac{TP_c}{TP_c + FP_c + FN_c}
这个公式像“交房验收单”:每个类别的预测结果和真实房屋区域求重合率,再把所有类别的重合率平均,得到整张地图的综合质量分。
  1. 每类计算交并比TP 是正确画出的区域,FP 是多画的区域,FN 是漏掉的区域,分子是交集,分母是并集。
    TPcTPc+FPc+FNc\displaystyle \frac{TP_c}{TP_c + FP_c + FN_c}
  2. 遍历所有类别把 C 个类别的交并比逐项累加。
    ∑c=1C\displaystyle \sum_{c=1}^{C}
  3. 取类别平均除以 C,得到不受类别数量影响的综合分数 mIoU。
    1C∑c=1C\displaystyle \frac{1}{C}\sum_{c=1}^{C}

AI 应用场景

自动驾驶道路分割

阶段:数据准备与模型推理

解决的问题:传统方法靠颜色阈值和边缘检测分割道路,遇到阴影、积水反光立即失效;AI 用 DeepLab 网络对每个像素分类,把“道路、车道线、路缘、行人”一次分割完毕,能适应复杂光照。

具体案例:某车企在车载芯片上部署 MobileNetV3 加 ASPP 的轻量版 DeepLab v3+,对 512×512 输入图像的分割耗时压缩到 30 毫秒以内,同时保留多尺度上下文能力,车辆能稳定识别远处弯道和近处障碍物边界。

遥感影像地物分类

阶段:模型选择与微调

解决的问题:遥感图中地物尺度跨度极大,一栋楼只占几十像素,一片城区却横跨整幅影像;单纯卷积网络顾此失彼,DeepLab v3+ 的 ASPP 能同时捕捉小目标细节和大范围地物结构。

具体案例:某地理信息公司在城市绿地调查中,用 ResNet-101 作骨干的 DeepLab v3+ 对高分辨率卫星影像做水体、植被、建筑、裸土四类分割,mIoU 达到 0.82,比传统随机森林方法提升约 20 个百分点。

医学图像病灶分割

阶段:训练与评估

解决的问题:病灶与正常组织边界模糊,医生目视标注效率低;DeepLab 的空洞卷积能在不降低分辨率的前提下扩大视野,结合全局上下文减少误判,帮助医生快速定位病灶范围。

具体案例:某三甲医院使用 DeepLab v3+ 对结肠镜图像做息肉分割,配合全局池化分支抑制背景噪声,Dice 系数达到 0.88,可疑病灶检出率明显高于仅用普通 U-Net 的版本。

Python 演示

python43 行
import numpy as np def dilated_conv1d(x, w, rate):    """一维空洞卷积: 输入x长度L, 核w长度K, rate为膨胀率"""    L = len(x)    K = len(w)    out_len = L - rate * (K - 1)    out = np.zeros(out_len)    for i in range(out_len):        acc = 0.0        for k in range(K):            acc += x[i + rate * k] * w[k]        out[i] = acc    return out def aspp_branch(feat, rate, w, width):    """模拟ASPP单分支: 对特征图逐行做空洞卷积并补齐到统一宽度"""    h, wd = feat.shape    out_len = wd - rate * (len(w) - 1)    result = np.zeros((h, out_len))    for i in range(h):        result[i] = dilated_conv1d(feat[i], w, rate)    if out_len < width:        result = np.pad(result, ((0, 0), (0, width - out_len)))    return result def main():    rng = np.random.default_rng(0)    feat = rng.random((4, 16))    w = np.array([0.2, 0.6, 0.2])    branches = []    for rate in (1, 2, 3):        out = aspp_branch(feat, rate, w, 16)        branches.append(out)        print("rate=%d -> 输出宽度 %d" % (rate, out.shape[1]))    gap = feat.mean(axis=1, keepdims=True)    gap = np.tile(gap, (1, 16))    branches.append(gap)    fused = np.concatenate(branches, axis=0)    print("ASPP 融合后特征形状:", fused.shape) if __name__ == "__main__":    main()
目的:用 NumPy 从零实现一维空洞卷积,并模拟 ASPP 的多分支并行与全局池化融合,直观感受不同膨胀率对输出宽度和感受野的影响。
  1. out_len = L - rate * (K - 1)计算空洞卷积输出长度,rate 越大跨度越大,可计算的起点越少。
  2. acc += x[i + rate * k] * w[k]核心采样语句,第 k 个权重取位置 i + rate*k,实现“跳格”。
  3. for i in range(h): result[i] = dilated_conv1d(feat[i], w, rate)逐行处理二维特征,模拟空洞卷积在每个空间位置滑动。
  4. result = np.pad(result, ((0, 0), (0, width - out_len)))将不同膨胀率产生的不同宽度特征补齐到统一尺寸,方便后续拼接。
  5. gap = feat.mean(axis=1, keepdims=True)全局平均池化,把整张特征图浓缩成一份“总览报告”,再广播回目标宽度。
  6. fused = np.concatenate(branches, axis=0)将 4 个分支在行方向堆叠,模拟 ASPP 最终融合出的多尺度特征。

常见误区

误区既然空洞卷积能保持分辨率又扩大感受野,那就可以随便用,反正信息一点都不会丢。

正解空洞卷积虽然不下采样,但它是“跳格采样”,中间跳过的格子没有参与计算。rate 过大时,相邻采样点之间会形成盲区,叠加多个高 rate 空洞卷积还会出现网格效应,边界细节反而恶化。跳格望远镜能看远,但中间街区的细节是模糊的。

为何常见:大家看到“保持分辨率”就以为等价于保留全部信息,忽略了采样稀疏性这个关键代价。

误区多尺度嘛,把 rate 设成 6、12、24、48,分支开到八个,效果一定更猛。

正解膨胀率过大会让采样点过于稀疏,特征接近噪声,小目标边界严重受损。DeepLab v3 的实践表明,rate=12 或 18 配合批归一化已足够,再大收益递减甚至变差。瞭望塔不是望远镜越多越好,而是每个镜头都要能看清有效信息。

为何常见:直觉上以为“尺度覆盖越多=上下文越丰富”,忽略了有效采样密度与模型表达能力的平衡。

误区DeepLab 的成名公式就是“空洞卷积 + CRF”,所以不管哪个版本,跑完网络都必须再接一层 CRF 才叫完整。

正解v1、v2 用 CRF 是因为当时网络感受野和多尺度能力不足。v3 通过 ASPP 与级联空洞卷积已经建模了充分的上下文,官方实现去掉了 CRF,v3+ 改用解码器精修边界。纠错员只在早期版本必要,后来已被更好的瞭望塔和精修队取代。

为何常见:早期论文和教程大量强调 CRF,导致读者把版本特性当成了全局必要组件。

误区输出是逐像素标签,那训练时就是把每个像素当作独立样本,挨个分类就行。

正解单个像素本身往往没有足够判别力——一块灰色像素既可能是道路也可能是屋顶,必须依赖周围像素形成的上下文。ASPP 正是通过多尺度感受野把“附近是树还是车”的信息注入每个像素的判断中。独看一叶是盲人摸象,连片成景才能断言。

为何常见:“逐像素输出”很容易被理解成“逐像素独立决策”,忽略了卷积与感受野天然带来的邻域依赖。

面试题

Q1. 语义分割任务的目标输出是什么?

单选题 · easy

  • A.每个像素的类别概率← 正确答案
  • B.整张图像的单一标签
  • C.目标包围框与类别
  • D.图像灰度直方图

答案:A。语义分割是像素级分类,输出与输入同尺寸的类别概率图;B 是图像分类,C 是目标检测,D 是统计特征,均不符合“逐像素贴标签”的定义。

Q2. 膨胀率 rate=2 时,3×3 卷积核的有效覆盖范围是?

单选题 · easy

  • A.覆盖 3×3 像素邻域
  • B.覆盖 5×5 像素邻域← 正确答案
  • C.覆盖 7×7 像素邻域
  • D.覆盖 9×9 像素邻域

答案:B。有效核尺寸为 k+(k-1)(r-1),代入 3+(3-1)(2-1)=5,所以覆盖 5×5 区域。rate=2 时相邻权重之间空出 1 个像素。

Q3. ASPP 的全称是?

单选题 · easy

  • A.空洞空间金字塔池化← 正确答案
  • B.全连接条件随机场
  • C.深度可分离卷积块
  • D.特征金字塔网络

答案:A。ASPP 即 Atrous Spatial Pyramid Pooling,用多个膨胀率的空洞卷积构成空间金字塔;CRF 是条件随机场,FPN 是特征金字塔网络,都不是 ASPP。

Q4. 与普通卷积相比,rate=r 的空洞卷积参数量如何变化?

单选题 · mid

  • A.参数量随 r 线性增大
  • B.参数量随 r 平方增大
  • C.参数量保持不变← 正确答案
  • D.参数量降为零

答案:C。空洞卷积只在采样位置间插空,权重数量仍等于卷积核元素个数,因此参数量与 r 无关;r 改变的是采样跨度与感受野。

Q5. DeepLab v3 中 ASPP 分支拼接后用什么操作融合?

单选题 · mid

  • A.3×3 标准卷积融合
  • B.1×1 卷积加批归一化← 正确答案
  • C.全局平均池化融合
  • D.最大池化融合特征

答案:B。ASPP 在通道维度拼接四路输出后,使用 1×1 卷积进行跨通道加权融合,并接批归一化稳定训练;3×3 卷积会进一步缩小分辨率,不符合设计。

Q6. global average pooling 分支在 ASPP 中的作用是?

单选题 · mid

  • A.压缩特征图的通道数
  • B.提供全局上下文线索← 正确答案
  • C.替代所有膨胀卷积
  • D.减少训练的显存

答案:B。全局平均池化把整幅特征图压成 1×1 再上采样,相当于热气球总览,为每个位置补充全图范围的上下文;它不改变通道数,也不替代空洞卷积。

Q7. DeepLab v3+ 相比 v3 的关键改进是?

单选题 · mid

  • A.引入解码器细化边缘细节← 正确答案
  • B.使用更大的训练数据集
  • C.增加更多语义类别
  • D.去掉全部空洞卷积

答案:A。v3+ 把 v3 的 ASPP 输出当作编码特征,再引入解码器融合底层高分辨率特征,专门修复物体边界;数据、类别数都不是结构级改进。

Q8. 下列哪些属于多尺度上下文建模方式?

多选题 · hard

  • A.图像金字塔输入← 正确答案
  • B.多膨胀率并行分支← 正确答案
  • C.全局平均池化分支← 正确答案
  • D.增大训练批量大小

答案:ABC。图像金字塔在不同分辨率下提取特征,多膨胀率并行扩大多个视野,全局池化提供全图上下文,三者都是多尺度手段;增大 batch size 只是优化层面的调整。

Q9. 关于空洞卷积的感受野,下列说法正确的是?

多选题 · hard

  • A.rate=2 的 3×3 卷积覆盖 5×5 区域← 正确答案
  • B.保持分辨率的同时扩大感受野← 正确答案
  • C.增大 rate 必然提升分割精度
  • D.参数量与 rate 保持无关← 正确答案

答案:ABD。A 是有效核尺寸计算结论,B 是空洞卷积的核心优势,D 因为权重数不随 rate 变化;C 错误,rate 过大会造成采样稀疏和网格效应,精度反而下降。

Q10. 两个空洞卷积 rate 分别为 2 和 4 叠加,可能造成什么问题?

单选题 · extreme

  • A.产生网格状的采样盲区← 正确答案
  • B.参数数量翻倍
  • C.输出尺寸必然变小
  • D.训练速度必然变慢

答案:A。当多个空洞卷积的 rate 存在公因数时,有效采样点会周期性重叠,形成“网格状”覆盖盲区,这是空洞卷积特有的 gridding 问题;参数数量与 rate 无关,叠加也不必然改变输出尺寸或训练速度。