本文主要是介绍深度无监督显著性检测:多个Weak Label的伪监督,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
论文来源:2018 CVPR
Deep Unsupervised Saliency Detection: A Multiple Noisy Labeling Perspective
最近在刷今年CVPR的时候发现了这样一篇有点意思的文章,整理了一些思路和想法,留在这篇博客中分享给大家。
- Motivation
文章的出发点首先就引人入胜,是不是在深度学习流行的当下,handcraft的算法就毫无用武之地呢?所以这篇文章针对于如何高效的利用existing的handcraft算法 (也就是所谓的“Multiple Noisy Labeling”),来构建stronger的伪监督,从而实现无监督的操作。正是因为同时利用了多种handcraft的传统算法,所以得到的效果也是不差的。 思路
如何同时利用无监督算法的dataset-independent性,和深度网络的powerful learning capacity性?– noisy label视角(核心创新点)
将现有的各种无监督算法的结果看成是noisy but informative 的label,他们利用了handcraft的人工先验知识,但是一般会有一定的method-specific的偏倚。如何克服存在的noise,这篇文章采用的是对noise进行建模(而不是SBF中利用intra-fusion进行noise去除,详见 ICCV 2017 Supervision by Fusion: Towards Unsupervised Learning of Deep Salient Object Detector)。
– 整体框架
a. saliency predction 模块 –> 将original image映射成saliency map(隐变量)–> deterministic way
b. 噪声建模 –> 拟合多种无监督算法产生的noisy结果中的noise –> probabilistic way
算法
– 损失函数
我们的思路是将每个handcraft的结果建模成显著性预测模块的结果 + noise结果 ,其中是对噪声分布qi的采样:
为我们生成的显著性map。网络的损失函数为
– 显著性预测模块 – For Prediction Loss
通过显著性预测模块,我们可以得到隐变量,然后将其加上噪声模拟值,以此来拟合目标值。因此Prediction Loss涉及来衡量拟合值和真正handcraft无监督结果之间的偏差
– 噪声模块 – For Noise Loss
噪声模块用来衡量真实的handcarft无监督结果与显著性预测模块输出结果之间的误差,定义为。 由于这个结果还收到网络参数的影响,因此其准确的后验概率不能直接求得,所以我们采用顺序性的优化方法得到
这样我们可以更新
这篇关于深度无监督显著性检测:多个Weak Label的伪监督的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!