我正在训练一个 CNN 模型。
在第一个训练中,我在第 5 个 epoch 获得了 87%(0.29 损失)的训练准确度和 87%(0.30 损失)的验证准确度,我继续训练它总共 15 个 epoch,并且正如预期的那样,它开始过度拟合,训练准确度增加到97%(0.01 损失)和验证保持在 87%(0.35 损失)。
在第二个模型中,我使用 Data Augmentation 和 Dropout 层来处理过度拟合(总共训练了 10 个 epoch)。这些是结果:第 5 个 Epoch:训练准确度 77%(损失 0.45)和验证准确度 77%(损失 0.41)。10th Epoch:训练准确率 82%(损失 0.38)和验证准确率 82%(损失 0.35)
从您可以在下面看到的损失和准确度图表中,很明显模型在第一种情况下过度拟合,但在第二种情况下它没有过度拟合。
情景一
方案二
我的问题是,根据准确性,哪种模型在现实世界中更好?模型 1 在 epoch 5 以 87% 的准确率停止,或者模型 2 没有以 82% 的准确率过拟合(验证)?我理解仅基于精度模型 1 听起来更好,但它最终会过度拟合,但如果我使用提前停止或类似的方法停止训练,这会比我的第二个模型更好吗?

