我一直在尝试使用迁移学习方法进行植物病害检测。我首先选择了 ResNet50。我还执行了一个基线模型,它是一个 CNN 模型。在 resnet50 中,我使用了交叉熵损失并训练了 30 个 epoch 的模型。我也做了批量标准化。最初 epoch 1 损失为 112.5250,训练损失为 87.512。但是,对于最后一个 epoch,它是 2.1660,验证损失是 1.8905,验证准确度是 0.995。模型的整体准确率为 98.8%,模型似乎也没有过拟合。
在训练模型之前,我进行了超参数优化,使用贝叶斯优化优化了学习率和动量。我使用交叉验证优化了重量衰减。我执行了批量标准化。在此之前,我在没有任何优化的情况下训练了模型。我只是假设学习率为 0.001,相同的损失函数并训练了 30 个 epoch。在这种情况下,模型开始时的损失值为 114.2,验证损失为 130.46。它以 97% 的准确率收敛到 9.9038。
所以,我的问题是,模型有可能以如此高的损失值开始,尽管最后给出了很好的准确性?损失的大小与模型的正确性和准确性无关吗?如果模型开始时损失巨大,但准确率很高,那么我的模型是否不好?
前 5 个时期
EPOCH: 1
Epoch time taken: 28.61398434638977 seconds. Epoch 1 loss: 118.5250 Validation loss: 87.5214 Validation accuracy: 0.753
EPOCH: 2
Epoch time taken: 28.737553358078003 seconds. Epoch 2 loss: 68.8141 Validation loss: 50.3452 Validation accuracy: 0.858
EPOCH: 3
Epoch time taken: 28.45273518562317 seconds. Epoch 3 loss: 41.5181 Validation loss: 31.1520 Validation accuracy: 0.928
EPOCH: 4
Epoch time taken: 28.434630155563354 seconds. Epoch 4 loss: 26.8844 Validation loss: 21.1203 Validation accuracy: 0.948
EPOCH: 5
Epoch time taken: 28.762181282043457 seconds. Epoch 5 loss: 19.3646 Validation loss: 15.4843 Validation accuracy: 0.955
过去 5 个时期
EPOCH: 26
Epoch time taken: 28.35645818710327 seconds. Epoch 26 loss: 2.8168 Validation loss: 2.2771 Validation accuracy: 0.990
EPOCH: 27
Epoch time taken: 28.51978588104248 seconds. Epoch 27 loss: 3.3986 Validation loss: 2.2274 Validation accuracy: 0.992
EPOCH: 28
Epoch time taken: 28.51390767097473 seconds. Epoch 28 loss: 2.2707 Validation loss: 1.9976 Validation accuracy: 0.992
EPOCH: 29
Epoch time taken: 28.456573247909546 seconds. Epoch 29 loss: 2.5344 Validation loss: 1.9272 Validation accuracy: 0.990
EPOCH: 30
Epoch time taken: 28.486974239349365 seconds. Epoch 30 loss: 2.1660 Validation loss: 1.8905 Validation accuracy: 0.995
```