如果深度学习模型之前"seen"相同的测试图像,它的性能会受到影响吗?



我正在使用YOLOv3模型执行对象检测任务。我使用的是为COCO数据集生成的预先训练的权重,然而,我有自己的数据来解决我正在处理的问题。据我所知,一旦在完全不同的数据集上训练,使用这些训练的权重作为我自己模型的起点就不会对模型的性能产生任何影响(对吧?(。

我的问题是:模型会给出";诚实的";结果如果我对它进行多次训练,每次都在同一个测试集上测试,或者它会有更好的性能,因为它在早期的实验中已经暴露在这些测试图像中了?我听人说过这样的话:;模型已经看到数据";,这适用于我的情况吗?

对于超参数选择、不同模型的评估或训练期间的评估,您应该始终使用验证集。

直到最后才允许您使用测试集!

测试数据的全部目的是对部署后的性能进行估计。当你在训练中使用它来训练你的模型或评估你的模型时,你就暴露了这些数据。例如,根据测试集的准确性,您决定增加层数。

现在,您的性能将在测试集中得到提高。然而,它会有代价的!您对测试集的估计变得有偏差,并且您不再能够使用该估计来谈论部署后模型看到的数据。

例如,您想要为自动驾驶汽车训练对象检测器,并且在训练过程中暴露了测试集。因此,当你把物体探测器放在车上卖给客户时,你不能用测试集上的准确性来谈论它的性能。

有一句老话与此事有关:

如果你对数据进行足够的折磨,它就会供认不讳。

最新更新