CNN二值图像分类 - 选择"负面"数据集的最佳实践?

And*_*Hin 3 machine-learning computer-vision neural-network deep-learning conv-neural-network

说,我想训练CNN来检测图像是否是汽车.

选择"非车载"数据集有哪些最佳实践或方法?

因为这个数据集可能是无限的(基本上任何不是汽车的东西) - 是否有关于数据集需要多大的指南?它们是否应包含与汽车非常相似的物体,但不包含(飞机,船只等)?

Max*_*xim 9

与所有受监督的机器学习一样,训练集应该反映模型将要使用的实际分布.神经网络基本上是函数逼近器.你的实际目标是近似真实世界的分布,但在实践中,它只能从中获取样本,而这个样本是神经网络唯一能看到的东西.对于训练流形之外的任何输入方式,输出只是一个猜测(参见关于AI.SE的讨论).

因此,在选择负数据集时,您应该回答的第一个问题是:该模型的可能用例是什么?例如,如果您正在为智能手机构建应用程序,则负面样本应该包括街景,建筑物和商店的照片,人物,室内环境等.智能手机相机中的图像不太可能是野生动物或抽象绘画,即它是你真实发行中不可能的输入.

包括看起来像正面类(卡车,飞机,船等)的图像是一个好主意,因为低转换层特征(边缘,角落)将非常相似,并且重要的是神经网络学到重要的高 - 级别功能正确.

一般来说,我会使用5-10倍的正面负片.CIFAR-10是一个很好的起点:在50000个训练图像中,5000个是汽车,5000个是飞机等.事实上,建立一个10级分类器并不是一个坏主意.在这种情况下,您将通过阈值确定推断类是汽车来将此CNN转换为二进制分类器.CNN不确定的任何事情都将被解释为不是汽车.