Out-of-Distribution Detection(分布外检测)

就是让模型知道自己『不知道』——遇到没见过的东西要说我不确定,而不是强行给个答案。

亦作、亦称:分布外检测 · OOD detection · OOD Detection · OOD 检测 · 异常检测 · anomaly detection · OOD Generalization

分布外检测(OOD Detection)让模型学会识别「未知的未知」,在遇到训练分布之外的输入时主动报警,而非给出虚假的高置信度答案。这是构建可靠、安全 AI 系统的关键基础能力。

概述

分布外检测(OOD Detection)让模型学会识别「未知的未知」,在遇到训练分布之外的输入时主动报警,而非给出虚假的高置信度答案。这是构建可靠、安全 AI 系统的关键基础能力。

概述:什么是分布外检测

OOD 检测解决的是模型部署时面临的「开放世界」挑战。

  • In-Distribution(ID)数据:与训练集同分布的正常输入,模型应给出可靠预测
  • Out-of-Distribution(OOD)数据:来自训练时未见过的类别、领域或噪声严重的输入,模型应拒绝或标记
  • 核心问题:深度神经网络默认对所有输入都给出预测,且常对 OOD 输入给出过高置信度(过度自信)
  • 目标:设计评分函数,使 ID 样本与 OOD 样本的得分分布尽量分离,从而可靠地区分两类输入
  • 与相关任务的区别:OOD 检测侧重类别级分布偏移;异常检测侧重同分布内的个体异常;开放集识别则允许对 OOD 样本进行粗分类

工作原理:评分与阈值判断

OOD 检测的核心流程是为每个输入计算一个「OOD 分数」,再与阈值比较。

  • 最大 Softmax 概率(MSP):Hendrycks & Gimpel 2017 提出,ID 样本的最高 softmax 分数通常高于 OOD 样本,直接用作检测分数
  • 温度缩放 + 输入扰动(ODIN):在 softmax 前除以温度 T 并对输入添加对抗扰动,拉大 ID/OOD 分数差距
  • 能量分数(Energy Score):Liu et al. 2020 提出,用 LogSumExp 替代 softmax 最大值,理论上与数据密度更强关联
  • Mahalanobis 距离:在特征空间中计算样本到各类中心的马氏距离,距离越大越可能是 OOD
  • 阈值选择:通常在 ID 验证集上选取使 95% ID 样本通过的分数阈值(TPR@95%FPR 指标)

方法分类:四大技术路线

根据利用信息的方式,OOD 检测方法可分为四类。

  • 基于分类器输出:利用 softmax 概率或 logit 值(MSP、ODIN、能量分数),无需额外训练,部署成本低
  • 基于密度估计:训练生成模型(VAE、流模型)对数据分布建模,OOD 样本密度低;计算开销大,高维场景效果不稳定
  • 基于距离:在预训练特征空间计算到训练集原型的距离(Mahalanobis、kNN),依赖特征质量
  • 基于重构:用自编码器重构输入,OOD 样本重构误差更大;适合无监督场景
  • 混合/后训练方法:引入 Outlier Exposure(用辅助 OOD 数据微调模型)或对比学习,在已知 OOD 类型时效果显著提升

应用场景

OOD 检测在安全关键领域有大量落地需求。

  • 自动驾驶:检测训练时未见过的路况、障碍物或极端天气,触发人工接管而非强行决策
  • 医疗 AI:影像诊断模型遇到罕见病例或设备差异导致的图像偏移时,主动拒绝给出诊断
  • 金融风控:识别异常交易模式或新型欺诈手段,避免模型在未知攻击模式下误判
  • 大语言模型(LLM)部署:检测超出模型能力边界的查询或对抗性输入,触发拒绝回答或转人工
  • 工业质检:生产线上检测全新类型缺陷,防止未见缺陷被漏检或误判为良品

局限与常见误区

OOD 检测在实践中存在若干重要局限,需要谨慎对待。

  • 「检测到就安全」的误区:OOD 检测只能拒绝输入,无法对 OOD 数据给出有意义的预测;系统仍需设计降级策略
  • 基准集偏差:现有方法在特定数据集组合(如 CIFAR-10 vs. SVHN)上效果好,但跨数据集泛化性差
  • 近分布 OOD(Near-OOD)难题:与训练数据语义相近但不属于已知类别的样本(如猫→豹)极难区分,是当前研究难点
  • 高维问题:在高维特征空间中,距离度量失效(维数灾难),密度估计更是指数级困难
  • 与对抗攻击的混淆:对抗样本在像素级与 ID 数据相近但语义不同,标准 OOD 检测方法难以防御对抗攻击

发展脉络

OOD 检测经历了从朴素基线到系统化研究的快速演进。

  • 2015 年 Nguyen et al. 首次揭示深度神经网络对 OOD 输入的「过度自信」现象,引发学界关注
    -
    2017 年
    Hendrycks & Gimpel 在 ICLR 提出最大 Softmax 概率(MSP) 基线,建立统一评测框架,正式开创 OOD 检测方向
    -2018 年 Liang et al. 提出 ODIN,通过温度缩放和输入扰动大幅提升基线性能
    -
    2020 年
    Liu et al. 提出能量分数方法;Lee et al. 推广Mahalanobis 距离 检测
    -2021 年Yang et al. 发布综述《Generalized OOD Detection》,统一梳理 OOD、异常检测、新颖性检测等相关概念
    -
    2022 年起
    大模型时代的 OOD 检测兴起,CLIP 等视觉-语言预训练模型被用于零样本 OOD 检测;LLM 部署中的 OOD 检测成为新热点

常见误解

日常交流中容易听到的简化说法,未必准确,但能帮助理解误解从何而来。

  • 「就是让模型知道自己『不知道』——遇到没见过的东西要说我不确定,而不是强行给个答案。」
  • 「模型训练时只见过猫和狗,测试时来了一张鸟的图片,OOD 检测就是要识别出这张鸟图『不在分布内』,避免模型自信地说它是猫。」
  • 「很多人把 OOD 检测和异常检测混用,其实 OOD 更关注『类别级』的分布偏移,异常检测更关注同分布内的个体异常点。」

相关术语

和本术语关联紧密的其他词条,便于串联理解。

延伸阅读

从知识库精选 3 篇文章,帮助深入理解该术语。

  1. 1

    异常检测:识别数据中的离群点

    从 Isolation Forest 到 One-Class SVM,掌握异常检测技术

  2. 2

    异常检测在工业中的应用

    从缺陷检测到预测性维护,掌握工业 AI 的核心应用

  3. 3

    AI Agent 入门:从概念到实现

    理解 AI Agent 的核心组件:感知、规划、记忆和工具调用,以及企业落地实践