为什么验证准确率和损失不如训练准确率和损失那么平滑?

人工智能 神经网络 卷积神经网络 训练
2021-11-07 18:17:23

我正在训练一个修改后的 VGG16 网络进行分类(在每个最后的 FC 层之后添加 0.5 个 dropout)。在下图中,我以少量 epoch 的训练为例,它显示了训练和验证数据集上训练过程的准确度和损失曲线。我的训练集大小是1725, 和429进行验证。我也在训练weights=None

在此处输入图像描述

我的问题是关于验证曲线,为什么它们看起来不像训练曲线那样平滑?这在训练阶段是否正常?

1个回答

您正在训练集上训练您的模型,并且仅在 CV 集上验证您的模型,因此您的权重会根据训练集的损失(以连续方式)进行专门优化,因此总是在减少。我们对 CV 集没有这样的保证,这首先是交叉验证的全部目的。理想情况下,它可以让您公正地衡量您的模型及其训练的权重在现实世界中的表现。因此,即使它在训练集中表现良好,损失仍然会在 CV 集中上升,这就是您在图表中看到的。

用外行的话来说,即使您完成了书中给出的单个练习的所有总和,您在模型论文中的表现也可能不一样。你从另一本书做另一个练习,不能保证你以前的概念会坚持下去,你可能在模型论文中做得更糟。同样的事情也发生在这里,练习是你的训练集,模型论文是用来评估你的学习的。