我是一名深思熟虑的新手,正致力于使用Caffe为图像创建车辆分类器,并有三个部分的问题:
组织培训课程是否有最佳实践? CNN?即每班的班级数和样本数? 例如,我会以这种方式变得更好:
每节课有多少训练图像是典型的最佳做法?我知道还有其他一些影响其准确性的变量 美国有线电视新闻网(CNN),但是在每节课中拍摄的粗糙数字是多少? 它应该是模型中类的数量的函数吗?对于 例如,如果我的模型中有很多类,我应该提供更多 每班样品?
我们如何确保我们不会过分适合上课?有没有办法测量一类训练样本的异质性?
提前致谢。
答案 0 :(得分:5)
嗯,你提到的第一个选择对应于计算机视觉社区中一项非常具有挑战性的任务:细粒度的图像分类,你想要对基类的下属进行分类,比如Car!要获得有关this的更多信息,您可能会看到此文章。 根据关于图像分类的文献,对CNNs学习的高级课程(如汽车/卡车)进行分类会更加简单,因为可能存在更多的辨别特征。我建议采用第二种方法,即对所有类型的汽车与卡车等进行分类。
训练样本的数量主要与参数的数量成正比,即如果您想训练浅模型,则需要更少的样本。这还取决于您决定微调预先训练的模型或从头开始训练网络。如果没有足够的样本,则必须对任务中的模型进行微调。
过度拟合的摔跤一直是机器学习中的一个问题,甚至CNN也不是没有它们的。在文献中,已经引入了一些实用的建议来减少过度拟合的发生,例如辍学层和数据增强程序。
可能未包含在您的问题中,但似乎您应该遵循微调程序,即在另一个任务(例如ILSVRC 201X)上使用预先计算的模型权重初始化网络,并根据权重调整权重你的新任务。这个过程在社区中称为转移学习(有时是域适应)。