【问题标题】:What might be the best loss function when target is a gaussian label?当目标是高斯标签时,最好的损失函数可能是什么?
【发布时间】:2020-04-27 20:56:29
【问题描述】:

我有一个简单的 CNN,输入为

  • 以感兴趣的对象为中心的大小为 MxN 的裁剪灰度图块。每个补丁的强度重新调整为 [0, 1]。
  • MXN 大小相同的目标高斯标签,取值范围 在 [5.0155e-173, 1] 中。此标签在整个训练过程中保持不变。

目标是学习目标标签并使用学习模型检测测试图像中的对象。我正在使用具有各种损失函数的 Adam 优化器,例如 categorical_crossentropy、mean_squared_error 和 mean_absolute_error,但训练很快就会停止,可能是因为所有这些损失函数返回的值都很低(梯度消失?)。将批大小从 1 增加到 16~32 有时有助于完成迭代,但在测试时会产生不希望的结果。

是不是因为损失函数对目标中较低的值过于敏感,甚至将它们视为异常值,从而将整个学习过程导向错误的方向?

如果您在这种情况下修复损失函数,我将不胜感激。

【问题讨论】:

    标签: keras regression object-detection tensorflow2.0 loss-function


    【解决方案1】:

    我认为这里最好的选择是使用一些概率分布伪距离,我想到的第一个选择是使用Kullback-Leiber Divergence,它已经在pytorch和keras中实现(参见[kldivloss]( https://pytorch.org/docs/stable/nn.html#kldivloss 和 keras) 其他著名的距离可能包括 Jesnsen-Shanon 散度和 Earth-Mover 距离(这与 WGAN 中使用的距离相同

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-19
      • 2018-02-26
      • 2022-01-19
      • 2020-08-31
      • 1970-01-01
      • 2018-10-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多