我正在用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 - 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.
有人能解释为什么会这样吗?
答案 0 :(得分:1)
在我看来,这是过度拟合。您的训练损失和准确性接近于零,而验证损失和准确性却在跳跃。
我建议您调整正则化(辍学,l2 / l1,数据增强...)或模型容量。
通常,具有经过调整的正则化的高容量模型是一个好习惯。
答案 1 :(得分:0)
像Arkady。一个说,它强烈看起来像过拟合。这意味着您的模型存储了图像,因此精度不断提高。但是在验证数据上,您会得到不好的结果。
示例:您记住2 * 8 = 16却不了解数学中乘法的实际工作原理。所以对于问题2 * 8,您给出的答案是16。但是对于2 * 9 =?你不知道答案是什么。
如何避免: