用于检查单个标签是否存在的 CNN

数据挖掘 标签 二进制 深度学习
2022-03-07 09:41:28

我只是在考虑训练一个仅使用一个标签数据的神经网络。

例如:假设我有许多包含狗的图像。现在我想教网络狗的样子,没有不包含狗的图像。

更正式:我想检查一个标签的可用性,所以理论上,我需要 2 个数据集:Dog 和 NoDog

我现在向自己提出的问题是:我将如何定义 NoDog 类?我可以输入任何东西,一些随机噪音或任何不包含狗的未标记数据?但是我如何确保我正确地对“no-dog”空间进行采样?“无狗”形象有哪些特点?“禁狗”空间很大,不知怎的,很难形容。

我有不同的想法:

- 使用相同的狗图像,但剪掉狗并用噪音填充它

- 训练一个 gan 并使用鉴别器进行二元分类

- 使用大量未标记的数据

有谁知道如何系统地解决这个问题?谢谢

1个回答

卷积模型可以用于分类,也可以不用于分类。您不能在单个标签上训练分类器,因为此类模型的损失函数旨在在每次图像被错误分类时惩罚模型。如果您只有一个标签,则准确度将始终为 100%,根据定义。这样的模型将毫无用处。

我认为你有两个选择:

  1. 得到一堆不是狗的图像,然后训练一个 CNN 分类器。
  2. 训练自动编码器以对您的“狗数据”进行降维。这些模型可用于异常检测任务。一旦你训练了这样一个模型,当你喂一个非狗图像时,它应该能够将其识别为异常并标记它。

两种方法都可以同样有效。第一个是最简单的,但如果你喜欢玩和尝试 DL,那么第二个会更有趣。