caffe中训练和测试阶段的区别

Difference between training and testing phase in caffe

这似乎是一个愚蠢的问题,但我试图了解 caffe 中的测试阶段在多大程度上对获得良好结果很重要。训练阶段固然重要,但测试阶段是否只是为了测试在未训练的集合上周期性获得多少损失?如果是这种情况,我的测试集的大小真的很重要吗?测试到底重要吗?我问是因为我目前有一些严重的过拟合问题。如果我有一个大型数据集(>50 000 张图像),我应该如何在测试和训练之间拆分它们?

Caffe 在训练时从不使用测试集的结果,而是通过修改一些参数来解决过拟合等问题。

验证集(训练期间的测试集)的使用是为了让我们通过查看准确性或损失值、绘制它们或查看输出来可视化模型是否过度拟合数据。

例如,如果训练集的损失在每次迭代中不断减少,而测试集的损失不断增加,这是模型过度拟合训练集的可靠案例。为了得到这样的结论,为测试集选择的图像不应与训练集的图像相同。为测试训练图像计数保持 1:10 比率是理想的。如果测试集使用训练集的一个子集,测试集的损失会减少,我们可能无法检测到模型的过度拟合行为。