我正在训练神经网络模型来区分橙子和石榴。 在训练数据集中,对象的背景(对于橙色和石榴)是相同且不变的。但是在测试时,对象的背景与我训练的不同。
所以我的第一个疑问是,
训练具有一个背景的模型(假设是白色背景)并使用 另一个背景(假设灰色背景)?。
其次,我训练了具有不同位置和相同背景的物体。由于该理论认为位置对卷积无关紧要,因此它具有识别放置在任何位置的物体的能力,因为无论如何,在卷积之后,激活图的维数减小并且深度增加。
所以我的第二个疑问是,
在训练时保持对象在不同位置是必要的还是好的方法 模特?
答案 0 :(得分:1)
训练具有一个背景的模型(假设是白色背景)并使用 另一个背景(假设灰色背景)?。
在训练神经网络时,重要的是对正在使用的数据集进行混洗,并将数据集拆分为训练和测试集。您需要对数据进行混洗的原因是为了让您的模型能够查看训练集中的所有类型的样本,以便在它暴露于新的看不见的数据时,它可以将其反映在先前看到的数据上。在上面提到的示例中,由于存在可以影响模型预测的不同背景颜色,因此重新排列数据非常重要。因此,训练和测试集都需要具有两种背景颜色,以便您的模型能够提供良好的预测。
在训练时保持对象在不同位置是必要的还是好的方法 模特?
用不同位置的物体训练你的模型确实更好,因为它可以让你的模型预测更多类型的橙子或石榴。请注意,如果您要对要测试的对象使用不同的位置,则必须拥有足够数量的数据,以便模型能够为测试集提供良好的预测。
我希望这个简短的解释有所帮助,如果有什么不清楚请告诉我,我会编辑帖子。
答案 1 :(得分:1)
训练具有一个背景(假设为白色背景)的模型并使用另一个背景(假设为灰色背景)进行测试是不是很好?
背景是图像的属性,不是区分对象所必需的。您希望您的网络了解此行为。现在考虑两个案例:
In short, there is an extra information that you need to learn that is background is not important for deciding the category. When you provide only one color background, your neural network cannot learn this behavior and can give garbage result on test dataset.
在训练模型时,是否有必要或良好的方法将对象保持在不同的位置?
你是对的,卷积神经网络是平移等变的。但是,对于构建分类器,您将CNN层的输出传递通过完全连接的层。如果将图像放在不同的位置,则不同的输入将转到完全连接的图层,但所有这些图像的输出都是相同的类别。 So you are forcing your neural network to learn that the position of the object is not required for classifying its category.
答案 2 :(得分:0)
关于你的第一个疑问,只要图像中存在目标对象,这就没什么问题了。在将数据送入网络之前对数据进行随机播放。
对于第二个疑问,是的,将目标对象放在不同的位置总是一个好主意。还需要注意的另一件事是数据来源相同且质量大致相同。否则会出现性能问题。