CNN:验证损失比训练损失下降慢得多,这很正常吗?

dar*_*ida 3 deep-learning conv-neural-network semantic-segmentation

我正在训练用于图像语义分割的 CNN U-net 模型,但是训练损失似乎比验证损失以更快的速度下降,这是正常的吗?

我使用的是 0.002 的损失

训练和验证损失如下图所示: 训练和验证损失

Der*_*lin 5

是的,这是完全正常的。

当神经网络学习时,它从训练样本中推断出它在每次迭代中都知道得更好。验证集在训练期间从不使用,这就是它如此重要的原因。

基本上:

  • 只要验证损失减少(即使是轻微减少),就意味着神经网络仍然能够更好地学习/泛化,
  • 一旦验证损失停滞,你应该停止训练,
  • 如果继续训练,验证损失可能会再次增加,这称为过度拟合。简而言之,这意味着神经网络“用心”学习训练数据,而不是真正推广到未知样本(例如验证集中的样本)

我们通常使用早期停止来避免最后的情况:基本上,如果您的验证损失在 X 次迭代中没有改善,请停止训练(X 是 5 或 10 等值)。