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

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

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

相关文章

Rust SQLx CLI 同步迁移数据库

上文我们介绍了SQLx及SQLite,并介绍了如何使用代码同步迁移数据库。本文介绍Sqlx cli 命令行工具,介绍如何安装、使用,利用其提供的命令实现数据表同步迁移。Java生态中有flyway, sqlx cli 功能类似,利用命令行工具可以和其他语言…

丹摩|丹摩智算平台使用教学指南

本指南旨在为新用户提供一个详细的操作步骤和实用的入门指导,帮助大家快速上手丹摩智算平台。 一、平台简介 丹摩智算平台是一款强大的数据分析和计算平台,支持多种编程语言,提供丰富的数据处理和机器学习工具。无论您是数据分析师、开发者…

代码美学:MATLAB制作渐变色

输入颜色个数n,颜色类型: n 2; % 输入颜色个数 colors {[1, 0, 0], [0, 0, 1]}; createGradientHeatmap(n, colors); 调用函数: function createGradientHeatmap(n, colors)% 输入检查if length(colors) ~ nerror(输入的颜色数量与n不一…

【大数据学习 | Spark调优篇】常用的shuffle优化

shuffle是一个涉及到CPU(序列化反序列化)、网络IO(跨节点数据传输)以及磁盘IO(shuffle中间结果落盘)的操作。 优化思路: 减少shuffle的数据量,减少shuffle的次数。 具体方式&…

Spring中每次访问数据库都要创建SqlSession吗?

一、SqlSession是什么二、源码分析1)mybatis获取Mapper流程2)Spring创建Mapper接口的代理对象流程3)MapperFactoryBean#getObject调用时机4)SqlSessionTemplate创建流程5)SqlSessionInterceptor拦截逻辑6)开…

娱乐API:快速生成藏头诗、藏尾诗和藏中诗

引言 诗歌是中国传统文化的重要组成部分,其中藏头诗、藏尾诗和藏中诗因其独特的形式而备受喜爱。为了满足广大文学爱好者的需求,我们推出了一款娱乐API,支持快速生成藏头诗、藏尾诗和藏中诗。本文将详细介绍该API的功能、使用方法以及如何将…

以达梦为数据库底座时部署的微服务页面报乱码,调整兼容模式

1.问题描述 部署微服务,文件、代码是延用的mysql类型的,部署前做了部分适配,但是在使用dm数据库进行安装的服务在页面上查询出的数据却都是乱码 2.查询官网,注意到一个参数COMPATIBLE_MODE兼容模式的配置 考虑是延用mysql&…

个人博客接入github issue风格的评论,utteranc,gitment

在做个人博客的时候,如果你需要评论功能,但是又不想构建用户体系和评论模块,那么可以直接使用github的issue提供的接口,对应的开源项目有utteranc和gitment,尤其是前者。 它们的原理是一样的:在博客文章下…

二,[ACTF2020 新生赛]Include1感谢 Y1ng 师傅供题。

进入靶场后,发现tips可以点击 点击后进入此页面 猜测此为文件包含漏洞,构造payload,并成功得到base64编码后的源码 详解payload: php://filter/readconvert.base64-encode/resourceflag.php 1.php://filter是PHP中的一个流封装协议&#xf…

vue3.0 根据富文本html页面生成压缩包(含视频在线地址、图片在线地址、前端截图、前端文档)

vue3.0生成压缩包(含在线地址、前端截图、前端文档) 需求描述效果开始下载插件包基本代码构造 点击下载按钮1.截图content元素,并转化为pdfcanvas putImageData、getImageDatagetImageData 获取指定矩形区域的像素信息putImageData 将这些数据…

单细胞细胞通讯全流程分析教程,代做分析和辅导

0. 分析参数文件和细胞通讯的演示数据 0.1 细胞通讯分析总的参数文件,后面部分细胞通讯分析模块会用到 分析参数文件 参数文件名称:total_analysis_params_demo.xlsx ,很多分析模块都是这个总的参数文件,我的这个总的参数文件如…

C++趣味编程:基于树莓派Pico的模拟沙漏-倾斜开关与LED的互动实现

沙漏,作为一种古老的计时工具,利用重力让沙子通过狭小通道,形成了计时效果。在现代,我们可以通过电子元件模拟沙漏的工作原理。本项目利用树莓派Pico、倾斜开关和LED,实现了一个电子沙漏。以下是项目的详细技术解析与C++代码实现。 一、项目概述 1. 项目目标 通过倾斜开关…

RAG (Retrieval Augmented Generation) 检索增强和生成

1 RAG技术简介 1.1 RAG技术概述 RAG(Retrieval Augmented Generation) 是一种结合了检索(Retrieval)和生成(Generation)的技术,旨在通过利用外部知识库来增强大型语言模型(LLMs&am…

DIY-Tomcat part 3 实现对动态资源的请求

实现ServletRequest package connector;import javax.servlet.RequestDispatcher; import javax.servlet.ServletInputStream; import javax.servlet.ServletRequest; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.i…

黑马程序员Java笔记整理(day05)

1.面向对象编程 2.用法 3.对象是什么 4.对象在计算机中是啥 5.无参与有参构造器 小结: 6.this的作用 7.小结 8.封装 9.小结 10.实体类 11.小结 12.static 13.小结 14.static修饰方法 15.static应用前景 16.几个注意事项 17.java中可以直接用类的名字创建数组,如: M…

Perforce SAST专家详解:自动驾驶汽车的安全与技术挑战,Klocwork、Helix QAC等静态代码分析成必备合规性工具

自动驾驶汽车安全吗?现代汽车的软件包含1亿多行代码,支持许多不同的功能,如巡航控制、速度辅助和泊车摄像头。而且,这些嵌入式系统中的代码只会越来越复杂。 随着未来汽车的互联程度越来越高,这一趋势还将继续。汽车越…

《Python基础》之数据加密模块hashlib的用法

目录 一、简介 二、用法 步骤一、导入hashlib库 步骤二、创建哈希对象 步骤三、往哈希对象中传值 1、可以在创建对象的时候传值 2、使用updata传值 步骤四、获取经过哈希对象加密后的值 三、注意事项 1、编码问题 2、安全性 3、多次传值 四、总结 一、简介 hashli…

QT实战--qt各种按钮实现

本篇介绍qt一些按钮的实现,包括正常按钮;带有下拉箭头的按钮的各种实现;按钮和箭头两部分分别响应;图片和按钮大小一致;图片和按钮大小不一致的处理;文字和图片位置的按钮 效果图如下: 详细实现…

【OJ】前K个高频单词和单词识别和两个数组的交集

个人主页 &#xff1a; zxctscl 如有转载请先通知 题目 1. 692. 前K个高频单词1.1 分析1.2 代码 2. KY264 单词识别2.1 分析2.2 代码 3. 349. 两个数组的交集3.1 分析3.2 代码 1. 692. 前K个高频单词 1.1 分析 先试用map来统计每个单词出现的次数&#xff1a; map<string,i…

分布式协同 - 分布式锁一二事儿

文章目录 导图Pre概述概述1. 分布式互斥和临界资源的协调2. 分布式锁的基本原理3. 分布式锁的实现方式a. 基于数据库实现的分布式锁b. 基于Redis实现的分布式锁c. 基于Zookeeper实现的分布式锁 4. 高并发场景下的分布式锁优化a. 分段锁&#xff08;Sharded Locks&#xff09;b.…