我正在CIFAR10数据集中训练一个简单的神经网络。一段时间后,验证损失开始增加,而验证准确性也在增加。测试损失和测试准确性不断提高。
这怎么可能?看来,如果验证损失增加,准确性就会降低。
我正在CIFAR10数据集中训练一个简单的神经网络。一段时间后,验证损失开始增加,而验证准确性也在增加。测试损失和测试准确性不断提高。
这怎么可能?看来,如果验证损失增加,准确性就会降低。
Answers:
基于Ankur的回答及其下方的评论,我认为以下情况是可能的,尽管我没有证据。可能同时发生两种现象:
一些带有边界预测的示例得到了更好的预测,因此它们的输出类别也发生了变化(例如,以0.4预测为猫,以0.6预测为马的猫图像变成了预测为0.4代表马,0.6预测为猫)。因此,精度提高,而损耗减少。
一些具有非常差的预测的示例会变得越来越差(例如,预测为0.8的猫图像变成一匹马,变成预测为0.9的图像是马匹)AND / OR(更有可能,尤其是对于多类动物而言)。预测会变得更糟(例如,以0.9预测为猫的猫图像变为以0.8预测为猫的猫图像)。由于这种现象,损失增加而精度保持不变。
因此,如果现象2在某些示例(例如,由于某种原因而无法很好理解的特定类别)的某个时刻开始出现,并且/或者损失增加了stonger,而损失减少了您从1得到的损失,那么您可能在场景中找到自己。
再一次,也许这不是正在发生的事情,但是我认为能够提出这样的情况必须使我们想起(交叉熵)损失和准确性之间有时很滑的关系。
一组的准确性仅通过交叉检查最高softmax输出和正确的标记类别来评估,而不取决于softmax输出的高度。为了更加清楚,这里有一些数字。
假设有3类-狗,猫和马。对于我们的情况,正确的类别是horse。现在,softmax的输出为[0.9,0.1]。对于此损失〜0.37。分类器将预测这是一匹马。再以softmax输出为[0.6,0.4]的情况为例。损失约0.6。分类器仍会预测这是一匹马。但可以肯定的是,损失增加了。因此,这全部与输出分布有关。
从安库的回答来看,在我看来:
准确性衡量预测的正确性百分比,即
而
损失实际上跟踪预测的逆置信度(因为缺少更好的词)。高损耗的分数表明,即使在模型制作好预测,它是肯定它正在预测的...反之亦然。
所以...
高验证准确性 + 高损失分数与高培训准确性 + 低损失分数表明该模型可能与训练数据过度拟合。
许多答案都集中在数学计算上,解释了这是怎么可能的。但是他们没有解释为什么会这样。他们无法建议如何进一步挖掘以更加清晰。
我有3个假设。并提出一些实验来验证它们。希望它可以帮助解释这个问题。
如果您不同意这些假设,请不要为此争论。进行实验来验证它们,而不是证明它们或证明它们是错误的,将更具意义。