3

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

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

问题是它是否是正确的方法——是否需要第四节课?

我的直觉是 net 应该只在 3 个目标类上进行训练。如果输出概率保持在某个阈值以下(90%?),则应将图像视为不包含任何目标对象。我对吗?

4

1 回答 1

4

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

让我们看一个具体的例子:你训练你的网络来区分苹果、橙子和香蕉。然而,你不知何故得到了李子的照片。

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

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

  1. 假设您正在对未知的 N+1 类进行测试,则输出概率保证为未知类的 1/N。
  2. 某个阈值(如您假设的那样)<90%,它不是类。

假设以下情况:

  1. 如果您遇到一个苹果看起来真的像橙子的情况,并且您的模型正确预测了 40% 的苹果、30% 的橙子、30% 的香蕉,但是由于您应用了阈值,因此排除了正确识别的苹果(真阳性),该怎么办?消除网络良好输出的简单案例
  2. 您仍然可以将 91% 分配给一个班级,尽管新的“水果”到达不是您的数据集的一部分;这是由于固有的计算和 softmax 的工作方式。

个人经验:我曾经训练过一个网络来区分多种类型的交通标志。出于纯粹的好奇,我举了一个客厅椅子的例子。我期待和你一样的东西(阈值),但令我惊讶的是,它是 85% 的“屈服方式”。

于 2020-02-21T15:29:53.590 回答