验证准确率提高,但验证损失也在增加
Posted
技术标签:
【中文标题】验证准确率提高,但验证损失也在增加【英文标题】:Validation accuracy increasing but validation loss is also increasing 【发布时间】:2018-12-21 15:22:00 【问题描述】:我正在使用 CNN 网络将图像分为 5 类。我的数据集大小约为 370K。我正在使用学习率为 0.0001 和批量大小为 32 的 Adam 优化器。令人惊讶的是,我在各个时期的验证准确性都得到了提高,但验证损失却在不断增长。
我假设模型对验证集的不确定性越来越低,但准确性更高,因为 softmax 输出的值大于阈值。
这背后的原因是什么?在这方面的任何帮助将不胜感激。
【问题讨论】:
这是一个过拟合的案例研究。随着训练损失的下降,验证损失正在增加 是的,但在过度拟合的情况下,验证准确度也应该下降,对吧? 没那么简单 - 请参阅 Loss & accuracy - Are these reasonable learning curves? 了解损失和准确率之间的微妙关系(尽管潜在的问题有所不同,但我认为您可能会发现答案很有帮助) 【参考方案1】:正如之前的 cmets 指出的那样,我认为这是一种过度拟合的情况。过度拟合可能是数据集中高方差的结果。当你训练 CNN 时,它显示出一个很好的减少训练误差的比例,产生了一个更复杂的模型。更复杂的模型会产生过拟合,当验证误差趋于增加时可以注意到。
Adam 优化器负责模型的学习率、指数衰减和总体优化,但不会对过度拟合采取任何措施。如果你想减少它(过度拟合),你需要添加一种正则化技术,它会惩罚模型中权重的大值。
您可以在深度学习书籍中阅读更多详细信息:http://www.deeplearningbook.org/contents/regularization.html
【讨论】:
以上是关于验证准确率提高,但验证损失也在增加的主要内容,如果未能解决你的问题,请参考以下文章
验证损失在 3 个 epoch 后增加,但验证准确度不断增加