A Systematic Comparison of Training Objectives for Out-of-Distribution Detection in Image Classification

该论文在 OpenOOD 标准协议下,系统比较了交叉熵、原型、三元组及平均精度四种训练目标在图像分类中的分布外检测性能,发现交叉熵损失在保持分布内精度的同时,能提供最为稳健的近域与远域分布外检测效果。

Furkan Genç, Onat Özdemir, Emre Akbas

发布于 2026-03-10
📖 1 分钟阅读☕ 轻松阅读

Each language version is independently generated for its own context, not a direct translation.

这篇论文就像是在给 AI 模型做一场"体检",目的是看看哪种“训练食谱”能让 AI 在面对陌生情况时更聪明、更安全。

为了让你轻松理解,我们把整个研究过程想象成在培养一群“鉴别专家”

1. 背景:为什么我们需要这些专家?

想象一下,你训练了一只狗(AI 模型)来识别家里的宠物:猫和狗。

  • 正常情况(分布内数据):它看到一只哈士奇,会说“这是狗”;看到一只橘猫,会说“这是猫”。这很准。
  • 危险情况(分布外数据 OOD):突然,它看到了一只浣熊(长得像猫但不是猫)或者一只恐龙玩具(完全没见过)。
    • 如果这只狗很“傻”,它可能会自信满满地说:“这是一只猫!”(这就很危险,比如在自动驾驶或医疗诊断中,误判可能导致灾难)。
    • 如果这只狗很“聪明”,它应该会说:“等等,这看起来不太对劲,我不确定这是什么,可能是个陌生人(Out-of-Distribution)。”

这篇论文的核心问题就是:我们在训练这只狗时,用哪种“训练方法”(损失函数)

2. 四位“训练教练”的较量

研究者找了四位著名的“教练”(四种训练目标/损失函数),让它们分别训练 AI,看看谁教出来的学生最厉害:

  1. **交叉熵教练 **(Cross-Entropy, CE)

    • 风格:最传统、最老派的教练。它只关心学生能不能把题目做对(分类准确)。
    • 比喻:就像学校里的标准考试,只要选对 ABCD 就行,不管你是怎么猜对的。
    • 表现:它是最稳健的。虽然它不专门教学生“怎么识别陌生人”,但它教出来的学生通常既认识熟人,也能比较靠谱地识别陌生人。
  2. **三元组教练 **(Triplet Loss)

    • 风格:搞“距离”的教练。它让学生记住:同类要抱在一起,异类要离得远远的。
    • 比喻:就像教学生玩“找不同”游戏,强行把猫和狗分开,把猫和浣熊也拉开距离。
    • 表现:在小班级(类别少)时很管用,但一旦班级变得超级大(比如 ImageNet 有几百种动物),它就开始晕头转向,教得乱七八糟,学生连熟人都不认识了。
  3. **原型教练 **(Prototype Loss)

    • 风格:搞“典型代表”的教练。它给每个类别画一个“标准像”(原型),让学生尽量靠近这个标准像。
    • 比喻:就像给每个动物类别画一个“标准证件照”,学生只要长得像照片就得分。
    • 表现:它教出来的学生非常擅长认出“熟人”(分类准确率极高),但在识别“陌生人”方面,虽然也不错,但并没有比传统教练强多少。
  4. **平均精度教练 **(AP Loss)

    • 风格:搞“排名”的教练。它不只看对错,更看重把“对的”排在“错的”前面。
    • 比喻:就像选秀节目,评委要把最像猫的动物排在最前面,不管是不是猫,只要比别的像就行。
    • 表现:在某些情况下表现很好,能很好地排开陌生人,但在某些复杂场景下,它的表现不如传统教练稳定。

3. 实验结果:谁赢了?

研究者让这四位教练在三个不同的“考场”(CIFAR-10, CIFAR-100, ImageNet-200)进行比赛。

  • **小考场 **(CIFAR-10):大家表现都差不多。三元组教练和排名教练在识别陌生人上稍微强一点点,但传统教练也没输。
  • 中考场 (CIFAR-100):传统教练(交叉熵)开始发力,它在识别陌生人和认识熟人之间取得了最好的平衡。原型教练虽然认识熟人很准,但识别陌生人稍微弱了一点。
  • **大考场 **(ImageNet-200):这是最关键的。当类别变得非常多、非常复杂时:
    • 传统教练 (交叉熵) 依然是冠军。它既认识熟人,又能很好地识别陌生人,非常可靠。
    • 三元组教练 彻底崩盘了,因为它处理不了那么多复杂的“距离”关系。
    • 原型教练排名教练 表现尚可,但没能超越传统教练。

4. 核心发现与启示

这篇论文得出了一个有点“反直觉”但很重要的结论:

  • 不要过度追求花哨:虽然有很多新奇的训练方法(像三元组、原型等),但在面对复杂的现实世界(尤其是类别很多时),最传统、最朴素的“交叉熵”训练方法,依然是最可靠、最均衡的选择
  • 没有免费的午餐:如果你强行用某种特殊方法去提升“识别陌生人”的能力,往往会导致“认识熟人”的能力下降,或者计算成本变得极高。
  • 实用建议:如果你正在开发一个需要安全性的 AI 系统(比如自动驾驶),在没有特殊需求的情况下,直接用传统的交叉熵训练,通常就是最稳妥的“默认设置”。

总结

这就好比在选教练:
虽然有些教练会教学生玩高难度的杂技(特殊训练目标),但在真正的实战中,那位最踏实、最懂基础教学的老教练(交叉熵),反而能培养出最全面、最不容易出错的“全能选手”。

这篇论文告诉我们要回归常识:在复杂的 AI 世界里,有时候最简单的训练方法,就是应对未知风险的最佳防线。