在微小数据集上训练图像分类器

数据挖掘 深度学习
2022-02-21 21:47:10

如果我们在每个类的图像方面有一个很小的数据集,而我们只有一个图像可用于给定的类,例如一个标志,那么数据增强策略会起作用吗?或者在这种情况下应该采用什么训练策略?

1个回答

CNN 需要大量图像才能正确训练。拥有小型训练集时最常见的解决方法是使用预训练模型,该模型已在大型数据集(例如 ImageNet)上进行了训练。通过这个,你可以得到一个高效的模型,删除它的最后一层(用于分类)并保留所有之前的层(用于特征提取)。然后你添加你自己的最终层并且只训练它们这使您可以用更少的参数训练模型(因为它们中的大多数已经被训练过),这可以在较小的数据集上完成。

您可以做的另一件事是数据增强。这通常包括仿射变换(旋转、平移、缩放、移位等)、翻转图像、亮度/对比度调整、噪声感应等。这样做的问题是强烈的增强可能会破坏图像这限制了您使用的增强器的数量和强度

话虽如此,就图像分类而言,可以将一个很小的数据集视为具有数百个样本的数据集。如果每个班级只有一张图像,我不确定您是否可以有效地训练 CNN 而不会过度拟合。我的建议是,如果可能,获取更多数据