交叉熵损失在 image-net 上周期性上升和下降

cross entropy loss rises and falls periodically on image-net

我正在使用 tensorflow model 生成的 tfrecords 训练我的 mobilenet v3。训练损失 w.r.t 步骤如下图所示。 x 轴上的单位长度为 20k 步(由于批量大小 = 128 和总共 1281167 个样本,大约需要 2 个时期)。

I 指数衰减学习率每 3 个 epoch 为 0.01,带阶梯,并且损失在前 4 个 epoch 中正常下降。然而,损失在第 4 个纪元之后的每个纪元都会上升和下降。我尝试了动量优化器(涂成橙色)和 rmsprop 优化器(涂成蓝色),然后得到相似的结果。请帮我解决这个问题。

周期性几乎肯定与 1 个完整纪元对齐。

对于您的模型来说,不同批次的损失随机变化是很自然的。随着权重的稳定,您会看到这种随机变化一遍又一遍地重复,因此您只能看到(大致)在每个时期一遍又一遍地看到每个批次的相同损失。

我不确定它是否需要故障排除,但如果你真的想避免它,你可以在 epoch 之间随机播放你的数据集