深度学习模型陷入局部极小值还是过度拟合?

时间:2020-04-23 04:25:58

标签: deep-learning neural-network pytorch

我通过将EfficientNet-B4微调了100个时间段,训练了10个类别的图像分类模型。我将训练数据分为70/30。我使用了Nesterov动量为0.9的随机梯度下降法,起始学习率为0.001。批次大小为10。在接下来的50个时间段(第51至第100个)中,测试损失似乎停留在84%。我不知道该模型是否停留在局部最小值中或该模型是否过拟合。下图是从第51个时期到第100个时期的测试和火车损耗的图像。我非常需要您的帮助。谢谢。 Train test loss image from 51st to 100th epoch.

2 个答案:

答案 0 :(得分:0)

从您提供的图形来看,验证损失和训练损失仍在下降,因此您的模型仍在训练中,并且没有过度拟合。如果测试集的精度保持不变,则可能是因为您用于训练/验证数据集的数据不能在测试数据集上很好地泛化(在图形中,验证仅在测试时达到了50%的精度)设置达到了84%的准确性。

答案 1 :(得分:0)

我调查了您的培训和验证图表。是的,您的模型正在训练中,损失正在减少,但是您的验证错误接近50%,这意味着“随机猜测”。

可能的原因-

1-从您的火车误差(在图像中显示的50-100个时期之间),平均误差在下降,但它是随机的。例如您在第100个阶段的错误与第70个阶段的错误几乎相同。这可能是因为您的任一数据集都过于简单,并且您正迫使像高效网络这样的庞大网络过度拟合。

2-也可能是由于您对其进行微调的方式,可能有任何问题。例如您在冻结BP时冻结的所有图层以及正在渐变的图层。我假设您使用的是预先训练的体重。

3-优化器问题。尝试使用亚当

如果您可以提供总损失(从时期1-100开始),那就太好了。

相关问题