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

news2024/9/29 17:27:12

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)提示学习,它在训练阶段训练一个提示生

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【设计模式】(四)设计模式之工厂模式

1. 工厂模式介绍 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 工厂模式有三种实现方式: 简单工厂模式工厂方法模式抽象工厂模式 2. 工厂方…

部署LVS+Keepalived高可用群集(抢占模式,非抢占模式,延迟模式)

目录 一、LVSKeepalived高可用群集 1、实验环境 2、 主和备keepalived的配置 2.1 yum安装ipvsadm和keepalived工具 2.2 添加ip_vs模块并开启ipvsadm 2.3 修改keepalived的配置文件 2.4 调整proc响应参数,关闭linux内核的重定向参数响应 2.5 将主服务器的kee…

SSRF服务器请求伪造原理和pikachu靶场实验

★★免责声明★★ 文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与学习之用,读者将信息做其他用途,由Ta承担全部法律及连带责任,文章作者不承担任何法律及连带责任。 1、SSRF简介 SSRF全称:Server-Side Request…

深入理解操作系统Operator System(2)

目录 操作系统对上的管理 系统调用接口 用户操作接口(库函数) 系统调用和库函数的概念 结构层次示意图 总结 为什么要有操作系统❓ 上次主要介绍了操作系统的"管理"和操作系统对下的管理。本篇主要是对上的管理。 操作系统对上的管理 …

【运维】本地部署Gemma模型(图文)

工具简介 我们需要使用到两个工具,一个是Ollama,另一个是open-webui。 Ollama Ollama 是一个开源的大语言平台,基于 Transformers 和 PyTorch 架构,基于问答交互方式,提供大语言模型常用的功能,如代码生…

软考高级:电子商务角色和类型概念和例题

作者:明明如月学长, CSDN 博客专家,大厂高级 Java 工程师,《性能优化方法论》作者、《解锁大厂思维:剖析《阿里巴巴Java开发手册》》、《再学经典:《Effective Java》独家解析》专栏作者。 热门文章推荐&am…

个人网站展示(静态)

大学期间做了一个个人博客网站,纯H5编码的网站,利用php搭建了一个留言模块。 有需要源码的同学,可以联系我~ 首页: IT杂记模块 文人墨客模块 劳有所获模块 生活日志模块 关于我 一个推崇全栈开发的前端开发人员 微信: itrzzh …

人工智能时代的产品管理:如何成为下一代引领者

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

字符串标记高亮脚本

源码 #!/bin/bash # usage: # echo hhh|mark str [font_color] [background_color] # font_color and background_color is optional, default is black&whiterp_str$1 f_color30 b_color47if [ "${f_color}a" "a" ]; thenf_color30 fiif [ "${…

网络安全: Kali Linux 进行 MSFvenom 程序利用

目录 一、实验 1.环境 2. Kali Linux 进行 MSFvenom 程序利用 3. 创建计划任务自动运行 MSFvenom 程序 二、问题 1.在线加密解密 2.MSF 运行失败 3.MobaXterm 连接Ubuntu 失败 一、实验 1.环境 (1)主机 表1 主机 系统版本IP备注Kali Linux20…

ElasticSearch之排序,fielddata和docvalue

写在前面 es搜索返回结果的排序默认是按照得分的高低来排的,本文来看下如何按照字段来排序,实现类似于MySQL的order by xxx的效果。 1:什么是fileddata和doc_value 参考ElasticSearch之零碎知识点 和一文带你彻底弄懂ES中的doc_values和fi…

直击Spring源码——高级容器

高级容器都实现了ApplicationContext功能,平常说的上下文就是高级容器 public interface ApplicationContext extends EnvironmentCapable, ListableBeanFactory, HierarchicalBeanFactory,MessageSource, ApplicationEventPublisher, ResourcePatternResolver { …

【笔记】原油阳谋论

文章目录 石油的属性能源属性各国石油替代 金融属性黄金石油美元 油价历史油价传导路径 石油供需格局与发展供需格局各国状况美国俄罗斯沙特 产油国困境运输 分析格局分析供需平衡分析价差分析价差概念基本面的跨区模型跨区模型下的价差逻辑 长中短三期分析长期视角——供应看投…

【CSS面试题】高度塌陷问题及解决

什么情况下产生 (when 父盒子没有定义高度&#xff0c;但是子元素有高度&#xff0c;希望用子盒子撑起父盒子的高度&#xff0c;但是子盒子添加了浮动属性之后&#xff0c;父盒子高度为0 <template><div class"father"><div class"son"&…

电脑打字突然变成繁体字如何修改

1. 右键电脑右下角的“中”字 2. 点击字符集&#xff0c;选中简体即可 有用的话记得给我点个赞啊~ 靴靴&#xff01;

阿里面试官:讲一讲熔断与降级的区别?

目录标题 1.什么是降级&#xff1f;1.1 降级的目标1.2 降级的策略1.3 降级级别1.4 什么时候降级&#xff1f;1.5 降级的机制1.6 降级的通知和沟通1.7 降级的监控和反馈1.8 降级预案和演练 2.什么是熔断&#xff1f;2.1 熔断的目标2.2 熔断的策略2.3 应用场景2.4 熔断的重要性 3…

活体检测(点头,摇头,张嘴等动态识别)

活体检测&#xff08;点头&#xff0c;摇头&#xff0c;张嘴等动态识别&#xff09; 某本书里有一句话&#xff0c;等我去读、去拍案。 田间的野老&#xff0c;等我去了解、去惊识。 山风与发&#xff0c;冷泉与舌&#xff0c; 流云与眼&#xff0c;松涛与耳&#xff0c; 他们等…

Spring Boot整合MyBatis Plus配置多数据源

Spring Boot 专栏&#xff1a;https://blog.csdn.net/dkbnull/category_9278145.html Spring Cloud 专栏&#xff1a;https://blog.csdn.net/dkbnull/category_9287932.html GitHub&#xff1a;https://github.com/dkbnull/SpringBootDemo Gitee&#xff1a;https://gitee.com/…

Lego-loam 算法三维建图

运行环境 Linux&#xff1a;Ubuntu18.04ros&#xff1a;MelodicCeres Solver 2.0.0&#xff08;Ubuntu18.04安装Ceres&#xff09;PCL 1.8.1&#xff08;Ubuntu系统的PCL、Eigen卸载和安装&#xff09; 运行数据集 lego-loam 39/39 终端一&#xff1a;进入catkin_ws工作空间…

二,几何相交---4,BO算法---(1)接近性和可分离性

提了三个观点 1&#xff0c;如果一条直线&#xff08;比如竖直&#xff09;可以分开两个线段&#xff0c;则这两个线段不相交 2&#xff0c;只需要观察与隔离线相交的几个线段 3&#xff0c;从左向右扫描线只需要观察每个线段的两个端点和一些可能的相交点。