
摘要
我们提出以下问题:要设计一个有效的异常值/分布外(Out-of-Distribution, OOD)检测器,即能够识别出远离训练数据分布的样本,究竟需要哪些训练信息?由于在许多应用场景中,未标注数据极易获取,因此最具吸引力的方法是仅基于未标注的分布内(in-distribution)数据来构建检测器。然而,我们观察到,目前大多数基于未标注数据的检测器性能较差,其表现往往仅相当于随机猜测。相比之下,现有的最先进OOD检测器虽能取得显著性能,但通常依赖于细粒度的标签数据进行有监督训练。为此,我们提出SSD(Self-Supervised Detection),一种仅依赖未标注分布内数据的异常检测方法。该方法首先采用自监督表示学习提取特征,随后在特征空间中基于马氏距离(Mahalanobis distance)进行检测。实验表明,SSD在性能上显著超越了绝大多数基于未标注数据的现有检测器。更令人瞩目的是,SSD的性能甚至可与依赖有监督训练的先进方法相媲美,在某些情况下还表现更优。此外,我们对检测框架进行了两项关键扩展。其一,我们提出了少样本OOD检测(few-shot OOD detection)设定,即检测器仅需从目标OOD数据集中每个类别获取1至5个样本即可完成检测任务。其二,我们进一步扩展框架,使其在具备训练数据标签的情况下能够有效融合这些信息。实验结果表明,引入上述扩展后,基于SSD的检测框架性能显著提升,并达到了当前最先进的水平。相关代码已公开发布于:https://github.com/inspire-group/SSD。