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

在计算机视觉中,有两种不确定性。

种类:
aleatoric 偶然不确定性。来源于数据,不会随着模型的训练而改善。例如在分割标注时,在边缘处的标注本身就具有模糊性,这是固有的。
epistemic 认知不确定性。来源于模型,会随着数据量的增多而改善。例如在分割任务中,对于某个场景没有被训练过,在预测时就会出现很高的不确定性。

原理:
贝叶斯估计需要对数据的所有分布计算,然而实际上我们并不能获得所有数据的分布,所以模型存在不确定性。蒙特卡洛采样方法可以近似估计数据的分布。利用贝叶斯网络可以模拟蒙特卡洛采样,或者说贝叶斯网络方法和蒙特卡洛采样是等价的。

贝叶斯网络的具体实现:
在网络中加入dropout层,在训练和预测阶段都打开dropout。模型除了输出目标值,增加一个分支输出不确定性,即aleaoric uncertainty。对一个样本在dropout打开的情况下多次输出目标值。利用这些目标值求出epistemic uncertainty。

损失函数(回归问题):

前一项是回归问题的平方损失除以不确定性,后一项是数据的不确定性。数据不确定性随着采样的次数也不断改变。
模型的不确定性计算方法如下:

是模型输出数据不确定性的均值,后一项是多次采样的方差。可以看出作者将数据不确定性考虑为模型不确定性的一部分。

参考博客:
https://zhuanlan.zhihu.com/p/56986840
https://zhuanlan.zhihu.com/p/100998668
https://blog.csdn.net/JYZhang_CVML/article/details/94477843

思考:
这种多次采样是很耗时的,在实际应用时候,这种方式处于离线状态。假设我们采样50次,不确定性的估计较难达到实时。改进方向为减少采样,或者不采用蒙特卡洛的方式做不确定性估计。
Learning in an Uncertain World:Representing Ambiguity Through Multiple Hypotheses。这篇文章或许不是从蒙特卡洛的角度阐述不确定性,详读后再写随笔。

你可能感兴趣的:(What Uncertainties Do We Need in Bayesian Deep Learning for Computer Vision?)