首页 文章

为什么模型在第一个时期之后产生最佳性能,当我的训练损失减少并且验证集的准确性增加时?

提问于
浏览
-2

我正在使用CNN(通过tensorflow)训练图像分类模型 . 我的数据集有600个样本,有90个类( balanced ),这是我的NN架构概述:

conv(relu) --> conv(relu) --> dense(relu) --> dense(relu) --> dense(sigmoid)

培训:

我将数据集拆分为8:2的训练集和验证集,这是我的训练配置:

batch_size = 16
epochs = 200
learning_rate = 0.0001

我的控制台窗口显示:

epoch 1: loss 0.34, validation accuracy 96%
epoch 2: loss 0.12, validation accuracy 98%
epoch 3: loss 0.09, validation accuracy 98.5%
epoch 4: loss 0.06, validation accuracy 99%
epoch 5: loss 0.04, validation accuracy 99.7%
...

一切似乎都没问题,我的训练损失正在减少,同时验证集的准确性也在增加 .

测试:

但是,在 similar but different 数据集上进行测试时,第一个时期之后模型的准确性要比第5个时期(10,20,100等)之后的模型好得多 .

在检查了this问题之后,似乎我的学习任务太容易了,而且更多时期的训练会导致问题出现.624722_问题 .

所以:

  • 这是一种过度拟合,因为我的控制台窗口输出结果不是吗?发生了什么?

谢谢你的帮助 .

1 回答

  • 0

    是的,你是过度拟合 . 您需要对来自同一分布的数据进行训练,验证和测试,否则不能对错误做出任何假设 .

相关问题