【问题标题】:What does it mean for the loss in Keras to be different by orders of magnitude between models?Keras 中的损失在模型之间存在数量级差异意味着什么?
【发布时间】:2020-08-08 03:49:55
【问题描述】:

针对上下文,我在 Keras 中训练了两个独立的自动编码器:一个具有标准 MSE 损失函数,另一个具有自定义 MSE 损失函数。在给定训练点评估这两个模型时,它们的性能非常相似,但损失却大不相同。

我的性能指标是平均误差百分比。两种模型都在以大约 3% 的平均误差重新创建原始图像。然而,当保存这些模型时,标准 Keras MSE 模型的损失小于 1.0,而具有自定义 MSE 成本函数的模型的损失约为 30。

如果他们的表现如此一致,为什么损失会有如此大的不同?

【问题讨论】:

    标签: python tensorflow keras loss-function


    【解决方案1】:

    损失只是一个标量,表示模型训练调整权重的方向。如果将损失乘以标量,结果将几乎相同。 我并不是说绝对值不重要,重要的是。但这不是中心点。 您的情况可能会有所不同,因为 Keras MSE 做了一些您没有进行的规范化。

    【讨论】:

    • 这似乎是它的原因。我不太关心它,因为我的绩效指标对我来说很重要,但我只是想更好地了解正在发生的事情。
    • 在进行数学运算之前尝试标准化您的 y_pred 数据。
    猜你喜欢
    • 1970-01-01
    • 2020-01-21
    • 1970-01-01
    • 2021-01-04
    • 1970-01-01
    • 1970-01-01
    • 2021-03-06
    • 2011-12-31
    • 1970-01-01
    相关资源
    最近更新 更多