Keras cifar10示例验证和测试损失低于训练损失

sha*_*aun 7 machine-learning neural-network deep-learning conv-neural-network keras

我正在玩你在这里可以找到的来自Keras的cifar10示例.我重新创建了模型(即,不是同一个文件,但其他一切都差不多),你可以在这里找到它.

模型是相同的,我训练模型30个时期,在50,000图像训练集上进行0.2验证.我无法理解我得到的结果.我的验证和测试损失小于培训的次数(相反,培训准确性与验证和测试准确性相比较低):

                      Loss       Accuracy
   Training          1.345          0.572
 Validation          1.184          0.596
       Test           1.19          0.596
Run Code Online (Sandbox Code Playgroud)

模型培训和验证损失和准确性

看一下情节,我不确定为什么训练错误会再次开始增加.我是否需要减少我训练的时期数量或者可能实施提前停止?不同的模型架构会有帮助吗?如果是这样,会有什么好建议?

谢谢.

Mar*_*jko 7

这是一种罕见的现象,但它偶尔会发生.出现这种情况的原因有以下几种:

  • 较小的数据集具有较小的内在方差,因此这意味着您的模型正确捕获数据内部的模式,并且训练误差更大,因为训练集的内部方差大于验证集.
  • 简单的事故 - 这也可能发生 - 你的分裂适合这种行为.