1.引言
OOD检测对机器学习系统的稳定性和可靠性至关重要。
各种解决方案层出不穷,大致包括:基于分类的、基于密度的、基于重构的、基于距离的方法。
异常检测(Anomaly Detection,AD)、新类检测(Novelty Detection)、开集识别(Open Set Recognition,OSR)、离群检测(Outlier Detection,OD)都可以视为分布检测的特例或子任务
大多数现有机器学习模型都基于封闭世界假设(the closed-world assumption)来训练,即测试集和训练集独立同分布,或者说两者来源于同一分布(in-distribution)。然而,当模型被部署在开放世界场景(open-world scenario)中,测试样本的分布可以是取自不同于训练集分布的分布的(out of distribution),因而需要被谨慎处理。分布的变化可能是语义转移(比如,OOD样本取自别的类别)、协变量转移。
1.1异常检测
目的在于在测试阶段检测异常的样本,“异常”指的是偏离预定义的“正常”。这种偏离可能是协变量漂移或是语义漂移导致的。
1.2新类检测
与异常检测的区别:
1) 动机上,新类检测中并不像异常检测把没见过的“新”样本看做错误的或是有害的,而是将珍视这些新样本为后续模型的学习资源;
2)新类检测首要关注的是语义转移;
3)新类检测中,没有限制ID样本属于单个类,在训练集中可以有多个类别的样本。
定义:
新类检测目的在于检测出不属于任何训练类别的测试样本。检测到的新奇样本通常预备用于未来程序的构建,比如特异性更强的分析、当前模型的增量学习等
1.3开集识别
需要一个多类别分类器来同时
1)精确地分类训练类别的测试样本(ID);
2)识别出测试样本中不属于训练类别的样本(OOD)。
1.4分布外检测
背景:需要模型拒绝标签迁移的样本以保证预测可靠性和安全性
定义:目的是检测从与训练分布不同的分布中提取的测试样本,分布的定义根据目标中的应用而定义。对于大多数机器学习任务,分布应该是指“标签分布”,这意味着OOD样本不应该有重叠的标签
1.5离群检测
当某个样本显著区别于其他的样本时,认为它是“离群”的。在异常检测、新类检测、开集识别、分布外检测的问题设定中,都存在这训练-测试的流程,要挑出测试中出现的不属于训练分布的样本。而离群检测无“训练分布”、“测试分布”,而是直接挑出所有可见样本中显著区别于其他的那些样本。
1.6 其他类型
Learning with Rejection (LWR):
LWR 可以追溯到早期的研究,其中考虑了简单的模型族,如SVM。神经网络在OOD数据中的过度自信现象首先由揭示。尽管方法上的差异,随后的作品开发的OOD检测和OSR共享的基本精神的分类与拒绝选项。
Domain Adaptation/Generalization:
域适应(DA)和域泛化(DG)也遵循“开放世界”假设。与广义OOD检测设置不同,DA/DG期望在测试期间存在协变量移位而没有任何语义移位,并要求分类器对同一组类别进行准确预测。注意OOD检测通常涉及检测语义转换,这是DA/DG的补充。在协变量和语义转移都发生的情况下,模型应该能够检测语义转移,同时对协变量转移具有鲁棒性。DA和DG之间的区别在于,前者需要来自目标域的额外但很少的训练样本,而后者则不需要。
新奇发现(Novelty Discovery):
新奇发现要求所有观察结果都像离群值检测一样提前给出。观察以半监督的方式提供,目标是探索和发现未标记集中的新类别和类。与孤立点检测不同的是,在新奇发现环境中,未标记集可能主要由未知类组成,甚至被未知类淹没。
Zero-shot Learning:
Zero-shot learning </