MMA: Multi-Modal Adapter for Vision-Language Models

两个观察

图1所示。各种基于transformer的CLIP模型中不同层的数据集级识别精度。这个实验是为了确定样本属于哪个数据集。我们用不同的种子运行了三次,并报告了每层识别精度的平均值和标准差。 X E m b e d XEmbed XEmbed是指变压器块之前的文本或图像嵌入层(即自关注层和前馈层[13]), X P r o j XProj XProj是指文本或图像投影层。注意,本实验仅使用来自所有数据集的训练样例进行评估。
如图1所示,我们有两个观测:
Observation-1。在预训练的文本和图像编码器中,较高的层包含可区分的数据集特定表示,而较低的层包含跨不同数据集的可通用表示。这些结果表明,为下游任务调整高层比低层更容易,冻结低层比高层可以保存更多的可泛化知识。
Observation-2。在大多数情况下,文本特征,因为它们是用语义类别名称编码的,在数据集中比视觉特征更容易区分。此外,低层的文本和图像特征之间的间隙比高层的更大。因此,我们认为在文本和图像特征之间对齐较低的层比在较高的层之间对齐更困难,特别是在有限的训练样本下进行调优。
Macro Design(宏观的设计)

新的适配器 A \mathcal{A} A(在下一节中详细介绍)被部分添加到图像和文本编码器的几个更高层中。形式上,对于图像编码器 V \mathcal{V} V,我们从第 k k k个transformer块中添加适配器 A v \mathcal{A}^v Av

这里,下划线表示可训练的块。 α \alpha α是任务特定知识和一般预训练知识之间的平衡系数。显然, α = 0 \alpha=0 α=0在不集成任何额外知识的情况下退化为原始transformer块。同样,我们在文本编码器 τ \tau τ上增加适配器 A t \mathcal{A}^t At

Micro Design(微观设计)

该单元首先使用单独的投影层将每个分支输入投影到具有相同尺寸的特征中。然后,使用一个共享投影层来聚合这些双峰信号,然后使用一个单独的层来匹配每个分支的输出维度。形式上,这个过程可以概括如下:

一个类似的过程被添加到文本编码器如下:

其中, W k w \bm W_{kw} Wkw和 W k d \bm W_{kd} Wkd是图所示的第 k k k个“上”和“下”投影层,其中模态分支用上标突出显示。 W k s \bm W_{ks} Wks是第 k k k个投影层,由Eq.(11)和Eq.(12)中的不同分支共享。重要的是,共享投影作为两个模态之间的桥梁,允许梯度相互传播,从而更好地对齐不同的模态信号。
实验
me:简单的改动,但效果真的很好啊。





结论
以CLIP为例[50]的大规模VLM对下游任务的适应提出了一个巨大的挑战,主要是因为可训练参数的数量庞大,而可用训练样本的规模有限。在本文中,我们提出了一种针对视觉和语言分支设计的多模态适配器(MMA),以增强其各自表示之间的一致性。我们系统地分析了视觉和语言分支跨数据集的特征的判别性和泛化性,因为这两个特征在迁移学习中起着重要的作用,特别是在少样本设置中。基于我们的分析,我们有选择地将MMA引入到特定的更高的transformer层,以实现区分和泛化之间的最佳平衡。我们通过三个代表性任务来评估我们方法的有效性:对新类别的泛化,对新目标数据集的适应,以及看不见的领域转移。与其他先进方法的比较表明,我们的综合性能在所有三种类型的评估中都取得了卓越的表现。
参考资料
论文下载(CVPR 2024)
https://openaccess.thecvf.com/content/CVPR2024/papers/Yang_MMA_Multi-Modal_Adapter_for_Vision-Language_Models_CVPR_2024_paper.pdf

代码地址
https://github.com/ZjjConan/Multi-Modal-Adapter
相关文章:
MMA: Multi-Modal Adapter for Vision-Language Models
两个观察 图1所示。各种基于transformer的CLIP模型中不同层的数据集级识别精度。这个实验是为了确定样本属于哪个数据集。我们用不同的种子运行了三次,并报告了每层识别精度的平均值和标准差。 X E m b e d XEmbed XEmbed是指变压器块之前的文本或图像嵌入层&#x…...
uniapp通过id获取div的宽度,高度,位置等(应该是 任意平台都通用 )
uniapp通过id获取div的宽度,高度,位置等(应该是 任意平台都通用 ) <template><view class"" id"domId"></view> </template>// 如果获取的dome高度等不对,还需要加上延迟…...
Python Transformer 模型的基本原理:BERT 和 GPT 以及它们在情感分析中的应用
Transformer 模型的基本原理:BERT 和 GPT 以及它们在情感分析中的应用 近年来,Transformer 模型在自然语言处理(NLP)领域取得了巨大成功,为任务如翻译、生成文本、问答和情感分析带来了显著的性能提升。本文将介绍 Tr…...
【云原生】Kubernets1.29部署StorageClass-NFS作为存储类,动态创建pvc(已存在NFS服务端)
文章目录 在写redis集群搭建的时候,有提到过使用nfs做storageclass,那时候kubernetes是1.20版本,https://dongweizhen.blog.csdn.net/article/details/130651727 现在使用的是kubernetes 1.29版本,根据之前的修改方式并未生效,反而提示:Error: invalid argument "Re…...
使用 Pandas 进行时间序列分析的 10个关键点
使用Pandas进行时间序列分析的10个关键点(由于篇幅限制,这里调整为10个,但实际操作中可能涉及更多细节)如下: 1. 创建时间序列数据 时间序列数据是指在多个时间点上形成的数值序列。在Pandas中,可以使用t…...
使用 Mermaid 语言描述 AGI 系统架构图
使用Mermaid语言描述AGI系统架构图 一、整体架构概述 以下是一个简化的AGI(Artificial General Intelligence,通用人工智能)系统架构的Mermaid描述。该系统主要包括数据收集与预处理、模型训练、推理与决策以及交互接口等模块,各…...
绘制线性可分支持向量机决策边界图 代码解析
### 绘制线性可分支持向量机决策边界图 def plot_classifer(model, X, y):# 超参数边界x_min -7x_max 12y_min -12y_max -1step 0.05# meshgridxx, yy np.meshgrid(np.arange(x_min, x_max, step),np.arange(y_min, y_max, step))# 模型预测z model.predict(np.c_[xx.ra…...
No.23 笔记 | WEB安全 - 任意文件漏洞 part 5
本文全面且深入地探讨了文件上传漏洞相关知识。从基础概念出发,清晰地阐述了文件上传漏洞的定义及其产生的本质原因,同时列出了该漏洞成立的必要条件。详细说明了文件上传漏洞可能对服务器控制权、网站安全以及业务运营带来的严重危害。 文中还深入解析了…...
EasyPlayer.js网页播放器,支持FLV、HLS、WebSocket、WebRTC、H.264/H.265、MP4、ts各种音视频流播放
EasyPlayer.js功能: 1、支持解码H.264视频(Baseline, Main, High Profile全支持,支持解码B帧视频) 2、支持解码H.265视频(flv id 12) 3、支持解码AAC音频(LC,HE,HEv2 Profile全支持) 4、支持解码MP3音频以及Speex音频格式 5、可…...
WPF数据绑定的五大模式
WPF(Windows Presentation Foundation)是微软推出的一种用于构建Windows用户界面的UI框架。它支持数据绑定,允许开发者将UI元素与数据源绑定,从而实现数据和界面的自动同步。WPF数据绑定有几种不同的模式, 以下是五种…...
从零到一:大学新生编程入门攻略与成长指南
文章目录 每日一句正能量前言编程语言选择:为大学新生量身定制Python:简单而强大的选择JavaScript:Web开发的基石Java:面向对象的经典C#:微软的全能选手 学习资源推荐:编程学习的宝藏在线课程教程和文档书籍…...
详细分析Pytorch中的transpose基本知识(附Demo)| 对比 permute
目录 前言1. 基本知识2. Demo 前言 原先的permute推荐阅读:详细分析Pytorch中的permute基本知识(附Demo) 1. 基本知识 transpose 是 PyTorch 中用于交换张量维度的函数,特别是用于二维张量(矩阵)的转置操…...
初识WebGL
思路: 构建<canvas>画布节点,获取其的实例。使用getWebGLContext() 拿到画布上下文。拿到上下文用clearColor() 设置背景颜色。最后清空canvas画布,是为了清除颜色缓冲区。 html结构: <!DOCTYPE html> <html lang"en&…...
【力扣】Go语言回溯算法详细实现与方法论提炼
文章目录 一、引言二、回溯算法的核心概念三、组合问题1. LeetCode 77. 组合2. LeetCode 216. 组合总和III3. LeetCode 17. 电话号码的字母组合4. LeetCode 39. 组合总和5. LeetCode 40. 组合总和 II小结 四、分割问题6. LeetCode 131. 分割回文串7. LeetCode 93. 复原IP地址小…...
「C/C++」C/C++ 之 第三方库使用规范
✨博客主页何曾参静谧的博客📌文章专栏「C/C」C/C程序设计📚全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasoli…...
六、元素应用CSS的习题
题目一: 使用CSS样式对页面元素加以修饰,制作“ 旅游攻略 ”网站。如下图所示 运行效果: 代码: <!DOCTYPE html> <html><head><meta charset"utf-8" /><title>旅游攻略</title><…...
正式入驻!上海斯歌BPM PaaS管理软件等产品入选华为云联营商品
近日,上海斯歌旗下BPM PaaS管理软件(NBS)等多款产品入选华为云云商店联营商品,上海斯歌正式成为华为云联营商品合作伙伴。用户登录华为云云商店即可采购上海斯歌的BPM PaaS产品及配套服务。通过联营模式,双方合作能够深…...
使用 Axios 上传大文件分片上传
背景 在上传大文件时,分片上传是一种常见且有效的策略。由于大文件在上传过程中可能会遇到内存溢出、网络不稳定等问题,分片上传可以显著提高上传的可靠性和效率。通过将大文件分割成多个小分片,不仅可以减少单次上传的数据量,降…...
Nginx+Lua脚本+Redis 实现自动封禁访问频率过高IP
1 、安装OpenResty 安装使用 OpenResty,这是一个集成了各种 Lua 模块的 Nginx 服务器,是一个以Nginx为核心同时包含很多第三方模块的Web应用服务器,使用Nginx的同时又能使用lua等模块实现复杂的控制。 (1)安装编译工具…...
PART 1 数据挖掘概论 — 数据挖掘方法论
目录 数据库知识发掘步骤 数据挖掘技术的产业标准 CRISP-DM SEMMA 数据库知识发掘步骤 数据库知识发掘(Knowledge Discovery in Database,KDD)是从数据库中的大量数据中发现不明显、之前未知、可能有用的知识。 知识发掘流程(Knowledge Discovery Process)包括属性选择…...
Halcon中值滤波,均值滤波,高斯滤波
均值滤波(一般用来消除高斯噪声创建一个高斯核参数1为σ 值越大高斯噪声越多gauss_distribution( 9 ,Distribution)添加到图片上add_noise_distribution( Image , ImageNoise , Distribution)参数3 4 是滤波核, 建议使用奇数矩阵核,值越小越清…...
突破性数据增强:如何用Time-Series-Library解决时间序列稀疏性难题
突破性数据增强:如何用Time-Series-Library解决时间序列稀疏性难题 【免费下载链接】Time-Series-Library A Library for Advanced Deep Time Series Models. 项目地址: https://gitcode.com/GitHub_Trending/ti/Time-Series-Library 在时间序列分析领域&…...
ebs-modbus:传输层无关的嵌入式Modbus状态机库
1. 项目概述ebs-modbus是一个面向嵌入式系统的、传输层无关(Transport-Agnostic)的 Modbus 协议状态机实现库。其核心设计目标并非封装特定硬件接口(如 UART、TCP/IP 或 RTU over RS-485),而是聚焦于 Modbus 协议栈的协…...
RuoYi-Vue-Plus:企业级应用开发的现代化技术框架
RuoYi-Vue-Plus:企业级应用开发的现代化技术框架 【免费下载链接】RuoYi-Vue-Plus 项目地址: https://gitcode.com/GitHub_Trending/ru/RuoYi-Vue-Plus 一、价值定位:重新定义企业级开发标准 1 架构突破:插件化设计的实践价值 在传…...
OBS直播必备:3D Effect滤镜实战教程,5分钟让你的直播间秒变3D空间
OBS直播3D空间打造指南:从基础配置到高级创意应用 直播间的视觉体验直接影响观众留存率,而3D效果无疑是当前最抓人眼球的呈现方式之一。不同于传统平面直播,3D空间感能让观众产生身临其境的沉浸式体验,特别适合游戏解说、虚拟主播…...
Face Analysis WebUI在AR眼镜中的应用:实时身份识别
Face Analysis WebUI在AR眼镜中的应用:实时身份识别 1. 引言 想象一下,当你戴着AR眼镜走在街上,迎面走来一位同事,眼镜瞬间识别出他的身份并在视野角落显示姓名和职位信息。或者进入会议室,AR眼镜自动识别所有参会人…...
避坑指南:Unity环境搭建中最容易忽略的5个配置项(含Android/iOS模块选择建议)
Unity环境搭建避坑指南:5个高频遗漏配置与移动端优化策略 刚接触Unity的开发者往往会被其强大的跨平台能力吸引,却在环境搭建阶段就踩进各种"坑"。我曾见过团队因一个遗漏的配置项浪费三天排查时间,也遇到过新手因模块选择不当导致…...
ESP32Cam与YOLOv3构建智能图像识别系统
基于ESP32Cam与YOLOv3的图像识别系统设计1. 项目概述1.1 系统架构本系统采用分层架构设计,由硬件层、通信层、软件层和应用层组成:硬件层:ESP32Cam模块作为核心硬件,集成ESP32主控芯片和OV2640图像传感器通信层:基于80…...
别再手动分片了!用MinIO的.NET SDK实现大文件上传,我踩过的坑都帮你填好了
实战优化:用MinIO的.NET SDK高效处理大文件上传的避坑指南 在视频处理、数据集管理等场景中,我们经常需要上传数GB的大文件。传统的单次上传方式不仅效率低下,还容易因网络波动导致整个上传失败。本文将分享如何利用MinIO的.NET SDK实现稳定高…...
S7-200SMART PLC停车场计数系统实战:从硬件接线到MCGS界面设计全流程
S7-200SMART PLC停车场智能计数系统实战指南 从零搭建一套可靠的车辆出入管理系统 每次开车进入商场停车场时,你是否好奇入口处那个实时更新的剩余车位数字是如何工作的?作为工业自动化领域的经典应用场景,PLC控制的停车场管理系统融合了传…...
