图像分类转移学习需要否定示例吗?

时间:2020-02-21 14:30:07

标签: tensorflow keras neural-network classification efficientnet

任务是确定图像属于3个类中的哪一个,或者不属于哪个类。

我收到了现成的模型。具有ImageNet权重的EfficientNet B4已将转移学习应用于识别4个类别:3个目标类别和第4个“无”类别。后者接受了不包含任何目标物体的随机图像示例的训练。

问题是它是否正确?需要第四类吗?

我的直觉是,仅应在3个目标类别上训练网络。如果输出概率保持低于某个阈值(90%?),则应将图像视为不包含任何目标对象。我说的对吗?

1 个答案:

答案 0 :(得分:4)

由于softmax函数的性质和训练网络的方式,您需要第4类。

让我们看一个具体的例子:您训练网络来区分苹果,橙子和香蕉。但是,您会以某种方式得到李子的照片。

乍一看,您可能会感到惊讶,但是您需要数据集中的另一个类。不能保证使用阈值处理将帮助您消除其他类别。

您可能会遇到以下两种情况:

  1. 假设您要在未知的N + 1类上进行测试,则对于未知类,输出概率保证为1 / N。
  2. 某个阈值,超过该阈值(如您所假设的),该阈值<90%不是分类。

假设以下情况:

  1. 如果您的情况下苹果看起来真的像苹果 橙色,并且您的模型可以正确预测40%的苹果,30%的橙色,30% 香蕉,但是由于您应用了阈值,因此可以正确识别 苹果(真阳性)被淘汰了吗?一种简单的情况,您会消除网络的良好输出
  2. 您仍然可以将91%的课程分配给一个班级,尽管新的“水果”到来并不属于您的数据集;这是由于固有的计算以及softmax的工作方式所致。

个人经验:我曾经训练过网络来区分多种类型的交通标志。出于好奇,我举了一个客厅椅子的例子。我期望像您一样的事情(阈值),但令我惊讶的是,这是“ Yield Way”的85%。