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

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

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

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

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

损失函数(回归问题):
L(\theta)=\frac 1N \sum \frac 12exp(-log(\sigma ^2)) ||y_i - f(x_i)||^2 + \frac12log(\sigma(x_i)^2)
前一项是回归问题的平方损失除以不确定性,后一项是数据的不确定性。数据不确定性随着采样的次数也不断改变。
模型的不确定性计算方法如下:
Var(y)=\sigma^2 + \frac 1N \sum f(x_i)^ T f(x_i) - E(y_i)^ T E(y_i)
\sigma是模型输出数据不确定性的均值,后一项是多次采样的方差。可以看出作者将数据不确定性考虑为模型不确定性的一部分。

参考博客:
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。这篇文章或许不是从蒙特卡洛的角度阐述不确定性,详读后再写随笔。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容