当前位置: 首页 > news >正文

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

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Nextjs14 大优化!性能提升50%!
  • 【强化学习的数学原理-赵世钰】课程笔记(二)贝尔曼公式
  • 针孔相机、鱼眼相机、全景相机
  • 每天五分钟掌握深度学习框架pytorch:本专栏说明
  • 机器学习实战17-高斯朴素贝叶斯(GaussianNB)模型的实际应用,结合生活中的生动例子帮助大家理解
  • ts中的类型简介
  • 如何使用 Midjourney?2024年最新更新
  • 基于Socket简单的UDP网络程序
  • 20240325-1-HMM
  • ChernoCPP 2
  • Typora段内公式
  • nssm 工具把asp.net core mvc变成 windows服务,使用nginx反向代理访问
  • 新概念英语1:Lesson 19 学习笔记
  • 【华为OD机试】芯片资源限制(贪心算法—JavaPythonC++JS实现)
  • 图像处理环境配置opencv-python
  • 《深入 React 技术栈》
  • 【从零开始安装kubernetes-1.7.3】2.flannel、docker以及Harbor的配置以及作用
  • 【跃迁之路】【641天】程序员高效学习方法论探索系列(实验阶段398-2018.11.14)...
  • CSS居中完全指南——构建CSS居中决策树
  • Elasticsearch 参考指南(升级前重新索引)
  • Hexo+码云+git快速搭建免费的静态Blog
  • JAVA 学习IO流
  • javascript从右向左截取指定位数字符的3种方法
  • JavaScript的使用你知道几种?(上)
  • javascript面向对象之创建对象
  • Java程序员幽默爆笑锦集
  • Java精华积累:初学者都应该搞懂的问题
  • Linux后台研发超实用命令总结
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • Median of Two Sorted Arrays
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • PAT A1120
  • Python 基础起步 (十) 什么叫函数?
  • vue-cli在webpack的配置文件探究
  • Wamp集成环境 添加PHP的新版本
  • 高度不固定时垂直居中
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 关于for循环的简单归纳
  • 记一次删除Git记录中的大文件的过程
  • 聚类分析——Kmeans
  • 聊聊flink的BlobWriter
  • 前端_面试
  • 强力优化Rancher k8s中国区的使用体验
  • 试着探索高并发下的系统架构面貌
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • 通信类
  • 我感觉这是史上最牛的防sql注入方法类
  • 学习HTTP相关知识笔记
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • 你对linux中grep命令知道多少?
  • 如何正确理解,内页权重高于首页?
  • 树莓派用上kodexplorer也能玩成私有网盘
  • ​LeetCode解法汇总2583. 二叉树中的第 K 大层和
  • ​十个常见的 Python 脚本 (详细介绍 + 代码举例)
  • # Redis 入门到精通(七)-- redis 删除策略