目录
研究背景
原因1:不一致的测试OOD数据集。
原因2:令人困惑的术语。
原因3:错误的操作。
1. 庞大、模块化的代码库。
2. 可一键测试的评估器。
3. 在线排行榜。
4. 实验结果中的新发现。
问题描述
标准OOD检测
全谱OOD检测
为什么全谱OOD检测很重要?
实验结果及新发现
发现1:没有赢家通吃(no single winner)。
发现2:数据增强有效(data augmentations help)。
发现3:全谱OOD检测对现有方法提出了挑战(full-spectrum detection poses challenge for current detectors)。
展望
首页 科技周边 人工智能 OpenOOD更新v1.5:全面、精确的分布外检测代码库及测试平台,支持在线排行榜、一键测试

OpenOOD更新v1.5:全面、精确的分布外检测代码库及测试平台,支持在线排行榜、一键测试

Jul 03, 2023 pm 04:41 PM
性能 数量 openood

分布外(OOD)检测对于开放世界智能系统的可靠运行至关重要,但目前面向对象的检测方法存在「评估不一致」(evaluation inconsistencies)的问题。

之前的工作OpenOOD v1统一了OOD检测的评估,但在可扩展性和可用性方面仍然存在限制。

最近开发团队再次提出OpenOOD v1.5,相比上一版本,新的OOD检测方法评估在确保准确、标准化和用户友好等方面得到显著提升。

OpenOOD更新v1.5:全面、精确的分布外检测代码库及测试平台,支持在线排行榜、一键测试图片

Paper: https://arxiv.org/abs/2306.09301

OpenOOD Codebase: https://github.com/Jingkang50/OpenOOD

OpenOOD Leaderboard: https://zjysteven.github.io/OpenOOD/

值得注意的是,OpenOOD v1.5将其评估功能扩展到ImageNet等大规模数据集,研究了重要但尚未开发的全谱OOD检测,并引入了新功能,包括在线排行榜和易于使用的评估器。

这项工作也有助于深入的分析和见解来自全面的实验结果,从而丰富了知识库的OOD检测方法。

通过这些增强,OpenOOD v1.5旨在推动OOD研究的进展,并为OOD检测研究提供更强大和更全面的评估基准。

研究背景

对于训练好的图像分类器,能让其可靠地在开放世界中工作的一个关键能力便是检测未知的、分布外的(out-of-distribution, OOD)样本。

例如我们利用一组猫狗照片训练出了一个猫狗分类器。对于分布内的(in-distribution, ID)样本,也就是这里的猫、狗图片,我们自然期待分类器能够准确地将它们识别到相应的类别中去。

而对于分布外的OOD样本,也就是除了猫狗之外的任何图片(例如飞机、水果等等),我们希望模型能够检测出它们是未知的、新颖的物体/概念,因而无法将它们判别到分布内的猫或狗任何一类中。

这个问题便是分布外检测(OOD detection),其近年来吸引了广泛的关注,新工作层出不穷。然而领域快速扩张的同时,追踪、衡量领域的发展现状却由于种种原因成了一件难事。

原因1:不一致的测试OOD数据集。

深度学习各个任务的快速发展都离不开统一的测试数据集(就像图像分类有CIFAR,ImageNet,物体检测有PASCAL VOC,COCO)。

然而不幸的是OOD检测领域一直以来都缺乏统一的、被广泛采用的OOD数据集。这就造成了在上图中,当我们回看已有工作的实验设定时,会发现所用的OOD数据十分不一致(例如对于CIFAR-10是ID数据的情况,有些工作使用MNIST,SVHN作为OOD,有些工作使用CIFAR-100,Tiny ImageNet作为OOD)。在这样的情况下,直接公平地比较全部方法面临巨大困难。

原因2:令人困惑的术语。

除了OOD检测外,另外一些术语比如“开集识别”(Open-Set Recognition, OSR),“新类检测”(Novelty Detection)也常常出现在文献中。

它们本质上都在关注同一个问题,仅在一些实验设定的细节上有着微小差别。然而不同的术语会导致方法之间形成不必要的分支,例如OOD检测和OSR就曾经被当作是两个独立的任务,而不同分支之间的方法(尽管在解决同一个问题)也很少被放在一起比较。

原因3:错误的操作。

在许多工作中,研究者们往往直接使用OOD测试集中的样本来调参甚至训练模型。这样的操作会对方法的OOD检测能力做出高估。

以上的问题显然是对领域的有序发展不利的,我们迫切需要一个统一的基准和平台来测试评估现有以及未来的OOD检测方法。

OpenOOD 在这样的挑战下应运而生。其第一版迈出了重要的一步,然而有着规模小、可用性有待提升的问题。

因此在OpenOOD全新版本v1.5中,我们进一步做了加强和升级,试图打造一个全面、准确、易用的测试平台供广大研究者使用。

总结来看,OpenOOD有着如下重要的特性和贡献:

1. 庞大、模块化的代码库。

该代码库将模型结构、数据预处理、后处理器、训练、测试等等进行了解藕及模块化,方便复用以及开发。目前OpenOOD实现了近40种最先进的针对图像分类任务的OOD检测方法。

OpenOOD更新v1.5:全面、精确的分布外检测代码库及测试平台,支持在线排行榜、一键测试图片

2. 可一键测试的评估器。

如上图所示,仅用几行代码,OpenOOD的评估器就可以在指定的ID数据集上给出所提供的分类器、后处理器的OOD检测测试结果。

相应的OOD数据是由评估器内部所确定并提供的,这保证了测试的一致性和公平性。该评估器也同时支持标准OOD检测(standard OOD detection)和全谱OOD检测(full-spectrum OOD detection)两种场景(后文会有更多介绍)。

3. 在线排行榜。

利用OpenOOD,我们在CIFAR-10,CIFAR-100, ImageNet-200,ImageNet-1K四个ID数据集上比较了近40种OOD检测方法的性能,并将结果制作成了公开排行榜。希望能够帮助大家随时了解领域内最有效、最有潜力的方法。

4. 实验结果中的新发现。

根据OpenOOD全面的实验结果,我们在论文中提供了许多新发现。例如,尽管看起来与OOD检测关系不大,但数据增强(data augmentation)实际上能有效提升OOD检测的性能,且这方面提升与具体OOD检测手段带来的提升是正交、互补的。

另外,我们发现已有方法在全谱OOD检测上的表现并不尽如人意,这也将是未来领域内一个重要的待解决问题。

问题描述

这一部分会简略、通俗地描述标准与全谱OOD检测的目标。对于更详细、正式的描述,欢迎大家阅读我们的论文。

OpenOOD更新v1.5:全面、精确的分布外检测代码库及测试平台,支持在线排行榜、一键测试图片

首先讨论一些背景。在我们所考虑的图像分类场景下,分布内(ID)数据是由相应的分类任务所定义的。例如对于CIFAR-10分类,ID分布就对应着它的10个语义类别。

OOD的概念是相对于ID形成的:ID语义类别之外的、与ID类别不同的任何语义类别所对应的图片都是分布外OOD图片。与此同时,我们需要讨论如下两种类型的分布偏移(distributional shift)。

Semantic Shift:深层语义层面上的分布变化,对应上图横轴。例如训练时语义类别是猫、狗,测试时语义类别是飞机、水果。

Covariate Shift:表层统计层面上的分布变化(而语义不变),对应上图纵轴。例如训练时是猫、狗的干净自然照片,测试时是加了噪声或手绘的猫、狗图片。

有了上述背景,再结合上图就可以很好理解标准以及全谱OOD检测。

标准OOD检测

目标(1):在ID分布上训练一个分类器,使其能够准确对ID数据进行分类。这里假设测试ID数据与训练ID数据不存在covariate shift。

目标(2):基于训练好的分类器,设计OOD检测方法使其能够对任意样本进行ID/OOD的二分类区分。在上图中对应的是将(a)和(c) + (d)区分开来。

全谱OOD检测

目标(1):与标准OOD检测类似,但区别在于考虑了covariate shift,也就是无论测试ID图片相比训练图片是否有covariate shift,分类器都需要精准分类到相应的ID类别中(例如猫狗分类器不仅应该准确分类“干净”猫狗图片,还应当能泛化到带噪、模糊的猫狗图片上)。

目标(2):同样考虑covariate-shifted ID样本,需要将其与正常(没有covariate shift)的ID样本一同与OOD样本判别开来。对应上图中区分(a) + (b)和(c) + (d)。

为什么全谱OOD检测很重要?

熟悉的小伙伴可能已经发现,全谱OOD检测中的目标(1)实际上对应着另一个很重要的研究课题——分布外泛化(OOD generalization)。

需要澄清一下,OOD泛化中的OOD指的是存在covariate shift的样本,而OOD检测中的OOD指的是存在semantic shift的样本。

这两种偏移(shift)都是现实世界中十分常见的,然而现有的OOD 泛化和标准OOD检测都仅仅只考虑了其中一种而忽略了另一种。

与之相反,全谱OOD检测在同一场景下将两种偏移自然地考虑在了一起,更准确地反映了我们对于一个理想分类器在开放世界中表现的预期。

实验结果及新发现

在1.5版本中,OpenOOD对近40种方法在6个基准(benchmark)数据集(4个针对标准OOD检测,2个针对全谱OOD检测)上做了统一、全面的测试。

论文中对所实现的方法及数据集都进行了描述,欢迎大家查阅。全部实验也都可以在OpenOOD的代码库中复现。这里我们直接讨论从对比结果中得到的发现。

OpenOOD更新v1.5:全面、精确的分布外检测代码库及测试平台,支持在线排行榜、一键测试图片

发现1:没有赢家通吃(no single winner)。

在上表中,不难发现并没有任何一个方法能够在全部基准数据集上持续地给出突出表现。

例如后处理的方法(post-hoc inference methods)ReAct和ASH在大数据集ImageNet上表现优异,但在CIFAR上相比其他方法并没有优势。

与之相反,一些在训练中加入约束的方法(training methods),例如RotPred和LogitNorm,在小数据集上要优于后处理方法,但在ImageNet上并不突出。

发现2:数据增强有效(data augmentations help)。

如上表所示,尽管数据增强并不是专门为OOD检测所设计的,但它们却能有效提升OOD检测的表现。更令人惊喜的是,数据增强带来的提升与具体OOD后处理方法带来的提升是互相放大的。

这里以AugMix为例,当它与最简单的MSP后处理器结合时,在ImageNet-1K near-OOD检测率上达到了77.49%,仅比不适用数据增强的交叉熵损失(corss-entropy loss)训练的检测率77.38%高1.47%。

然而当AugMix与更先进的ASH后处理器结合时,相应的检测率比交叉熵基线高了3.99%,并达到了我们测试中最高的82.16%。这样的结果显示了数据增强与后处理器的结合对于未来进一步提升OOD检测能力是非常有潜力的。

发现3:全谱OOD检测对现有方法提出了挑战(full-spectrum detection poses challenge for current detectors)。

从上图中可以清晰的看出,当场景从标准OOD检测切换为全谱OOD检测时(也即在测试ID数据中加入了covariate-shifted ID图片),绝大多数方法的性能都表现出了显著的退化(大于10%的检测率的下降)。

这代表着当前方法倾向于将实际语义未发生变化的covariate-shifted ID图片标记为OOD。

该行为与人类的感知(同时也是全谱OOD检测的目标)是相悖的:假设一个人类标记员在标记猫狗图片,此时给他/她出示带噪、模糊的猫狗图片,他/她应当仍会识别出那是猫/狗,是分布内ID数据而不是未知的分布外OOD数据。

总的来看,目前方法无法有效地解决全谱OOD检测,而我们相信这将是未来领域内的一大重要问题。

此外还有许多发现没有列在这里,例如数据增强对于全谱OOD检测仍旧有效等等。再次欢迎大家阅读我们的论文。

展望

我们希望OpenOOD的代码库、测试器、排行榜、基准数据集以及详实的测试结果能够汇集各路研究人员的力量一起来推动领域发展。十分期待大家使用OpenOOD进行OOD检测的开发、测试。

我们也欢迎任意形式的对OpenOOD的贡献,包括但不限于提出反馈,将最新的方法添加到OpenOOD代码库和排行榜中,扩展未来版本OpenOOD等等。

参考资料:https://arxiv.org/abs/2306.09301

以上是OpenOOD更新v1.5:全面、精确的分布外检测代码库及测试平台,支持在线排行榜、一键测试的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

vivox100s和x100区别:性能对比及功能解析 vivox100s和x100区别:性能对比及功能解析 Mar 23, 2024 pm 10:27 PM

vivox100s和x100手机都是vivo手机产品线中的代表机型,它们分别代表了vivo在不同时间段内的高端技术水平,因此这两款手机在设计、性能和功能上均有一定区别。本文将从性能对比和功能解析两个方面对这两款手机进行详细比较,帮助消费者更好地选择适合自己的手机。首先,我们来看vivox100s和x100在性能方面的对比。vivox100s搭载了最新的

如何在Windows 11中显示隐藏的性能覆盖 如何在Windows 11中显示隐藏的性能覆盖 Mar 24, 2024 am 09:40 AM

在本教程中,我们将帮助您显示Windows11中隐藏的性能覆盖。使用Windows11的性能覆盖功能,您将能够实时监视您的系统资源。您可以在电脑屏幕上查看实时的CPU使用率、磁盘使用率、GPU使用率、RAM使用率等。当您在玩游戏或使用大型图形程序(如视频编辑器)并需要检查使用特定程序时系统性能受到多大程度的影响时,这是很方便的。尽管有一些优秀的免费软件可用于监控系统性能,并且一些内置工具(如资源监视器)可用于检查系统性能,但性能叠加功能也有其优势。比如,您无需离开当前正在使用的程序或应用,也无需

Windows10与Windows11性能对比:哪个更胜一筹? Windows10与Windows11性能对比:哪个更胜一筹? Mar 28, 2024 am 09:00 AM

Windows10与Windows11性能对比:哪个更胜一筹?随着科技的不断发展和进步,操作系统也在不断更新和升级。微软公司作为全球最大的操作系统开发商之一,其发布的Windows系列操作系统一直备受用户关注。在2021年,微软发布了Windows11操作系统,这引发了广泛的讨论和关注。那么,究竟Windows10与Windows11在性能方面有何不同,哪个

Win11和Win10系统性能对比,究竟哪一个更胜一筹? Win11和Win10系统性能对比,究竟哪一个更胜一筹? Mar 27, 2024 pm 05:09 PM

一直以来,Windows操作系统一直是人们在个人电脑上使用最为广泛的操作系统之一,而Windows10长期以来一直是微软公司的旗舰操作系统,直到最近微软推出了全新的Windows11系统。随着Windows11系统的推出,人们对于Windows10和Windows11系统之间的性能差异开始感兴趣,究竟两者之间哪一个更胜一筹呢?首先,让我们来看一下W

麒麟8000处理器抗衡骁龙系列:谁能称王? 麒麟8000处理器抗衡骁龙系列:谁能称王? Mar 25, 2024 am 09:03 AM

在移动互联网时代,智能手机已经成为人们日常生活中不可或缺的一部分。而智能手机的性能表现往往直接决定了用户体验的好坏。作为智能手机的“大脑”,处理器的性能表现尤为重要。在市场上,高通骁龙系列一直以来都是性能强劲、稳定可靠的代表,而最近华为也推出了自家研发的麒麟8000处理器,据称性能优异。对于普通用户来说,如何选择一款性能强劲的手机成为一个关键问题。今天我们就

PHP与Go语言对比:性能差异大 PHP与Go语言对比:性能差异大 Mar 26, 2024 am 10:48 AM

PHP与Go语言是两种常用的编程语言,它们有着不同的特点和优势。其中,性能差异是大家普遍关注的一个问题。本文将从性能角度对比PHP和Go语言,并通过具体的代码示例来展示它们的性能差异。首先,让我们简要介绍一下PHP和Go语言的基本特点。PHP是一种脚本语言,最初设计用于Web开发,易学易用,广泛应用于Web开发领域。而Go语言是由Google开发的一种编译型

本地运行性能超越 OpenAI Text-Embedding-Ada-002 的 Embedding 服务,太方便了! 本地运行性能超越 OpenAI Text-Embedding-Ada-002 的 Embedding 服务,太方便了! Apr 15, 2024 am 09:01 AM

Ollama是一款超级实用的工具,让你能够在本地轻松运行Llama2、Mistral、Gemma等开源模型。本文我将介绍如何使用Ollama实现对文本的向量化处理。如果你本地还没有安装Ollama,可以阅读这篇文章。本文我们将使用nomic-embed-text[2]模型。它是一种文本编码器,在短的上下文和长的上下文任务上,性能超越了OpenAItext-embedding-ada-002和text-embedding-3-small。启动nomic-embed-text服务当你已经成功安装好o

PHP 数组键值翻转:不同方法的性能对比分析 PHP 数组键值翻转:不同方法的性能对比分析 May 03, 2024 pm 09:03 PM

PHP数组键值翻转方法性能对比表明:array_flip()函数在大型数组(超过100万个元素)下比for循环性能更优,耗时更短。手动翻转键值的for循环方法耗时相对较长。

See all articles