神经网络中的损耗图

时间:2020-06-04 05:19:20

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

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

1 个答案:

答案 0 :(得分:2)

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

Image from KDnuggets 验证损失只是跟随训练损失的总体趋势,这没什么有趣的。

类似的策略用于循环学习中,其中突然增加学习以获取具有多个局部最小值的模型。 (就您而言,该模型将不会收敛)

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