Tensorflow 培训期间验证准确性和验证损失的差异
我正在用14k+图像对我的CNN模型进行30个历元的训练,在第28个历元中,我发现异常的验证精度和损失,如下所示:Tensorflow 培训期间验证准确性和验证损失的差异,tensorflow,machine-learning,keras,deep-learning,computer-vision,Tensorflow,Machine Learning,Keras,Deep Learning,Computer Vision,我正在用14k+图像对我的CNN模型进行30个历元的训练,在第28个历元中,我发现异常的验证精度和损失,如下所示: - 67s - loss: 0.0767 - acc: 0.9750 - val_loss: 0.6755 - val_acc: 0.8412 Epoch 27/30 - 67s - loss: 0.1039 - acc: 0.9630 - val_loss: 0.3671 - val_acc: 0.9018 Epoch 28/30 - 67s - loss: 0.0639
- 67s - loss: 0.0767 - acc: 0.9750 - val_loss: 0.6755 - val_acc: 0.8412
Epoch 27/30
- 67s - loss: 0.1039 - acc: 0.9630 - val_loss: 0.3671 - val_acc: 0.9018
Epoch 28/30
- 67s - loss: 0.0639 - acc: 0.9775 - val_loss: 1.1921e-07 - val_acc: 0.1190
Epoch 29/30
- 66s - loss: 0.0767 - acc: 0.9744 - val_loss: 0.8091 - val_acc: 0.8306
Epoch 30/30
- 66s - loss: 0.0534 - acc: 0.9815 - val_loss: 0.2091 - val_acc: 0.9433
Using TensorFlow backend.
有人能解释一下为什么会发生这种情况吗?对我来说,这看起来有点太过合适了。你的训练损失接近于零,训练准确度接近100,而验证损失和准确度则在跳跃 我建议您调整您的正则化(辍学、二级/一级、数据增强…)或模型容量
通常,使用具有调整正则化的高容量模型是一种很好的做法。就像Arkady一样。A说,它看起来很像是过度装修。这意味着你的模特记住了图像,所以你的准确度不断提高。但在验证数据上,结果很糟糕 例句:你记住了2*8=16,却不明白数学中乘法是如何工作的。对于问题2*8,你给出的答案是16。但是对于2*9=?你不知道anwser是什么 如何避免:
看起来你穿得太合适了。你能分享使用的网络架构和优化器吗。?