【问题标题】:Loss graph in neural networks神经网络中的损失图
【发布时间】:2020-06-04 15:04:56
【问题描述】:

我制作了一个神经网络,并绘制了训练集和验证集的损失图。对于验证,我得到了像阶跃函数类型的损失,对于训练,我得到了这些奇怪的尖峰。现在我知道我的模型没有学到任何东西,因为我的损失太高了,但我仍然想知道这些尖峰实际上意味着什么。我的意思是为什么我会得到这些尖峰。我一直在寻找文献,但一直找不到解释。可能是在梯度下降期间,我的模型接近某个局部最优值,但随后迈出一大步并移开,但这些尖峰似乎周期性地发生。而且我不知道是什么导致了验证的阶跃函数。 我还附上了一张图片。

【问题讨论】:

    标签: python-3.x keras deep-learning


    【解决方案1】:

    如果您的学习率较高,则可能会发生这种情况。也许,在梯度下降中,即使你接近一个好的局部最优值,由于学习率高,你很快就会被淘汰。尝试降低学习率,看看这种行为是否会消失。另外,如果您还没有使用,请使用 Adam。

    验证损失只是跟随训练损失的整体趋势,没什么意思。

    循环学习中使用了类似的策略,其中学习突然增加以获得具有多个局部最小值的模型。 (在你的情况下,模型只是不会收敛)

    https://arxiv.org/pdf/1506.01186.pdf

    【讨论】:

      猜你喜欢
      • 2019-02-20
      • 2017-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-21
      • 2018-09-11
      • 1970-01-01
      • 2018-07-25
      相关资源
      最近更新 更多