我想知道如何定义或表示负面训练集,如果我想从预先训练的模型训练二进制分类器,例如AlexNet在ILSVRC12(或ImageNet)数据集上。我目前正在考虑的是将一个与负面训练集无关的课程和一个与正面训练集合相关的课程。还有更优雅的方式吗?
答案 0 :(得分:1)
在ILSVRC数据集上训练的CNN已经在1000种图像中进行区分。是的,您可以使用其中一种拓扑来训练二进制分类器,但我建议您从未经训练的模型开始,并通过您选择的两个类运行它。如果你从一个训练有素的模型开始,你必须忘掉,你的结果仍然试图区分1000个类:最后一个FC层会给你带来麻烦。
有办法解决1000级问题。如果您的应用程序已经与一个或多个训练过的类重叠,那么只需添加一个将这些类映射到标签" 1"以及所有其他标签" 0"。
如果您坚持保留经过培训的内核,请尝试使用2级FC层替换最终的FC层(1000)。然后选择你的两个班级(适用的图像与其他一切)并进行训练。