我需要在Keras上创建CNN才能识别一种特定类型的图像,在我的情况下是信用卡。所以我似乎只需要一个输出的sigmoid神经元。但问题是如何训练这样的网络,因为我只有一个目标类别。或者我应该用猫和狗添加随机图像来对NN说它不是信用卡。我甚至不确定它是二进制分类。我还没有任何代码,但首先我会尝试使用Keras docs中的VGG-16。
答案 0 :(得分:2)
鉴于您正在使用VGG-16进行传输学习,可以立即采用一种方法将信用卡图像添加到ImageNet数据中。你可以简单地标记所有其他图像not credit card
,并微调两个输出神经元上的softmax(credit card
vs not credit card
)或sigmoid激活,表示图像是信用的信心卡。
这将对各种替代图像进行微调,最终可以产生更加健壮和准确的分类器。
但是如果您正在考虑将其部署到实际用例中,则需要仔细考虑ImageNet图像格式(分辨率等)与预处理之间的映射以及用例中的格式。 ImageNet上的测试结果可能会胜过真实数据的结果。理想的做法是从用例中收集非信用卡示例并使用这些示例进行微调。