我正在使用keras(tensorflow)训练自己的CNN模型。 如图所示,train_loss下降得很好,但是val_loss在每个纪元之间都有很大的变化。 可能是什么原因,我应该怎么做才能改善它?
答案 0 :(得分:0)
这是深度学习培训中的典型行为。考虑一下,您的目标损失是训练损失,因此它直接受到训练过程的影响,正如您所说的“进展顺利”。验证损失仅受到间接影响,因此与之相比,它自然会更加不稳定。
当您进行训练时,模型会尝试估计数据的实际分布,但是所得到的只是训练数据集要依赖的分布(相似但不相同)。
损耗曲线末端的大峰值可能是过度拟合的结果。如果您在训练期间没有使用递减的学习率,我建议您这样做。