ICLR24_OUT-OF-DISTRIBUTION DETECTION WITH NEGATIVE PROMPTS

摘要

分布外检测(OOD Detection)的研究对于开放世界(open-world)学习非常重要。受大模型(CLIP)启发,部分工作匹配图像特征和提示来实现文本-图像特征之间的相似性。

现有工作难以处理具有与已知类别相似特征的OOD样本直接的方法是引入负面提示以实现不相似性匹配,通过判断特定特征是否缺失来评估图像是否已知。然而实验结果表明,使用类似"not a photo of a"的负面提示(或者为所有已知类别学习一个共享非本类提示)无法捕捉能够区分OOD的特征,其中原因可能是负面特征的多样性(可能有大量不同的特征均不属于已知类别)

方法:提出为每个类别学习一组负面提示。学习的正面提示(适用于所有类别)和负面提示(针对每个类别)同时用于在特征空间中测量相似性和不相似性,从而更准确地检测OOD样本

Intro.

核心问题:OOD检测任务需要同时处理已知类分类与分布外检测,然而进行ID分类的特征与区分OOD的特征不同。作者认为分类需要学习的特征相对OOD检测更少
在这里插入图片描述

一种有效的解决方案涉及利用像CLIP等大模型,CLIP可以为所有类别生成独特的图像特征,包括ID和OOD。***如何利用CLIP提取的特征进行OOD检测?***现有方法通过匹配图像特征与ID类别的文本特征之间的相似性来实现。手工制作或学习的提示,如“a photo of a [class]”输入文本编码器以计算文本特征。这些文本特征与图像特征之间的余弦相似度决定了样本属于“[class]”的可能性。

局限:完全依赖于ID类别的正面特征。当给定的老虎图像输入,而提供“a photo of a cat”作为提示时,CLIP会分配高分,因为老虎与猫有相似的图像特征,如耳朵,但忽略了将老虎与猫区分开来的独特特征

为解决这一挑战提出构建负面提示,例如“not a photo of a”。直觉是利用“not a photo of a”的负面提示来实现不相似性匹配。例如“not a photo of a cat”,通过这个提示,目标是引导CLIP的注意力转向图像中与猫无关的特征(即负面特征)。**“不是一张猫的照片”的描述对于猫来说是不正确的提示,但对于老虎来说是准确的。**然而,构造有效的负面提示具有一定的挑战性。实验结果表明,简单地将“not a photo of a cat”作为负面提示使用,一张猫的照片的匹配分数要高于一张老虎的照片。
在这里插入图片描述

Contributions:

  • 提出使用负面提示
  • CLIP本身对“not”的理解有限,提升其能力
  • 实验验证有效性

Method

在这里插入图片描述
由于CLIP对“not”在句中出现的处理相对无效,使用原始的“this is not a photo of”的负面提示并不能产生预期的效果。本方法正面提示被设计为在各个类别之间共享,而负面提示被设计为特定于每个类别。

Negative Classifier

许多OOD检测方法通过分析神经网络在ID样本上的预测属性来识别OOD样本(以传统方式训练的神经网络被称为正分类器)。这些方法的性能在很大程度上依赖于训练好的模型提取特征的质量。提出为每个ID类别学习一个负分类器来挖掘负特征。对于第 c c c 个负分类器,它需要挖掘类别 l c l_c lc 样本没有但所有其他类别的样本都有的一般负特征。因此,第 c c c 个负分类器将对来自类别 l c l_c lc 的样本产生低激活,并对其他类别产生高激活。通过学习额外的负分类器,模型能够基于不同特征从两个方面决策
在这里插入图片描述

Negative prompt learning

根据Fig.5的描述,负提示应该满足以下两个属性:

  • 类别 l c l_c lc 负提示的表示 V ~ ( l c ) = [ v 1 , v 2 , . . . , v L , w c ] \tilde{\boldsymbol{V}}(l_c)=[\boldsymbol{v}_1, \boldsymbol{v}_2, ..., \boldsymbol{v}_L,\boldsymbol{w}_c] V~(lc)=[v1,v2,...,vL,wc] 应在对应类别的图片上给出低匹配度
  • 由于“this is not a photo of a [CLASS]”对非 l c l_c lc 类的图像都是正确描述,因此对除了 l c l_c lc 类的图像都应该产生高匹配度
    在这里插入图片描述
    损失函数的设计参考 CoCoOp:
    在这里插入图片描述
    **正面提示学习中,一个类的大多数正面特征都由类名传递,而学习的正面提示仅用作校准,因此为所有类学习一个统一的正面提示。**然而,在负面提示学习中,一个类的负面特征不能由类名传递,而应包含在学习的负面提示中,并且一个类的负面特征通常是多样的。对于每个类,学习一组负面提示并鼓励学习到的负面提示通过以下语义正交损失具有差异性:
    在这里插入图片描述
    打分函数在最大的正面提示结果与最小的负面提示之间作差:
    在这里插入图片描述

Experiments

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/527074.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

灵活就业人员规模已达2亿人?财会卷王们如何在“卷卷卷”中脱颖而出?

先来看几个数据: 1️⃣2022年全国大学生毕业人数突破1000万,而2023年突破1100万; 2️⃣有超过200万海外留学生,即将回国就业; 3️⃣全国灵活就业人员规模已达2亿人。 (图源:互联网&#xff0…

CSS变换

CSS变换 根据 CSS 的变换的功能特性,它可以分为位移、旋转、缩放、倾斜和透视: 也可以分成2D变换和3D变换,2D变换是二维平面上进行的,即 X 轴和 Y 轴。这些变换不涉及 Z 轴。3D 变换允许元素在三维空间中进行操作,这些…

Linux——计算机进程基础知识

计算机基础知识 1.计算机组成五大部件: (1) 运算器 :也叫算数逻辑单元,完成对数据的各种常规运算,如加减乘除,也包括逻辑运算,移位,比较等。 (2) 控制器 : 它是整个计算机系统的控制中心&…

Maven的scope详解

依赖范围介绍 maven 项目不同的阶段引入到classpath中的依赖是不同的,例如,编译时,maven 会将与编译相关的依赖引入classpath中,测试时,maven会将测试相关的的依赖引入到classpath中,运行时,mav…

三星:HBM4的16层堆叠技术验证成功

随着人工智能、大数据分析、云计算及高端图形处理等领域对高速、高带宽存储需求的激增,下一代高带宽内存(High Bandwidth Memory, HBM)——HBM4已成为全球存储芯片巨头三星、SK海力士和美光竞相追逐的技术高地。 随着AI、机器学习以及高性能…

Linux 5.10 Pstore 功能测试

目录 简介环境配置内核配置参考备注 简介 Pstore(Persistent store support)是用于系统发生oops或panic时,自动保存内核log buffer中的日志。随着功能不断完善,Duo S使用Linux 5.10已经支持保存console日志、ftrace消息和用户空间日志的收集&#xff0c…

JavaScript - 你能说出解决跨域的一些方案吗

难度级别:中高级及以上 提问概率:65% 回答解决跨域之前,首先建议求职者描述什么是跨域。跨域问题是浏览器基于同源策略引起的,同源策略是浏览器的一种安全功能。同源要保证域名相同,或是被访问服务的协议+主机+端口都相同,那么反之这些属…

信阳附大医院-市民心中的健康守护者

信阳附大医院,一所集医疗、预防、保健、科研、教学、康复于一体的现代化综合医院,坐落于信阳市工区路600号,是市卫生部门批准成立的医疗机构,更是市民心中的健康守护者. 医院环境优雅,设施先进,服务周到,汇聚了一支技术精湛、经验丰富的医疗团队.医师们以患者为中心,用心倾听,精…

Hybrid混合开发 和 Android平台JSBridge的原理

书接上篇:移动端研发技术的进化历程 纯原生开发主要面临动态化和开发成本两个问题,而针对这两个问题,诞生了一些跨平台的动态化框架。 针对原生开发面临的问题,业界一直都在努力寻找好的解决方案,而时至今日&#xf…

matlab学习001-简单的矩阵输入及绘制信号曲线

目录 1,熟悉简单的矩阵输入 1.1,创建矩阵 1.2,在命令行调用文件中的变量 1.3,ones函数 1.4,who和whos的使用 2,绘制信号曲线 2.1,实指数信号 2.2,频率为50Hz的周期方波信号…

【Linux】软硬链接 / 动静态库

目录 一. 软硬链接1. 硬链接2. 软链接3. unlink4. 目录的硬链接 二. 动静态库1.1 静态库制作1.2 静态库使用2.1 动态库制作2.2 动态库使用3. 动态链接原理 一. 软硬链接 1. 硬链接 硬链接(hard link) 可以将它理解为原始文件的别名, 和原始文件使用相同的 inode 编号和 data …

动态规划:背包问题合集

01背包 定义dp[i][j]&#xff1a;在前i件物品中选出若干件&#xff0c;放入容量为j的背包&#xff0c;能获得的最大价值。 考虑第i件物品拿还是不拿。讨论c[i]与背包容量的关系&#xff1a; &#xff08;1&#xff09;j < c[i] 时&#xff0c;背包容量为j&#xff0c;而第…

C++进阶编程 --- 3(上).string容器、vector容器、deque容器、stack容器

文章目录 第三章(上)&#xff1a;3.STL 常用容器3.1 string容器3.1.1 string基本概念3.1.2 string构造函数3.1.3 string赋值操作3.1.4 string字符串拼接3.1.5 string查找和替换3.1.6 string字符串比较3.1.7 string字符存取3.1.8 string插入与删除3.1.9 string子串 3.2 vector容…

14届蓝桥杯 C/C++ B组 T5 接龙排序 (最长上升子序列DP+优化)

不难发现这是一个LIS问题&#xff0c;但是如果直接套用LIS的模版&#xff0c;在数据范围到达 1 e 5 1e5 1e5 的情况下&#xff0c;就只能够得到一半的分数&#xff0c;所以我们需要对其进行优化。 首先给出暴力的代码&#xff1a; #include<iostream> using namespace…

Linux虚拟网络设备深度解析:使用场景、分类与开发者指南

Linux虚拟网络设备支撑着各种复杂的网络需求和配置&#xff0c;从基础的网络桥接到高级的网络隔离和加密&#x1f510;。以下是对主要Linux虚拟网络设备的介绍、它们的作用以及适用场景的概览&#xff0c;同时提出了一种合理的分类&#xff0c;并指出应用开发人员应该着重掌握的…

vue2/vue3手写专题——实现双向绑定/响应式拦截/虚拟DOM/依赖收集

目录 vue双向绑定 请手动实现一个简单的双向绑定功能&#xff0c;要求实现以下功能&#xff1a; 1.使用原生javaScript 2.使用vue非v-model方式实现 思考&#xff1a;vue为什么要做双向绑定&#xff1f; 虚拟DOM/Render函数 将给定html片段写出Virtual Dom结构、并尝试挂载到页…

【面试】运算器-⑪搜索旋转排序数组

先存一下后面要用的字符⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳ 33. 搜索旋转排序数组 感谢力扣&#xff01; 整数数组 nums 按升序排列&#xff0c;数组中的值 互不相同 。 在传递给函数之前&#xff0c;nums 在预先未知的某个下标 k&#xff08;0 < k < nums.length&#xff09;上进行了…

《UE5_C++多人TPS完整教程》学习笔记31 ——《P32 角色移动(Character Movement)》

本文为B站系列教学视频 《UE5_C多人TPS完整教程》 —— 《P32 角色移动&#xff08;Character Movement&#xff09;》 的学习笔记&#xff0c;该系列教学视频为 Udemy 课程 《Unreal Engine 5 C Multiplayer Shooter》 的中文字幕翻译版&#xff0c;UP主&#xff08;也是译者&…

S32K324 数据初始化Rom到Ram Copy的方式

文章目录 前言基础知识ld文件中的段定义ld文件中的符号定义 ld定义copy地址范围启动文件中的定义Copy的使用总结 前言 之前一直不理解在ld文件中加__xxx_ram_start,__xxx_rom_start,__xxx_rom_end这些的作用&#xff0c;也不清楚原理。前几天遇到一个内存copy的问题&#xff0…

云计算(五)—— OpenStack基础环境配置与API使用

OpenStack基础环境配置与API使用 项目实训一 【实训题目】 使用cURL命令获取实例列表 【实训目的】 理解OpenStack的身份认证和API请求流程。 【实训准备】 &#xff08;1&#xff09;复习OpenStack的认证与API请求流程的相关内容。 &#xff08;2&#xff09;熟悉cURL…