开集识别
闭集识别
训练集中的类别和测试集中的类别是一致的,最常见的就是使用公开数据集进行训练,所有数据集中的图像的类别都是已知的,没有未知种类的图像。传统的机器学习的算法在这些任务上已经取得了比较好的效果。
开集识别简述
现实场景中更多的是开放和非静态的环境,比如,一些没有见过的情况会意外出现。针对这一挑战提出的方法有持续学习、迁移学习、域适应、零样本、少样本学习、开集识别和分类等。
开集识别简单定义是,一个在训练集上训练好的模型,当利用一个测试集(该测试集的中包含训练集中没有的类别)进行测试时,如果输入已知类别数据,输出具体的类别,如果输入的是未知类别的数据,则进行合适的处理(识别为unknown)。
示例 : 猫狗识别模型,输入一张荷花或者大象的图像,模型可能会告诉你80% 的概率为 猫。
想要的结果 : 输入不为猫狗的图像,模型输出为未知类别,输入猫狗图像,模型输出对应具体的类别
数据集类别划分
-
KKCs known known classes
具有明确标签的正训练样本(对其他KKCs为负样本),包含相应的伴随信息(语义和属性信息等)的类别
-
KUCs known unknown classes
被标记为负样本,不必要被划分为一个具体的类别,比如background class,universum class(对于一个具体问题不属于任何类别的样本)
-
UKCs unknown known classes
训练时没有可用的样本,但是有可用的伴随信息(语义和属性信息等)
-
UUCs unknown unknown classes
训练时没有可用样本,也没有伴随信息(语义和属性信息等)
传统分类只考虑KKCs;zero-shot learning(ZSL) 关注识别UKCs;one/few-shot看作是ZSL的扩展,训练时有有限数量的UKCs;开集识别(OSR)训练时只有KKCs,测试时有UUCs,需要准确分类KKCs同时需要正确的策略拒绝UUCs。
下表描述了开集识别和相关任务的区别:
相关定义
- 开放空间风险
远离已知数据的空间(包括KKCs和KUCs)通常被认为是开放空间 O,因此将该空间中的任何样本任意标注为KKC必然会带来风险,这被称为开放空间风险(open space risk): R O R_O RO</