每个课程有多少图像足以训练CNN


12

我正在启动一个项目,任务是从图像中识别运动鞋类型。我目前正在阅读TensorFlowTorch实现。我的问题是:要达到合理的分类效果,每类需要多少张图像?


定义“合理”?您的目标是获得可在生产系统中使用的精度吗?您的目标还有其他事情吗?有多少节课?预训练和半监督训练有一些不同,可以节省您的工作量,因此您可以澄清您关注的是工作量标记图像还是仅仅是采购任何图像。最后,您的目标图像有多简洁?固定照明和姿势的图像比穿着运动鞋的“真实世界”照片更容易训练。
尼尔·斯莱特

是的,这将用于生产中。我目前不知道会有多少类,因为我不知道图像库中有多少种不同的运动鞋类型。我最好的猜测是大约50-100,但是课程的运动鞋的描述就越少(例如,air-jordan vs. air-jordan-ultrafit)。不幸的是,图像库混合了穿着的运动鞋和固定的带有白色背景的运动鞋。
Feynman27年

Answers:


2

来自 训练神经网络时,训练实例太少了吗?在简历上:

这实际上取决于您的数据集和网络体系结构。我已经读过的一条经验法则(2)是每类数千个样本,以使神经网络开始表现出色。在实践中,人们尝试观察。


大致评估拥有更多训练样本可能在多大程度上有利的一个好方法是根据训练集的大小来绘制神经网络的性能,例如(1):

在此处输入图片说明


  • (1)Dernoncourt,Franck,Ji Young Lee,Ozlem Uzuner和Peter Szolovits。“ 使用递归神经网络对患者病历进行身份识别 ” arXiv预印本arXiv:1606.03475(2016)。
  • (2)齐雷桑(Cireşan),丹·C(Dan C.),乌里·迈耶(Ueli Meier)和尤尔根·施密德(JürgenSchmidhuber)。“通过深度神经网络对拉丁和汉字进行转移学习。” 在2012年国际神经网络联合会议(IJCNN),第1-6页。IEEE,2012年。https://scholar.google.com/scholar cluster = 7452424507909578812 &hl = zh-CN as_sdt = 0,22http://people.idsia.ch/~ciresan/data/ijcnn2012_v9.pdf

    对于每个班级有几千个样本的分类任务,(无监督或有监督)预训练的好处很难证明。


0

最好的方法是尽可能轻松地收集尽可能多的数据。然后开始该项目并建立数据模型。

现在,您可以评估模型以查看其是否具有高偏差高方差。

高方差:在这种情况下,您会发现交叉验证误差高于收敛后的训练误差。

高偏差:在这种情况下,交叉验证误差略高于训练误差,而根据训练数据大小进行绘制时,交叉验证误差本身就较高。并绘制错误。

如果您发现模型具有较高的方差(过度拟合),则添加更多的数据通常会有所帮助,而对于高偏差(欠拟合)模型而言,添加新的训练数据无济于事。

同样,对于每个班级,您必须尝试获取相同数量的图像,否则数据集可能会倾斜(一种以上)。

另外,如果您使用的是TensorFlow,我也建议您阅读有关GOOGLE INCEPTION Image Classifier的更多信息。它已经在Google的图像数据库中经过训练的分类器,您可以将其用于图像,这样对图像数量的要求就大大降低了。


我已经使用TensorFlow的Inception-v3进行了快速测试。最好的办法是给我一个非常分类的课程,例如“跑鞋”,但我需要更细化的内容,例如“ air-jordan-ultrafit”。这就是为什么我要构建与Inception一起使用的新培训集的原因。
Feynman16年

那是一个“更细粒度”的奇怪定义。
Jivan
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.