如何解释损失函数的突然突然增加,然后是正常的减少呢?

时间:2019-07-09 14:44:51

标签: machine-learning deep-learning

如何解释损失函数的突然突然增加,然后是正常的减少?

数据:128x128x4图像(随机分割:60%火车,20%VAL,20%测试) gt:一个热编码的128x128x3(因为3个不同的类)

模型:unet(图像分割) lr:0.01至0.0001(高原减少lr) 批量大小:16

这是我训练的图表: loss on validation set (inference)training loss

为什么在前3个推论中,损失在减少,然后在单个时期突然增加?

2 个答案:

答案 0 :(得分:0)

请记住,“损失”功能只是该迭代的错误度量。对于大多数模型,这种情况会通过训练有所上升或下降,并且总体呈下降趋势。

对于模型权重的整个分布,您所看到的只是简单地猜测是相当不错的。但是,这种猜测是“出于错误的原因是正确的”。发生这种情况的方式有很多。我已经看过几次了,就是“狗v猫”图像模型。整理数据有时会带来一些早期的问题,其中猫照片通常在室内,狗照片通常在室外。然后,早期的培训学习将“猫”与家具相关联,将“狗”与草坪/树木/花卉相关联。当其余数据集出现时,所有这些学习节点都需要扔掉并重新训练,从而导致损失函数出现较大的峰值。

答案 1 :(得分:0)

首先,模型只不过是包含参数(权重)和形式的方程式(或一组规则)。例如f(x)= W1X1 + W2X2 + W3X3,这里w1,w2和w3被称为权重,而x1,x2和x3是形式。

因此,模型最初会自行猜测权重,当第一个输入出现时,模型会将其馈入模型(方程式)并提供输出,现在您可以看到模型本身会猜测参数的输入,因此它可能会产生与地面ground_truth距离非常远的输出。之后,它将假设与基本事实进行比较,计算损失,执行优化并更新权重,最初是由于猜测损失可能很大,但是每次更新都会逐渐减少(这就是您的情况)。损失逐渐波动,这是完全正常的。

如果在某个时期之后您的损失突然增加,则意味着您的学习速度存在问题。更改您的学习(增加或减少)率,并分析模型的行为。