【问题标题】:Validation loss increasing验证损失增加
【发布时间】:2018-05-31 01:26:54
【问题描述】:

我正在尝试用我的 numpy 神经网络解决 kaggle 中的猫狗问题。

验证损失

训练损失

我的训练损失减少得很好,但验证损失增加了,所以我的模型肯定是过拟合的。 我使用了大小为 125、50 的两个隐藏层。我使用 0.075 的学习率运行了 600 次迭代的模型。

我也尝试使用 lambda = 0.01 或 0.03 的正则化,但仍然没有帮助。

有解决这个问题的办法吗?

【问题讨论】:

  • 我还为每个班级使用了 100 张图片。这会是个问题吗?
  • 如果我们不知道您做了什么,您希望如何获得帮助?

标签: python neural-network deep-learning


【解决方案1】:

向每一层添加 Dropout,dropout 概率为 0.5。看看它如何影响验证错误,如果你的训练错误不会比特定点更深,要么将概率降低到 0.3,要么从第一层依次删除它。这里有点试错。

我猜你的意思是 L2 正则化(权重衰减)与 lamda。如今,网络通常使用 dropout 和非常小的 L2,例如 0.0005。 L2 使权重接近于零并防止它们爆炸。 Dropout 是一个更好的调节器,因为它在训练期间随机丢弃节点,这会导致某种专业化。

祝你好运。

【讨论】:

  • 添加 dropout 有帮助吗?
猜你喜欢
  • 2017-08-14
  • 1970-01-01
  • 2021-05-04
  • 2022-01-10
  • 1970-01-01
  • 2021-03-11
  • 2019-08-14
  • 2018-12-21
  • 2021-04-07
相关资源
最近更新 更多