SVL-Adapter: Self-Supervised Adapter for Vision-Language Pretrained Models

当前的问题

CLIP和CLIP-Adapter等方法的一个主要局限性是,它们没有对视觉编码器所编码的底层表示进行显著的修改。原因很简单:微调大型模型需要大量的监督,这在低监督学习设置中是很难获得的。如果下游分类任务的图像来自与互联网常见图像相同的分布,那么这不一定是个问题。然而,如果图像差异显著,例如医学或生物多样性监测图像,那么从视觉编码器提取的表示很可能不适合当前任务。

解决办法

me:动机跟KgCoOp很像。
在这里插入图片描述

我们引入了一个新的编码器 E s E_s Es,它在目标数据集上使用自我监督进行训练。这个编码器的输出是一个特征向量 f s f_s fs,它被输入到一个适配器网络 A s A_s As中。与CLIP-Adapter不同,此适配器的输出不是转换后的特征编码,而是对感兴趣的类的预测, P s ( y ∣ x ) = A s ( f s ) = σ ( ReLU ( f s T W s 1 ) W s 2 ) P_s(y|\textbf{x})=A_s(\textbf{f}_s)=\sigma(\text{ReLU}(\textbf{f}_s^T\textbf{W}_s^1)\textbf{W}_s^2) Ps(yx)=As(fs)=σ(ReLU(fsTWs1)Ws2)。然后,我们将这些预测与标准零样本 CLIP模型的输出结合起来, P v ( y ∣ x ) = σ ( f v T W t ) P_v(y|\textbf{x})=\sigma(\textbf{f}_v^T\textbf{W}_t) Pv(yx)=σ(fvTWt)
在这里插入图片描述

在训练中我们学习了权重 { W s 1 , W s 2 } \{\textbf{W}_s^1,\textbf{W}_s^2\} {Ws1,Ws2}。我们使用自监督约束目标[9]在目标训练数据集上训练 E s E_s Es,它不需要任何标记数据。虽然在大型数据集上训练 E s E_s Es可能很昂贵,但在实践中,我们从ImageNet初始化模型开始,这导致在相对较小的下游数据集上快速收敛。此外,这个步骤只需要执行一次,因为当可用的监督数量发生变化时,只有适配器 A s A_s As需要重新训练。

混合权重选择

me:挺好的一个思路,动态调整混合参数 λ \lambda λ
CLIP-Adapte同消融实验选择效果最好的超参数 α \alpha α β \beta β。然而,在低样本学习的情况下,任何和所有标记的数据都是宝贵的,并且可能更有价值用于训练而不是超参数选择
在这里插入图片描述

为了克服这个问题,我们提出了一个概念上简单而有效的方法来选择我们在Eqn. 3中的预测混合权 λ \lambda λ,它不需要任何标记的验证数据。从图1中我们观察到,与Zero-shot CLIP预测相对应的置信度得分在数据集之间差异很大。基于此,在假设CLIP不自信时,我们应该更重地权衡low-shot学习获得的知识,我们将 λ \lambda λ定义为类似于CLIP在给定数据集的 N N N个测试图像上的平均预测置信度得分, λ = 1 N ∑ i = 1 N max k P ( y i = k ∣ x i ) \lambda=\frac{1}{N}\sum^N_{i=1}\text{max}_k P(y_i=k|\textbf{x}_i) λ=N1i=1NmaxkP(yi=kxi)。在我们的实验中,我们将我们的SVL-Adapter方法与现有的方法进行比较,其中我们使用验证数据('SVL-Adapter ')选择 λ \lambda λ,或者我们使用上面概述的CLIP输出('SVL-Adapter ')估计它。

参考资料

论文下载(BMCV CCF C,2022)

https://bmvc2022.mpi-inf.mpg.de/0580.pdf
https://arxiv.org/abs/2210.03794
在这里插入图片描述

代码地址

https://github.com/omipan/svl_adapter

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

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

相关文章

MySQL之创建和管理表

目录 1. MySQL中的数据类型​编辑​编辑 2. 创建和管理数据库 方式1:创建数据库 方式2:创建数据库并指定字符集 方式3:判断数据库是否已经存在,不存在则创建数据库( 推荐 ) 总结 2.2 使用数据库 查看当…

深度学习模型:门控循环单元(GRU)详解

本文深入探讨了门控循环单元(GRU),它是一种简化版的长短期记忆网络(LSTM),在处理序列数据方面表现出色。文章详细介绍了 GRU 的基本原理、与 LSTM 的对比、在不同领域的应用以及相关的代码实现,…

解决“磁盘已插上,但Windows系统无法识别“问题

电脑上有2块硬盘,一块是500GB的固态硬盘,另一块是1000GB的机械硬盘,按下开机键,发现500G的固态硬盘识别了,但1000GB的机械硬盘却无法识别。后面为了描述方便,将"500GB的固态硬盘"称为X盘&#xf…

mysql_题库详解

1、如何创建和删除数据库? 1)创建数据库 CREATE DATABASE 数据库名; 2)删除数据库 drop database 数据库名; 2、MyISAM与InnoDB的区别? 1)事务:MyISAM 不支持事务 InnoDB 支持 2)行锁/表锁&a…

大数据新视界 -- 大数据大厂之 Hive 数据安全:加密技术保障数据隐私(下)(16/ 30)

💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

存储服务器一般做是做什么阵列?详细列举一下

存储服务器通常使用 RAID(Redundant Array of Independent Disks) 阵列技术来管理磁盘,以提高数据的性能、可靠性和可用性。所选择的 RAID 类型取决于存储服务器的具体用途和需求,比如性能要求、容量需求、容错能力等。 以下是存…

2024142读书笔记|《别无归处是归处》——一壶酒,一竿身,世上如侬有几人

2024142读书笔记|《别无归处是归处》——一壶酒,一竿身,世上如侬有几人 《别无归处是归处:吴镇的“渔父”画题(文人画的真性)》作者朱良志。诗词与古画并存的一本书,古画是比较偏复古黯淡微黄及墨色的&…

opencv 区域提取三种算法

opencv 区域提取三种算法 1.轮廓查找 findContours()函数&#xff0c;得到轮廓的点集集合 cv::vector<cv::vector<Point>> contours;threshold(roiMat,binImg,m_pPara.m_nMinGray,m_pPara.m_nMaxGray,THRESH_BINARY);//膨胀处理Mat dilaElement getStructuringE…

神经网络中的损失函数(Loss Function)

损失函数&#xff08;Loss Function&#xff09;在机器学习和深度学习中扮演着至关重要的角色&#xff0c;它是衡量模型预测值与实际值之间差异程度的函数。通过最小化损失函数&#xff0c;我们可以优化模型的参数&#xff0c;使其预测结果更加准确。 一、损失函数的定义 损失函…

服务器命令行复制文件

服务器拷贝大文件太慢&#xff0c;而且容易断线&#xff0c;可以采用命令行复制文件 复制windows server服务器文件到linux服务器 scp D:\bim\uploadPath.zip ruoyixx.xx.xx.xx:/home/ruoyi/temp/uploadPath.zip 复制linux服务器文件到windows server服务器 scp ruoyixx.xx.…

TiDB 关联子查询及半连接的优化实践

导读 TiDB 针对子查询语句会执行多种子查询相关的优化 ( https://docs.pingcap.com/zh/tidb/stable/subquery-optimization )&#xff0c;以提升子查询的执行性能。半连接语句和关联子查询语句是常用的两类子查询&#xff0c;TiDB 优化器默认包含一些自动优化策略&#xff0c;…

Pytest使用Jpype调用jar包报错:Windows fatal exception: access violation

问题描述 ​   之前我们有讲过如何使用Jpype调用jar包&#xff0c;在成功调用jar包后&#xff0c;接着在Pytest框架下编写自动测试用例。但是在Pytest下使用Jpype加载jar包&#xff0c;并调用其中的方法会以下提示信息&#xff1a; ​   虽然提示信息显示有Windows显示致命…

RVO动态避障技术方案介绍

原文&#xff1a;RVO动态避障技术方案介绍 - 哔哩哔哩 我们在开发游戏的时候经常会遇到这样的问题&#xff0c;当我们寻路的时候&#xff0c;其它人也在寻路&#xff0c;如何避免不从其它人的位置穿过。这个叫做动态避障&#xff0c;目前主流的解决方案就是RVO。本节我们来介绍…

浅谈人工智能之基于容器云进行图生视频大模型搭建

浅谈人工智能之基于容器云进行图生视频大模型搭建 根据之前我们所讲过的内容&#xff1a; 文生图 文生视频 我们继续讲解图生视频大模型搭建。 引言 随着深度学习技术的不断发展&#xff0c;图生视频&#xff08;image-to-video&#xff09;大模型成为了计算机视觉和自然语言…

十四(AJAX)、AJAX、axios、常用请求方法(GET POST...)、HTTP协议、接口文档、form-serialize

1. AJAX介绍及axios基本使用 <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><meta name"viewport" content&q…

【微服务】 Eureka和Ribbon

一、Eureka 服务调用出现的问题&#xff1a;在远程调用另一个服务时&#xff0c;我们采用的解决办法是发送一次http请求&#xff0c;每次环境的变更会产生新的地址&#xff0c;所以采用硬编码会出现很多麻烦&#xff0c;并且为了应对并发问题&#xff0c;采用分布式部署&#…

安卓-碎片的使用入门

1.碎片(Fragment)是什么 Fragment是依赖于Activity的&#xff0c;不能独立存在的,是Activity界面中的一部分&#xff0c;可理解为模块化的Activity,它能让程序更加合理和充分地利用大屏幕的空间&#xff0c;因而在平板上应用得非常广泛. Fragment不能独立存在&#xff0c;必须…

Emgu (OpenCV)

Emgu Github Emgu 环境&#xff1a; Emgu CV 4.9.0 netframework 4.8 1、下载 libemgucv-windesktop-4.9.0.5494.exe 安装后&#xff0c;找到安装路径下的runtime文件夹复制到c#项目Debug目录下 安装目录 c# Debug目录

Stripe测试

通过官方提供的Stripe-cli工具进行测试。 1. 下载Stripe-cli 下载链接&#xff1a;Release v1.17.1 stripe/stripe-cli GitHub 2. 获取密钥 进入到stripe控制台测试模式 查看API密钥 3. 测试 指定您的API 私钥 stripe login --api-key sk_test_51ISwaXTwNwO1Rvw32DNG10…

第J7周:对于RenseNeXt-50算法的思考

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 文章目录 一、前言1、导入包2、分组卷积模块3、残差单元4、堆叠残差单元5、搭建ResNeXt-50网络 二、问题思考 电脑环境&#xff1a; 语言环境&#xff1a;Pyth…