Rah*_*and 5 machine-learning deep-learning keras loss-function
我正在使用带有 mini-batch 的自定义损失函数(triplet loss),在 epoch 期间,损失逐渐减少,但在每个 epoch 之后,损失突然下降(大约下降的 10%),然后在那个 epoch 期间逐渐减少(忽略准确性)。正常吗?
对这个问题的每一个答案和参考都将不胜感激。
Epoch 1/5 198/198 [==============================] - 3299s 17s/step - loss: 0.2500 - acc : 0.0014 Epoch 2/5 99/198 [================>........] - 预计到达时间:26:16 - 损失: 0.1220 - 加速度:0.0016
注意:此答案假设您使用的是 Keras——您可能希望将此信息添加到您的帖子或至少添加相关标签。
是的,这是因为显示的值是在 epoch 上取平均值的。考虑 epoch 1。在训练开始时,损失通常会非常大。然后它会减少,但 epoch 1 的显示值仍将包括从一开始就在平均值中的那些大值。例如,假设开始时的损失为 0.75,然后线性减少到 0.25,直到第一个 epoch 结束;这意味着平均值为 0.5,这将是 epoch 1 显示的值。
一旦 epoch 2 开始,平均值将被重置,并将为此 epoch 再次计算。让我们继续这个例子,所以在 epoch 2 开始时损失是 0.25,然后线性减少到 0。这意味着 epoch 2 显示的损失将是 0.125!然而,更重要的是,它将从0.25开始,因此在 epoch 开始时,您会看到与 epoch 1 显示的值 0.5 相比大幅下降。
归档时间: |
|
查看次数: |
2243 次 |
最近记录: |