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

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

牛顿:Archetype AI 的开创性模型,实时解读真实世界的新宠儿

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

免费云服务器汇总,最长永久免费使用

随着云计算技术的快速发展,越来越多的企业和个人开始将业务迁移到云端。云服务器作为云计算的重要组成部分,以其灵活、高效、可扩展等特点受到广泛关注。然而,许多人在初次接触云服务器时,可能会对高昂的价格望而却步。为了帮助大…

VBA数据库解决方案第九讲:把数据库的内容在工作表中显示

《VBA数据库解决方案》教程(版权10090845)是我推出的第二套教程,目前已经是第二版修订了。这套教程定位于中级,是学完字典后的另一个专题讲解。数据库是数据处理的利器,教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法…

【C++学习】哈希的应用—位图与布隆过滤器

目录 1.位图1.1位图的概念1.2位图的实现3.位图的应用 2.布隆过滤器2.1 布隆过滤器提出2.2布隆过滤器概念2.3如何选择哈希函数个数和布隆过滤器长度2.4布隆过滤器的实现2.4.1布隆过滤器插入操作2.4.2布隆过滤器查找操作2.4.3 布隆过滤器删除 2.5 布隆过滤器优点2.6布隆过滤器缺陷…

[BT]BUUCTF刷题第13天(4.1)

第13天 Upload-Labs-Linux (Basic) Pass-01 根据题目提示&#xff0c;该题为绕过js验证。 一句话木马&#xff1a; <?php eval(system($_POST["cmd"]));?> // 符号 表示后面的语句即使执行错误&#xff0c;也不报错。 // eval() 把括号内的字符串全部…

lottery-攻防世界

题目 flag在这里要用钱买&#xff0c;这是个赌博网站。注册个账号&#xff0c;然后输入七位数字&#xff0c;中奖会得到相应奖励。 githacker获取网站源码 &#xff0c;但是找到了flag文件但是没用。 bp 抓包发现api.php&#xff0c;并且出现我们的输入数字。 根据题目给的附…

未来的技术发展趋势

文章目录 前言一、人工智能技术势必聚焦安全能力二、单云环境逐渐让位于多云环境三、后量子密码或将在美大范围普及总结前言 2023 年,与网络空间安全息息相关的人工智能等技术发展迅猛,新的信息安全时代已然拉开大幕。在目睹了 ChatGPT、“星链”和量子通信等技术展现出的巨…

【C语言】函数相关选择题

前言 关于函数相关的选择题。 题目一&#xff1a; C语言规定&#xff0c;在一个源程序中&#xff0c;main函数的位置&#xff08; &#xff09; A .必须在最开始 B .必须在库函数的后面 C .可以任意 D .必须在最后 题解&#xff1a;选择C。 main函数为C语言中整个工程的程序入…

STL优先队列比较器

有两个比较器&#xff0c;在std里面&#xff0c;一个是greater&#xff0c;一个是less&#xff0c;他们都有一个可以指定的模板类型。 #include <bits/stdc.h> using namespace std; struct node {bool operator ()(const string& a, const string& b){return a…

Linux集群部署项目

目录 一&#xff0c;环境准备 1.1.安装MySQL 1.2.安装JDK 1.3.安装TomCat 1.4.安装Nginx 二&#xff0c;部署 2.1.后台服务部署 2.2.Nginx配置负载均衡及静态资源部署 一&#xff0c;环境准备 1.1.安装MySQL 将MySQL的安装包上传至服务器 查看系统中是否存在mariadb&…

X86汇编速成

平时用的电脑都是X86的&#xff0c;但是现在大家都在搞RISC-V&#xff0c;计组也都开始以RISC-V作为示例&#xff0c;所以专门回头来补一下X86的汇编&#xff0c;方便平时使用。 寄存器register X86_64中一共有16个64位的通用寄存器&#xff0c;分别为&#xff1a; RAX, RBX,…

微信小程序开发——实现跳转公众号文章

小程序中要显示公众号的文章&#xff0c;该怎么做? 比如&#xff0c;下面的文章地址&#xff1a; 第一款小程序欢迎体验小程序&#xff0c;如有好的想法和建议请留言&#xff0c;不胜感激&#xff01;https://mp.weixin.qq.com/s?__bizMzI2MjQ4Mzg0NA&mid2247483669&…

ThinkPhp8 框架使用 mysql find_in_set 函数

前言: 使用mysql 存储一些标签时 会使用逗号拼接的存储方法 比如 1,2,3,11 一般情况下 查询 1 可能会用到 like %1% 但这样查询的不够准确 因为11也会被查询到 如果每次都多一个逗号 1,2,3,11, 查询时 like %1,% 这样存储有点不太符合程序设计 解决方案 ----------- 官网…

Go协程池gopool源码解析

1、gopool简介 Repository&#xff1a;https://github.com/bytedance/gopkg/tree/develop/util/gopool gopool is a high-performance goroutine pool which aims to reuse goroutines and limit the number of goroutines. It is an alternative to the go keyword. gopool的…

基于Difussion图像、视频生成综述

2024年大年初七&#xff08;02.16&#xff09;OpenAI 发布视频生成模型 Sora 在各大平台转疯了&#xff0c;和2022年发布ChatGPT3.5时一样的疯狂。在开工第一天&#xff0c;我就去官网上看了 Sora 的技术报告&#xff0c;遗憾的是&#xff0c;在这份技术报告中只披露了一些模型…

memcached集群

一、介绍 memcache本身没有像redis所具备的数据持久化功能&#xff0c;但是可以通过做集群同步的方式&#xff0c;让各memcache服务器的数据进行同步&#xff0c;从而实现数据的一致性&#xff0c;即保证各memcache的数据是一样的&#xff0c;即使有任何一台memcache发生故障&…

2024-04-07 作业

作业要求&#xff1a; 1> 思维导图 2> 自由发挥应用场景实现一个登录窗口界面。 【可以是QQ登录界面、也可以是自己发挥的登录界面】 要求&#xff1a;尽量每行代码都有注释 作业1&#xff1a; 作业2&#xff1a; 运行代码&#xff1a; #include "myqwidget.h&quo…

提高网站安全性,漏洞扫描能带来什么帮助

随着互联网的蓬勃发展&#xff0c;网站已经成为人们获取信息、交流思想、开展业务的重要平台。然而&#xff0c;与之伴随的是日益严重的网络安全问题&#xff0c;包括恶意攻击、数据泄露、隐私侵犯等。 为了保障网站的安全性&#xff0c;提前做好网站的安全检测非常有必要&…

Spring学习笔记:IOC控制反转、AOP面向切面

挺快的&#xff0c;框架这一部分 文章目录 一、Spring概述入门案例导入依赖包在src下写配置文件创建普通类和测试类 二、IOC&#xff08;控制反转&#xff09;2.1 IOC bean 的XML操作&#xff08;创建对象&#xff0c;注入属性2.2 IOC bean 的 注解 操作 三、AOP&#xff08;面…

「每日跟读」英语常用句型公式 第6篇

「每日跟读」英语常用句型公式 第6篇 1. As ___ as possible 越 ___ 越好 As soon as possible (ASAP)(越快越好) As happy as possible (越快乐越好) As prepared as possible (越有准备越好) As much/many as possible (越多越好 *不可数/可数) As early as possible …