我有1000张狗的图片和1000张猫的图片。
我已经训练了一个小的卷积神经网络(CNN)来对这个数据集进行分类,验证/测试集上的准确率达到了99%以上。
但是,我注意到当我输入不是猫或狗的图像,例如一辆车时,分类器有时会给出高置信度的猫或狗的分类结果。
这是为什么呢?我理解CNN只在两个类别上进行过训练,但如果它看到完全随机的图像,不应该对这两个类别都输出低置信度吗?
我认为这个问题可以通过负面示例(其他随机物体和动物的图像)来解决,但随之而来的问题是:需要多少负面示例才能真正覆盖所有可能的随机图像(不是猫或狗)的分布?
回答:
如果网络只在狗/猫图像上进行训练,那么它混淆不属于这两个类别的图像是可以理解的。你应该在训练集中添加负面示例(如你所提到的),并将最终的分类层转换为预测三个类别的置信度(狗,猫,其他)。这样应该会更好。