我有两种性能比较的型号,一种是ResNet-9型,另一种是VGG-16型.它们正被用于图像分类。它们在同一测试集上的准确性如下:
ResNet-9 = 99.25%的准确度
VGG-16 = 97.90%的准确度


然而,从他们在训练过程中的损失曲线(如图所示),我看到VGG-16比ResNet-9有更高的损失。
我对VGG-16和ResNet-9都使用torch.nn.CrossEntropyLoss()。我本以为ResNet-9会有较低的损失(因为它在测试集上表现得更好),但事实并非如此。
这种观察正常吗?
发布于 2022-09-05 04:35:29
是的,即使精度更高,模型的损失也可能更大。这是因为如果信心降低,损失函数就会受到惩罚。
例如:
如果你有一个标签[0, 0, 0, 1],
模型A预测[0.1, 0.1, 0.1, 0.7]
模型B预测[0.1, 0.0, 0.0, 0.9]
两种模型的准确率均为100%,但模型A的CrossEntropyLoss值将大于模型B的精度,因为模型A的置信度较低。
因此,与VGG-16相比,ResNet-9的损失较高,即使ResNet-9具有更高的准确性,这意味着ResNet-9的预测(平均)对预测标签的信心较低。
https://stackoverflow.com/questions/73603560
复制相似问题