Press "Enter" to skip to content

读 What Uncertainties Do We Need in Bayesian Deep Learning for Computer Vision?

What Uncertainties Do We Need in Bayesian Deep Learning for Computer Vision?

 

论文链接: https:// arxiv.org/pdf/1703.0497 7.pdf

 

不确定性的定义

 

作者在文中提出了两种uncertainty。

 

 

    1. Epistemic Uncertainty就是 bayesian里 参数的不确定性 也被叫做 model uncertainty。 对于同样的数据,我们可能训练出weight不同的神经网络,却都可以解决问题。模型对于数据可以有不同的认知。

 

    1. Aleatoric Uncertainty 是 noise inherent in the oberservation,换句话说数据中内在的不确定性,比如 深度传感器内在的误差。 并且可以进一步分为 homoscedastic uncertainty 所有数据都有类似的 noise。和 heteroscedastic uncertainty 一部分数据有这更多的noise。

 

 

作者这边举了几个我特别喜欢的例子来说明 heteroscedastic uncertainty 。也是我之前看立体视觉科普时觉得有意思的。即使同一个数据集里的数据也有好坏差异,比如。

一般模糊的物体,在深度估计时会觉得很远(容易高估)。而清晰的物体,一般会觉得很近(容易低估)。
一般消失线比较明显的物体,比如向远方延伸而消失的路啊,深度估计比较容易。而像没什幺特别的强,就很难估计深度。

在数据量大的情况下,容易model aleatoric uncertainty 也就是模型判断哪些data (或者data的一部分pixel)难,哪些简单。

 

“We further show that modeling aleatoric uncertainty alone comes at a cost. Out-of-data examples, which can be identified with epistemic uncertainty, cannot be identified with aleatoric uncertainty alone.”

 

有些不是训练集分布的数据(OOD)可以通过 Epistemic Uncertainty 来判断,但是不能单单通过 Aleatoric Uncertainty来识别。

 

认知不确定性(Epistemic Uncertainty)

 

其实最简单的实现方法就是 加 dropout 来测试(MC Dropout)。这样模型自带了抖动。

 

或者类似贝叶斯模型 每次参数都是在一个分布里挑(但是很难全部遍历),所以dropout是一种简单的近似 模型的不确定性。

 

P.S. 这边公式Eq1的 p还是有点问题。p同时代表概率,也代表dropout rate。

偶然不确定性(Aleatoric Uncertainty)

 

在输出上加一个分布,比如在深度估计的结果上 加一个(可以学的)高斯分布的抖动(这个高斯分布就是去模拟实际观测中偶然的noise)。难的样本 高斯分布的 方差自然大。

 

公式5基本就是最常用的 不确定性公式了,也是我在ijcv paper里用的。不过我是分类,所以用的是KL distance。同时 variance估计上用的策略不同。

混合两种不确定性

 

 

    1. 一开始先给了公式7, 其实类似常用的方法,先默认输出会有个 高斯的variance。这个variance是给定的(fixed)。

 

2. 而实际如公式8我们可以让网络去预测 这个variance,同时为了归一化,采用了 exp(-s) 。这招其实 Gal 之前的paper也写了。哈哈,我也学了。 确实简单好用。

3. 而本文最后的预测不确定性,还是用了mc dropout的策略(网络权重Wt是采样得到的,其实也就是dropout在inference的时候打开),需要inference T次去算variance。这边公式其实就是: 每个预测的平方 减去 均值的平方 再加上预测的variance 来算每个像素点的 varaicne。

需要注意的 是 本文还是需要一个额外的分支来预测variance,这种还是容易学坏了,因为是直接从X去预测,可能有bias (训练中)。 同时,因为需要共享了底层特征,可能会影响识别网络的accuracy。 一个实践是 Exploiting Sample Uncertainty for Domain Adaptive Person Re-Identification 将公式运用到了reid上。

4. 拓展到 classification 情况。在输出预测的 x 分类score上加上高斯分布的抖动。这边搞死分布的variance也是通过预测 才加上的。 换句话说如果预测的variance大的话, 里面第二项的也就大。variance小的话,就要求第一项score接近1和原来的loss一样。这边t是指sample t次。 (不过这边 直接在predicted score上加高斯抖动还是有点粗暴了。可能。。)

Call back:

 

其实回想 ijcv paper里 郑哲东:IJCV | 利用Uncertainty修正Domain Adaptation中的伪标签

 

我这篇文章 用的主分类器 和 辅助分类器 其实刻画的是 Epistemic Uncertainty ,并且结合了dropout 。如果我们把主分类器 和 辅助分类器 看成两个独立的模型,那幺我们刻画的是:对于同一个训练数据,模型参数上的抖动。而且一次inference就可以得到。

 

而对同一个数据上的不同预测, 则正好 model 了 (那些错误)pseudo label 中的 Aleatoric Uncertainty , 还是 Aleatoric Uncertainty 中的 heteroscedastic uncertainty,有些样本noise大,有些样本noise 小。 因为简单的segmentation的 pseudo label还是准的,而对于一些难度高的 ,小的traffic light啊,或者远处模糊的物体容易犯错。

 

包括 mc dropout 本质也是model了 Epistemic Uncertainty 模型参数的不确定性 ,不过 用来刻画 观测到的输入数据是不是out of distribution ( Aleatoric Uncertainty)。

 

所以更准确地说, ijcv paper 也是 把 aleatoric uncertainty 融入了训练loss,loss 衰减(attenuation),来修正pseudo label错误。 不同于本文,1. 无需额外分支预测 \sigma,不会影响主网络识别率;2.不需要用mc dropout 来inference T次取平均 算 variance; 3 一个小点,就是采用KL distance,所以最后formulate的公式和regression更接近,而不是作者提的 分类score上加高斯噪声。

 

思考快与慢 附录a

 

补充《思考 快与慢》附录 《不确定性下的判断:启发法和偏见》。

 

主要还是讲了不确定性下 直觉的偏见,其实和不确定性 关系也不大。。。

 

类似的,也举了这个例子: 晚上/大雾天 -> 可见度低 -> 物体不清晰 -> 人也会高估距离。

 

本文提供了三种应用于 判断概率 和预测价值的 启发式,列出了由这种启发式导致的 偏见 。

代表性 :通过 A和B的相似性来判断。比如史蒂夫内向,做事井井有条。就判断他可能是图书管理员。

1. 而 先验概率往往会被忽略,导致偏见 。实际上,职业中农民的比例远远大于图书管理员。

 

2. 相信“小数法则”,相信自己抽出的样本虽然少,但依旧是公平的。

 

3. 对于不可以预测的事情过度自信。比如对未来(5年后)的预测,会根据现在的表现来预测。

 

4. 没有掌握回归性。飞行员偶尔飞得特差,教练员会批评,一般下次会飞得好;而另一飞行员飞得特好,教练夸奖,一般下次就会糟糕。教练会得出一个错误的结果,批评比较有效。而他没有想到一般飞行结果都有一些随机性,飞行员的表现也会回归到均值。

可得性 :

通过容易程度 来评估事件的概率。可能会通过认识的人中有多少心脏病来估计 中年人患心脏病的概率。 不过这也是有原因的,因为我们更容易采样到更多数据,但同时也会有局限性。

判断与锚定:

通过初始值来确定最后答案。虽然可能有不同估值,但都会偏向初始值。

 

非洲国家占联合过席位百分比,通过一个0~100幸运圆盘,受试者首先要说明转盘执政指向的数值比实际数值高了还是低了,然后再将转盘指针拨向自己估计的值。

 

结果发现,初始指针是 10的小组 评估中值是25,而 指向65的小组估测中值是45,受初始值影响。

 

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注