作者:Alex Kendall, Yarin Gal

单位:University of Cambridge

会议:NIPS 2017

链接:https://arxiv.org/abs/1703.04977

研究动机

这篇文章讨论的是一个很基础但长期被深度视觉模型忽略的问题:模型什么时候应该说“我不知道”。

在语义分割、深度估计、自动驾驶感知等任务中,模型输出通常被当作确定答案使用。但视觉输入里有两类不确定性:

  1. Aleatoric uncertainty:观测本身带来的噪声,例如远处物体、遮挡边界、反光区域、模糊深度标签。这类不确定性即使增加数据也不一定消失。
  2. Epistemic uncertainty:模型认知不足带来的不确定性,例如训练集覆盖不够、测试样本分布偏离训练集。这类不确定性理论上可以通过更多数据降低。

UncertaintyBDL-0

Figure 1 是整篇论文的直观入口:aleatoric uncertainty 更像“图像/标注天然困难在哪里”,常出现在物体边界、远距离区域;epistemic uncertainty 更像“模型没见过或不确定如何解释哪里”,在语义困难或分布不熟悉的位置更明显。

核心问题不是“深度学习能不能输出不确定性”,而是:在真实视觉任务中,aleatoric 和 epistemic 两种不确定性分别有什么用,代价如何,应该在什么场景优先建模?

核心方法

论文把视觉模型写成一个同时预测任务输出和 aleatoric 方差的贝叶斯网络。对于回归任务,网络输出预测值和方差:

其中 epistemic uncertainty 通过对权重 $W$ 做近似后验采样来表达,具体实现是 Monte Carlo dropout;aleatoric uncertainty 由网络直接预测输入相关的方差。

对于像素级回归,假设输出服从高斯似然,可以得到损失:

实践中预测 log variance $s_i=\log \hat{\sigma}_i^2$,得到更稳定的形式:

这个式子的记忆点在于:$\exp(-s_i)$ 会对残差自动降权。如果某个像素天然噪声大,模型可以预测更高的不确定性,从而减小这个像素对残差项的影响;但后面的 $s_i$ 项又会惩罚无限抬高不确定性的行为。这就是论文反复强调的 learned loss attenuation

整体预测方差可以近似写成:

前两项来自多次 dropout 采样产生的 epistemic uncertainty,最后一项来自网络预测的 aleatoric uncertainty。

分类任务里,论文不直接在 softmax 概率上加噪声,而是在 logit 空间放置异方差高斯噪声:

然后用 Monte Carlo 积分近似期望似然。直觉上,这等价于让模型在分类 logit 层面学习哪些像素、哪些类别本身更不可靠。

数据集

论文覆盖了两个密集预测任务:

  1. 语义分割:CamVid 和 NYUv2 40-class。CamVid 是道路场景,367 张训练图像、233 张测试图像、11 类;NYUv2 40-class 是室内场景,来自 464 个室内场景,任务更困难。
  2. 像素级深度回归:Make3D 和 NYUv2 Depth。Make3D 包含 400 张训练图像和 134 张测试图像,评估 70m 内深度;NYUv2 Depth 使用 RGB-D 室内图像。

从任务选择上看,这篇文章并不是只证明一个概率建模技巧,而是刻意覆盖分类式密集预测和回归式密集预测,说明两种不确定性在不同视觉问题里都有可解释的行为。

算力

实验采用 DenseNet dense prediction 架构,并使用 TensorFlow 实现。训练设置为:

  1. 先使用 $224\times224$ crop,batch size 为 4。
  2. 再在 full-size 图像上 fine-tune,batch size 为 1。
  3. 使用 RMSProp,学习率 $0.001$,weight decay 为 $10^{-4}$。
  4. Epistemic uncertainty 使用 Monte Carlo dropout,DenseNet 每个卷积层后 dropout 概率 $p=0.2$,推理时使用 50 次采样。

论文明确给出了部署代价:DenseNet 模型处理一张 $640\times480$ 图像需要约 150ms,硬件是 NVIDIA Titan X。Aleatoric 分支几乎不增加计算量;epistemic 分支则因为 50 次 Monte Carlo dropout,在 DenseNet 上常带来约 50 倍 slowdown。

这也是这篇论文的一个工程结论:如果目标是实时系统,aleatoric uncertainty 更便宜;如果目标是发现分布外样本或小数据下的不确定性,epistemic uncertainty 更关键但代价更高。

实验结果

UncertaintyBDL-1

语义分割实验说明,显式建模不确定性可以提升分割指标。CamVid 上 DenseNet baseline 的 IoU 是 67.1,同时加入 aleatoric 和 epistemic 后达到 67.5;NYUv2 40-class 上,DeepLabLargeFOV baseline 的 IoU 是 36.5,组合不确定性后达到 37.3。

UncertaintyBDL-2

深度回归结果更能体现 learned attenuation 的价值。Make3D 上,加入 aleatoric uncertainty 后 rel 从 0.167 降到 0.149;NYUv2 Depth 上,组合不确定性后的 rel 为 0.110,rms 为 0.506,优于 baseline 和单独建模某一种不确定性的版本。

UncertaintyBDL-3

Precision-Recall 曲线用于验证不确定性是否真的和错误相关。随着剔除高不确定性像素,保留像素的预测精度提升,说明这两种不确定性都能在一定程度上排序“哪些预测更可信”。

UncertaintyBDL-4

Calibration 曲线进一步说明不确定性估计是否校准。论文观察到 aleatoric、epistemic 以及二者结合都能改善校准误差,其中组合版本在分类任务上表现最好。

UncertaintyBDL-5

Table 3 是这篇文章最重要的分析之一:训练数据越多,epistemic uncertainty 会下降;aleatoric uncertainty 则相对稳定,因为它描述的是观测噪声而不是模型无知。当测试集换成远离训练分布的数据时,epistemic uncertainty 明显升高,而 aleatoric uncertainty 不一定升高。

UncertaintyBDL-6

NYUv2 语义分割可视化里,aleatoric uncertainty 更集中在物体边界和细节处,epistemic uncertainty 则更像模型对室内语义结构是否熟悉的反馈。

UncertaintyBDL-7

NYUv2 Depth 的定性结果显示,反光、遮挡边界、深度突变区域会带来更高 aleatoric uncertainty,这和单目深度估计的典型困难区域一致。

UncertaintyBDL-8

Make3D 结果里,epistemic uncertainty 会在训练数据覆盖不足的位置升高;而 aleatoric uncertainty 更贴近深度边缘和远距离区域。这支持了论文的中心区分:前者是模型不知道,后者是观测本身难。

优势与不足

优势

  1. 把 aleatoric 和 epistemic 的概念落到了密集视觉任务中,而不是停留在概率建模定义上。
  2. 给出了可训练的异方差损失,使不确定性估计自然带来 learned loss attenuation,对噪声标签和困难像素更鲁棒。
  3. 同时覆盖语义分割和单目深度估计,实验结果、校准曲线、OOD 分析彼此支撑。
  4. 工程结论清晰:aleatoric 成本低,适合大数据和实时场景;epistemic 成本高,但对小数据和安全关键 OOD 检测重要。

不足

  1. Epistemic uncertainty 主要依赖 Monte Carlo dropout,50 次采样在 DenseNet 上代价很高,不适合直接用于实时系统。
  2. 论文的视觉实验仍集中在分割和深度估计,没有覆盖检测、跟踪、多模态等更复杂管线。
  3. Aleatoric uncertainty 的学习依赖损失设计,模型可能把系统性错误部分解释为“数据噪声”,因此实际使用时仍需要结合校准和分布外检测。
  4. 这篇文章把问题讲得非常清楚,但后续真正难点在于如何低成本获得可靠 epistemic uncertainty。

记忆点

  1. Aleatoric 是数据/观测本身难,epistemic 是模型没学够或分布没见过。
  2. 异方差回归损失里的 $\exp(-s_i)$ 是 learned loss attenuation 的核心,能自动降低噪声点对训练的影响。
  3. 不确定性不是只为了画热力图,它可以改善损失、排序预测可信度、辅助校准和识别分布外样本。
  4. 大数据、实时场景优先考虑 aleatoric;小数据、安全关键、OOD 场景必须关注 epistemic。
  5. 这篇论文经典之处在于把贝叶斯深度学习的不确定性概念翻译成了计算机视觉工程上可解释、可比较、可部署代价分析的问题。