骰子系数处理不平衡数据背后的直觉是什么?

机器算法验证 神经网络 卷积神经网络 损失函数
2022-04-09 05:52:24

我现在正在写我的硕士论文,做一个深度学习项目,对 MRI 图像进行语义分割。我和我的伙伴一直在研究使用骰子损失而不是分类交叉熵。因为在几篇论文中指出,您可能会在分割任务上获得更好的结果。

在线程 Dice-coefficient loss function vs cross-entropy 然而,有人说这不一定是真的,必须凭经验测试这个陈述。

很长一段时间以来,我一直在盯着骰子损失的方程式

来自论文 https://arxiv.org/pdf/1606.04797.pdf

而且我不明白为什么“不必为不同样本的样本分配权重以建立正确的平衡”或“此外,Dice 系数在设计的类别不平衡问题上表现更好”

如果有人可以帮助我获得更好的直觉,为什么骰子损失比交叉熵更能解决类不平衡问题,我会非常高兴。

正如本文中的额外内容,他们引入了“广义骰子损失”,其中每个类都使用与属于该类的体素数量成反比的权重参数进行缩放。在这种情况下,我完全理解这是如何对抗阶级不平衡的。 https://arxiv.org/pdf/1707.03237.pdf

2个回答

骰子分数衡量预测和基本事实之间的相对重叠(交集超过联合)。它对小物体和大物体都有相同的价值:你猜对了一半的物体吗?太好了,你的损失是 1/2。我不在乎对象是 10 像素还是 1000 像素大。

另一方面,交叉熵是在单个像素上评估的,因此大对象比小对象贡献更多,这就是为什么它需要额外的权重以避免忽略少数类。

骰子的一个问题是它可能具有很高的方差。在一个小物体中弄错一个像素可能与丢失几乎整个大物体具有相同的效果,因此损失变得高度依赖于当前批次。我不知道有关通用骰子的详细信息,但我认为它有助于解决这个问题。

处理二分类问题很直观,它计算前景区域之间的重叠(而背景不感兴趣)。多类场景中,当在一端提供概率图和在另一端提供 one-hot 编码标签时,它可以有效地执行多个二类问题。在实践中,人们会计算每个类别的骰子分数向量,取其平均值并返回1-mean(我附上DeepMedic最新源码中的实现供参考)

在这里,每个类别的分数是独立于它们的相对大小计算的,因此对平均分数的贡献是公平的。