【问题标题】: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? 了解损失和准确率之间的微妙关系(尽管潜在的问题有所不同,但我认为您可能会发现答案很有帮助)

标签: python tensorflow machine-learning neural-network conv-neural-network


【解决方案1】:

正如之前的 cmets 指出的那样,我认为这是一种过度拟合的情况。过度拟合可能是数据集中高方差的结果。当你训练 CNN 时,它显示出一个很好的减少训练误差的比例,产生了一个更复杂的模型。更复杂的模型会产生过拟合,当验证误差趋于增加时可以注意到。

Adam 优化器负责模型的学习率、指数衰减和总体优化,但不会对过度拟合采取任何措施。如果你想减少它(过度拟合),你需要添加一种正则化技术,它会惩罚模型中权重的大值。

您可以在深度学习书籍中阅读更多详细信息:http://www.deeplearningbook.org/contents/regularization.html

【讨论】:

    猜你喜欢
    • 2019-09-06
    • 2019-08-14
    • 2020-04-27
    • 1970-01-01
    • 2020-09-11
    • 1970-01-01
    • 1970-01-01
    • 2019-11-24
    • 2017-05-01
    相关资源
    最近更新 更多