首页 > 解决方案 > 此时将新数据添加到训练集中不会提高训练准确性

问题描述

这是一个关于训练 CNN 的一般性问题,但我使用的是 YOLO。我已经通过标记来自不同相机视频(在类似环境中)的一些数据来开始我的“人”检测训练集......每次我为新相机添加新数据时,我都在重新训练 YOLO,这实际上改进了检测对于这台相机。对于训练,我将我的数据随机分成训练/验证集。我使用验证集来计算准确性。这不是过度拟合,因为所有先前的数据也用于训练。

现在,我已经收集了超过 100 000 个标记数据。由于我的数据集非常大,我希望此时不必再训练了。但看起来我仍然需要这样做。如果我得到一个新的摄像机视频,标记 500-1000 个样本,将它们添加到我的庞大数据集中并再次训练,那么这台摄像机的准确性正在提高。我真的不明白为什么。为什么我仍然需要向我的集合中添加新数据?为什么新数据的准确性提高了很多,而成千上万的现有数据却被“绘制”了?有没有一点我可以停止训练,因为添加新数据不会提高准确性?

感谢您分享您的想法和想法!

标签: deep-learningconv-neural-networktraining-datayolo

解决方案


有趣的问题。如果您的数据质量良好并且训练过程“完美”,您将始终能够更好地概括。想想你想要检测的所有可能的无限不同的图像。您只是使用其中的一个样本,希望它足以概括。你可以继续增加你的数据集,可能会增加 0.01%,问题是你什么时候想停下来。你的模型准确率永远不会是 100%。

我的意见:如果你的项目是个人的并且没有人的生活依赖它,那么如果你的准确率超过 95%,就停止生成更多数据。考虑后期处理以改善结果。由于您在视频上检测可能会尝试跟随人的运动,因此如果在一帧中未检测到它并且您有来自前一帧和后一帧的信息,您可能会做一些花哨的事情。

希望有帮助,加油!


推荐阅读