【问题标题】:Train accuracy drops in some epochs训练精度在某些时期下降
【发布时间】:2018-09-27 18:03:54
【问题描述】:

我正在训练一个 ResNet(CIFAR-10 数据集),训练准确度大部分(在 95% 的时期)都在增加,但有时会下降 5-10%,然后又开始增加。

这是一个例子:

Epoch 45/100
40000/40000 [==============================] - 50s 1ms/step - loss: 0.0323 - acc: 0.9948 - val_loss: 1.6562 - val_acc: 0.7404
Epoch 46/100
40000/40000 [==============================] - 52s 1ms/step - loss: 0.0371 - acc: 0.9932 - val_loss: 1.6526 - val_acc: 0.7448
Epoch 47/100
40000/40000 [==============================] - 50s 1ms/step - loss: 0.0266 - acc: 0.9955 - val_loss: 1.6925 - val_acc: 0.7426
Epoch 48/100
40000/40000 [==============================] - 50s 1ms/step - loss: 0.0353 - acc: 0.9940 - val_loss: 2.2682 - val_acc: 0.6496
Epoch 49/100
40000/40000 [==============================] - 50s 1ms/step - loss: 1.6391 - acc: 0.4862 - val_loss: 1.2524 - val_acc: 0.5659
Epoch 50/100
40000/40000 [==============================] - 52s 1ms/step - loss: 0.9220 - acc: 0.6830 - val_loss: 0.9726 - val_acc: 0.6738
Epoch 51/100
40000/40000 [==============================] - 51s 1ms/step - loss: 0.5453 - acc: 0.8165 - val_loss: 1.0232 - val_acc: 0.6963

在此之后我已退出执行,但这是我的第二次运行,第一次发生同样的事情,一段时间后又恢复到 99%。

批次是 128,所以我想这不是问题。我没有更改学习率或任何其他 Adam 参数,但我想这也不是问题,因为大多数时候准确度都在提高。

那么,为什么会出现这些突然下降?

【问题讨论】:

  • 我没有足够的知识来回答 why,但是根据我训练 NN 的经验以及我所阅读的内容,这似乎是一个标准和预期的事情即将发生。事实上,如果你继续训练更多的 epoch,准确度可能会逐渐降低,这就是要找到下降之间的“甜蜜点”,即预期的噪音和下降趋势。我相信时期和准确性之间没有明确的线性相关性,但我也不知道技术原因。
  • 是的,这也是我读过的东西,但据我所知,这是没有残差块的非常深的网络的问题,并且精度下降是恒定的——一旦精度开始下降,它从未增加。另外,由于这是一个 ResNet(和一个浅层,ResNet50),我认为这应该不是问题

标签: neural-network deep-learning resnet


【解决方案1】:

由于训练和验证的损失和准确率都增加了,您的优化算法似乎暂时超出了它试图遵循的损失函数的下坡部分。

记住梯度下降和相关方法计算一个点的梯度,然后使用它(有时还有一些额外的数据)来猜测移动的方向和距离。这并不总是完美的,有时它会走得太远,最终会再次上坡。

如果您的学习率较高,您会不时看到这种情况,但您可能仍会比使用较小的学习率更快地收敛。您可以尝试不同的学习率,但除非您的损失开始发散,否则我不会担心。

【讨论】:

  • 我已将您的答案标记为正确,因为您已经确认了我的想法。我猜想比具有相同学习率更聪明的东西可以提高性能,因为当网络达到高精度时会发生下降,它应该开始以较小的步长探索周围环境。此外,我不确定梯度下降的简单情况是否在这里完全适用,因为深度 NN 正在优化的函数具有更多类似鞍形的形状,但是,正如我上面所说,学习率衰减应该在后期阶段有所帮助培训
猜你喜欢
  • 2021-05-14
  • 1970-01-01
  • 2017-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-02
  • 2016-11-09
  • 2021-06-20
相关资源
最近更新 更多