我使用Tensorflow的目标检测API使用自定义数据集训练了一个更快的RCNN模型。随着时间的推移,我想继续使用额外的图像(每周收集)更新模型。目标是优化准确性并随着时间的推移加权新图像。
以下是几种选择:
- 将图像添加到先前的数据集并训练全新的模型
- 将图像添加到先前的数据集并继续训练之前的模型
- 只使用新图像创建新数据集并继续训练之前的模型
这是我的想法:
选项1:可能会耗费更多时间,但所有图像都会被平等处理。选项2:额外的训练时间可能较少,但一个担忧是算法可能会更加重视早期的图像。
选项3:这似乎是最好的选择。拿原始模型并专注于培训新内容。
是否有一种显然更好?每种方法的利弊是什么?
此外,我想知道是将一个测试集保持为准确性的控制还是每次创建一个包括新图像的新测试集更好。也许将新图像的一部分添加到模型和另一部分添加到测试集中,然后将旧的测试集图像反馈到模型(或将其删除)?