【prompt四】Domain Prompt Learning for Efficiently Adapting CLIP to Unseen Domains

motivation

领域泛化(DG)是一个复杂的迁移学习问题,旨在学习未知领域的可泛化模型。最近的基础模型(FMs)对许多分布变化都具有鲁棒性,因此,应该从本质上提高DG的性能。在这项工作中,我们研究了采用视觉语言基础模型CLIP来解决图像分类中的DG问题的通用方法。虽然ERM使用标准DG基准极大地提高了更大的主干和训练数据集的准确性,但在许多实际情况下,微调fm是不切实际的。我们提出了DPL(领域提示学习)作为一种以条件提示生成形式进行领域推理的新方法。

DPL只需要训练一个轻量级的提示生成器(三层MLP),其参数与之前DG文献中的分类投影仪的规模相当,就可以显著提高DPL的精度。DPL与CLIP的结合提供了令人惊讶的性能,在几个标准数据集(即PACS, VLCS, OfficeHome和TerraIncognita)上将zero-shotCLIP的准确率从73.7%提高到79.3%。

1.introduce

像对比语言图像预训练(CLIP)这样的大型预训练视觉语言模型是一种新兴的模型,在学习跨许多视觉任务的可转移表征方面显示出巨大的潜力。CLIP的核心是通过将图像的表示与图像的文本描述的表示进行对比来学习图像表示,例如“一张{类名}的照片”。文本描述通常被称为提示,其设计对于提高CLIP性能至关重要。值得注意的是,CLIP可以处理看不见的类,而无需通过使用目标类名适当地更改文本描述来对它们进行微调。

本文使用DomainBed研究了CLIP对各种分布变化的鲁棒性,DomainBed是最近提出的DG设置基准。虽然之前的工作在基准测试中测试了各种DG方法,但研究最多的是集中在中等规模的预训练模型上,如ResNet18或ResNet50。在DG设置中利用CLIP有两种最简单的方法(图2)。第一种方法是对CLIP训练的图像编码器进行微调,类似于ResNet和ViT等其他视觉模型。CLIP训练的骨干网络大大优于许多仅在图像上训练的骨干网络,如ResNet、big transfer和vision transformer 。然而,与此同时,微调有时会降低某些领域的性能,这表明微调可能会扭曲预训练特征的良好特性。另一个简单方法是设计模板提示符,例如“一个{类名}的照片”。这种方法的明显优点是,它不需要优化任何网络,因此,通过预训练保持表征学习。尽管它很简单,但zero-sho CLIP在许多DG基准上仍然比在源域上微调的视觉骨干(例如ResNet18, ResNet50, ViT-B16)更稳健,而它不如由CLIP训练的微调视觉骨干。

在DG中应用CLIP的三种方法的概念说明。

(1)微调用可训练的分类器更新CLIP的图像编码器。

(2)在不更新训练域参数的情况下,在测试时使用手工提示进行zero-sho CLIP对比预测。

(3)提示学习训练一个提示优化器,然后利用优化后的提示进行预测。

DPL分属于(3)提示学习,它在训练阶段训练一个提示生

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

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

相关文章

Node.js安装及环境配置详细教程

一、下载Node.js安装包 官网下载链接[点击跳转] 建议下载LTS版本(本教程不适用于苹果电脑) 二 、安装Node.js 2.1 下载好安装包后双击打开安装包,然后点击Next 2.2 勾选同意许可后点击Next 2.3 点击Change选择好安装路径后点击Next&#…

Ubuntu下anaconda迁移到另外的目录

文章目录 前言一、原因二、迁移1.复制到指定迁移目录2. 修改复制后的anaconda3 内容3. 修改对应搭建的每个环境的pip4.修改系统配置文件,使得设置生效 三、实际测试四、总结 前言 好记性不如烂笔头,简单的记录下在ubantu18.04下迁移anaconda的目录 一、…

SpringBoot自定义注解+反射实现 excel 导入的数据组装及字段校验

在前段时间的开发工作中,接手了一个很简单,很普通的开发任务。 要求实现一个单表的基础数据的批量导入功能。 评估下来,用户每次批量导入的数据量也就几千条,也不大。 是不是很简单,没有骗你们吧。但是呢&#xff0…

常用工具——Gradle

前言 实践是最好的学习方式,技术也如此。 文章目录 前言一、Gradle 简介二、文件结构详解 一、Gradle 简介 Gradle 文件是一个独立于 android 之外的一个东西; 是什么 gradle 就是编译、打包 Android 工程的一个构建工具;build.gradle 文件&…

中仕公考:非应届生能考三支一扶吗?

如果是非应届生身份能参加三支一扶考试吗? “三支一扶”是一项公益性的就业计划,全称为“支持教育、支持农村、支持医疗和扶贫”。该计划主要是针对大学生毕业生设置的,通过招募他们到基层单位工作,以解决基层单位人才短缺的问题&#xff0…

MapReduce内存参数自动推断

MapReduce内存参数自动推断。在Hadoop 2.0中,为MapReduce作业设置内存参数非常繁琐,涉及到两个参数:mapreduce.{map,reduce}.memory.mb和mapreduce.{map,reduce}.java.opts,一旦设置不合理,则会使得内存资源浪费严重&a…

java中this关键字的使用

this关键字的使用 this的用法1)this.data2)this.method;3)this() this的用法 1)this.data; (访问属性) 2)this.method; (访问方法) 3&…

wait() 、notify()、notifyAll() 的详细用法

文章目录 💐wait() 讲解💐notify() 讲解💐notifyAll()💡wait() 和 sleep() 的区别 首先,我们知道,线程的执行顺序是随机的(操作系统随机调度的,抢占式执行),但是有时候,我…

软件测试面试题(全)

【软件测试面试突击班】2024吃透软件测试面试最全八股文攻略教程,一周学完让你面试通过率提高90%!(自动化测试) 1.B/S架构和C/S架构区别 B/S 只需要有操作系统和浏览器就行,可以实现跨平台,客户端零维护&a…

CSS全局样式的设置,web开发交流

面试题 HTML 1,html5有哪些新特性? 2,html5移除了那些元素? 3,如何处理HTML5新标签的浏览器兼容问题 戳这里领取完整开源项目:【一线大厂前端面试题解析核心总结学习笔记Web真实项目实战最新讲解视频】…

智能硬件 | AI PC新市场,英特尔、高通、AMD、苹果谁能拔得头筹?

我们普通人和大模型的距离有多远?AI发展到2024年,已经附着在各种智能硬件上了,什么AI PC,AI手机,AI蓝牙音箱,AI学习机,AI鼠标等等,但其实虽然很多产品加上了个AI的名头,但…

xss.haozi:0x00

0x00没有什么过滤所以怎么写都没有关系有很多解 <script>alert(1)</script>

实现session共享的方法总结完整版

文章目录 实现session共享的方法总结完整版1、使用共享数据库&#xff1a;2、使用粘性会话&#xff08;Sticky Session&#xff09;&#xff1a;3、使用缓存系统&#xff1a;4、使用分布式文件系统&#xff1a;5、使用中央认证服务&#xff1a;6、使用会话复制&#xff1a;7、使…

LLM 模型量化推理速度评测

最近了解了下些常见的推理和加速方案&#xff1a; 1、量化方案&#xff1a; gptq、quantization、int8、int4、AWQ、Speculative Decoding、GGUF 2、Attention加速方案&#xff1a; atten的不同种类fused attention 3、内存层面&#xff1a; kv_cache策略、page_attention…

3.4作业

课上代码复习&#xff1a; 广播接收端代码: #include<myhead.h> int main(int argc, const char *argv[]) {//创建套接字int rfd socket(AF_INET,SOCK_DGRAM,0);if(rfd -1){perror("socket error");return -1;}printf("rfd %d\n",rfd);//填充地…

在 Flutter 中使用 flutter_gen 简化图像资产管理

你是否厌倦了在 Flutter 项目中手动管理图像资产的繁琐任务&#xff1f; 告别手工输入资源路径的痛苦&#xff0c;欢迎使用“Flutter Gen”高效资源管理的时代。在本文中&#xff0c;我将带您从手动处理图像资源的挫折到动态生成它们的便利。 选择1&#xff1a;痛苦手动添加–…

达梦数据库基础操作(五): 索引操作

达梦数据库基础操作(五)&#xff1a; 索引操作 1. 索引操作 1.1 创建索引 # 使用 CREATE INDEX 语句创建普通索引。 CREATE INDEX ind_emp_salary ON employee(salary);1.2 查看创建的索引 # 通过字典表 user_indexes 查看已创建索引的名称、类型。SELECT table_name, index…

C语言经典算法-1

C语言经典算法讲解练习 文章目录 C语言经典算法讲解练习1.汉若塔2.费式数列3. 巴斯卡三角形4.三色棋5.老鼠走迷官&#xff08;一&#xff09;6.老鼠走迷官&#xff08;二&#xff09;7.骑士走棋盘8.八皇后9.八枚银币10.生命游戏 1.汉若塔 说明&#xff1a;河内之塔(Towers of …

ArmSoM Rockchip系列产品 通用教程 之 UART 使用

1. UART 简介​ Rockchip UART (Universal Asynchronous Receiver/Transmitter) 基于16550A串口标准&#xff0c;完整模块支持以下功能&#xff1a; 支持5、6、7、8 bits数据位。支持1、1.5、2 bits停止位。支持奇校验和偶校验&#xff0c;不支持mark校验和space校验。支持接…

文物保护平台数据统计分析及预警-子系统专题分析

文物预防性监测与调控系统的监测统计分析子系统提供全面的文物状态及环境数据分析,为博物馆工作人员进行基于文物材质特性的专项保护提供相关科研辅助。主要的监测分析,包括各展厅文物统计分析、不同环境因素报表统计、以及监测调控设备统计分析等。 系统用户和文物管理人员可以…