图像 class 训练数据中每个 class 的大小是否必须相等?

Does the size of each class in an image classifier's training data have to be equal?

我目前正在使用 Nvidia DIGITS 训练图像 classifier。我正在下载 1,000,000 张图像作为 ILSVRC12 数据集的一部分。如您所知,该数据集由 1,000 class 个组成,每个 class 个包含 1,000 张图像。问题是很多图像都是从无效的 Flickr URL 下载的,因此用下面显示的通用 "unavailable" 图像填充了我的数据集的相当一部分(大约 5-10%)。我计划检查并删除此 "generic" 图像的每个副本,从而使我的数据集仅包含与每个 class 相关的图像。

此操作会使 classes 的大小不均匀。它们将不再每个包含 1,000 张图像。它们每个包含 900-1,000 张图像。 每个 class 的大小是否必须相等? 换句话说,我可以删除这些通用图像而不影响我的 classifier 的准确性吗?提前感谢您的反馈。

每个 class 的训练数据数不必完全相等。 10% 的差异不会显着影响训练过程。
如果您仍然担心标签不平衡,您可以考虑使用 层来补偿缺失的示例。

PS, 您可以利用所有无效的 flickr 照片实际上 相同 并根据它们的 md5sum 自动删除它们。
有关如何在下载 imagenet 照片时过滤掉这些图像的示例,请参阅 this answer