如何解释具有大输入图像的完全连接模型的损失值

时间:2016-12-02 10:12:12

标签: tensorflow deep-learning

我尝试应用this example model来输入更大的图像(224x224 RGB)。随着随机梯度下降训练,我获得了极高的初始损失值,但随后它们下降到0:

Minibatch loss at step 0: 85038.437500
Minibatch accuracy: 7.0%
Minibatch loss at step 500: 4275149.500000
Minibatch accuracy: 46.9%
Minibatch loss at step 1000: 6613.396484
Minibatch accuracy: 98.4%
Minibatch loss at step 1500: 0.000000
Minibatch accuracy: 100.0%
Minibatch loss at step 2000: 0.000000
Minibatch accuracy: 100.0%
Minibatch loss at step 2500: 0.000000
Minibatch accuracy: 100.0%
Minibatch loss at step 3000: 0.000000
Minibatch accuracy: 100.0%
Test accuracy: 86.9%

我尝试将GradientDescentOptimizer的学习率设置为0.1和0.01,但它没有帮助。

损失降至零意味着什么?我怎么能阻止这个?此模型本身是否适用于此输入集?

1 个答案:

答案 0 :(得分:4)

零损失意味着该模型非常适合数据,这可以通过100%准确度的结果得到证实。

这实际上非常好,但我也看到过度拟合的迹象,因为测试精度仅为86.9%,远小于训练精度。这意味着模型很好地拟合了数据,并且还在测试数据中不存在的训练数据中拟合噪声。这意味着模型确实推广,但由于测试精度较低,因此存在一些问题。如果你看一下测试损失(而不是精确度),你会发现它是非零的。

如何防止过度拟合?您使用的模型非常简单,似乎没有使用任何类型的正则化。添加L1 / L2正则化,压差或批量归一化肯定会减少过度拟合。