基于深度学习的图像分类器是不是应该包含负类

Posted

技术标签:

【中文标题】基于深度学习的图像分类器是不是应该包含负类【英文标题】:Should a deep-learning based image classifier include a negative class基于深度学习的图像分类器是否应该包含负类 【发布时间】:2017-11-17 21:17:51 【问题描述】:

我正在构建一个类似于 alexnet(https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks) 的图像分类器。

我有 6 个类别 [人、汽车、自行车、动物、水上飞机、船]。所以现在如果我给出一个不属于上述类的对象,它会以一定的概率被分类到任何一个类中。

为了提高准确率,添加更多类还是添加负类是明智之举?

如果我必须添加一个负类,我会用什么样的数据来训练它?

谢谢

【问题讨论】:

作为负类的替代方法,您可以定义一个概率阈值。例如。如果最大似然类的预测概率 【参考方案1】:

想想你最后真正想生产什么。

您需要一种算法来告诉您所经过的图像是汽车、自行车、动物、人、水上飞机还是船。

用户是否应该传递代表其他东西的图​​像?如果是这样,您可以添加一个“其他”类。

【讨论】:

这是一个监控摄像系统。我使用其他方法挑选代理并将它们传递给图像分类器。所以我得到了很多只是背景噪音的虚假代理。但它们也被归类为一类,有时概率很高。 那么您确实需要教您的模型如何处理没有您希望它猜测的任何类的框架。我建议您使用“其他”类来训练您的模型。【参考方案2】:

嗯,这取决于您要构建哪种分类器以及可用的训练数据。

如果您有足够的训练数据用于新课程,例如 train,您可以轻松添加新课程。这很简单。但是问题依然存在,如果输入时出现了一些新对象,那么该怎么办......

我认为您的问题是,当对象(不是训练集)呈现给网络时如何处理这种情况。在这种情况下,添加负类非常复杂,因为网络也需要足够且清晰的负类训练数据。因此,处理这种情况的一种方法是检查输出概率。如果没有训练类获得输出概率的 70%,则将输入分类为模棱两可或负类。

【讨论】:

以上是关于基于深度学习的图像分类器是不是应该包含负类的主要内容,如果未能解决你的问题,请参考以下文章

这个深度学习图像分类问题的目标应该是啥

机器学习:图像分类:CNN:如何识别红车?

R语言基于Keras的小数据集深度学习图像分类

深度学习之图像分类ResNet50学习

基于深度学习的细粒度图像分类综述

基于深度学习的图像语义分割方法综述