我正在使用 Keras 的 cifar10 示例,你可以找到它here https://github.com/fchollet/keras/blob/master/examples/cifar10_cnn.py。我已经重新创建了模型(即,不是相同的文件,但其他所有内容几乎相同),您可以找到它here https://github.com/sudarshan85/dl-projects/blob/kcifar/keras-cifar10/cifar10_cnn.py.
该模型是相同的,我在 50,000 个图像训练集上使用 0.2 验证分割训练该模型 30 个时期。我无法理解我得到的结果。我的验证和测试损失小于训练损失(相反,训练准确性低于验证和测试准确性):
Loss Accuracy
Training 1.345 0.572
Validation 1.184 0.596
Test 1.19 0.596
看看这个图,我不确定为什么训练误差再次开始如此严重地增加。我是否需要减少训练的 epoch 数量或者实施提前停止?不同的模型架构会有帮助吗?如果是的话,有什么好的建议呢?
Thanks.
这种现象很少见,但时有发生。出现这种情况的原因有多种:
-
较小的数据集具有较小的内在方差所以这意味着您的模型正确地捕获了数据中的模式并且火车错误更大只是因为内部方差训练集大于然后验证集.
-
简单的事故- 这也可能发生 - 你的分裂适合这种行为。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)