【问题标题】:Semantic Segmentation Loss functions语义分割损失函数
【发布时间】:2018-11-04 04:05:11
【问题描述】:

对于二元分割问题,以加权方式结合交叉熵损失和骰子分数是否有意义?

优化骰子分数会产生过度分割的区域,而交叉熵损失会为我的应用程序产生分割不足的区域。

【问题讨论】:

  • 如果有人需要二进制分割玩具问题:osf.io/snb6p

标签: tensorflow neural-network deep-learning image-segmentation semantic-segmentation


【解决方案1】:

我认为将这两种损失结合起来并没有什么坏处,因为它们彼此非常“正交”;交叉熵将每个像素视为一个独立的预测,而 dice-score 则以更“全面”的方式查看生成的掩码。
此外,考虑到这两种损失会产生明显不同的掩码,每个掩码都有自己的优点和错误,我认为结合这些互补信息应该是有益的。
确保对损失进行加权,以使两个损失的梯度大致处于相同的比例,这样您就可以从两者中同等受益。

如果你成功了,我很想听听你的实验和结论;)

【讨论】:

  • 如何缩放两个损失,以使两个损失的梯度具有相同的比例?我也在做类似的事情。我只是根据数据集的不平衡传入了一个 class_weights 向量。因此,加权损失变成类似于 weight*(BCE-DICE) 的东西,其中每个类的权重都在变化。但是有没有更好的方法呢?
  • 如何make sure you weight the losses such that the gradients from the two losses are roughly in the same scale,假设loss = alpha * bce + beta * dice。
  • 嗨@Shai,你说损失函数是“正交的”是什么意思?这是否与梯度流有关,因为您假设它们每个都引导网络学习不同的独立特征(例如,骰子损失将训练网络学习整体结构,而熵损失将针对像素级一致性?)
猜你喜欢
  • 2021-07-30
  • 2021-07-19
  • 1970-01-01
  • 2020-02-29
  • 2017-12-07
  • 2017-06-26
  • 2017-07-24
  • 2022-10-12
  • 2023-03-16
相关资源
最近更新 更多