当前位置: 首页 > news >正文

CLIP-MMA: Multi-Modal Adapter for Vision-Language Models

当前的问题

CLIP-Adapter仅单独调整图像和文本嵌入,忽略了不同模态之间的交互作用。此外,适应性参数容易过拟合训练数据,导致新任务泛化能力的损失。

动机

图1所示。多模态适配器说明。

通过一种基于注意力的 Adapter ,作者称之为多模态 Adapter (图1),通过整合它们的信息,共同调整文本和图像特征,导致更全面的适配。此外,适配是针对特定任务的,有效地利用每个任务的视觉和文本信息。这使得模型能够更有效地避免在训练任务上过拟合,从而在未见过的任务上获得更好的泛化能力。

方法

多模态 Adapter 包括三个不同的部分:一个嵌入降采样器、一个 Mask 多头注意力网络以及两个带有非线性激活函数的线性层。

维度下采样

在 Adapter 中使用了多头注意力层来聚合多模态信息。然而,多头注意力层可能会给网络引入参数昂贵的操作,尤其是当嵌入维度较大时,例如,原始CLIP的嵌入维度 ( C Emb ) = 512 (\text{C}_{\text{Emb}})=512 (CEmb)=512。为了降低可训练参数的数量,作者在注意力层之前在CLIP嵌入上引入了一个维度下采样器。下采样器由一个线性层 D ( ⋅ ) D(\cdot) D()组成,该层降低嵌入维度。最后,多头注意力层的输入通过 D ( ⋅ ) D(\cdot) D()传递,其中 W D ∈ R C Emb × C Emb / 4 W_D\in \mathbb{R}^{\text{C}_{\text{Emb}}\times \text{C}_{\text{Emb}}/4} WDRCEmb×CEmb/4

每个图像样本创建多头注意 ( MHA ( ⋅ ) ) (\text{MHA}(\cdot)) (MHA())输入。提示符 Emb text \text{Emb}_{\text{text}} Embtext的文本嵌入和视觉输入 Emb image \text{Emb}_{\text{image}} Embimage的图像嵌入被连接成一个序列:

其中 Input MHA ∈ R ( N c l a s s e s + 1 ) × N B a t c h × E N \text{Input}_{\text{MHA}}\in \mathbb{R}^{(N^{classes}+1)\times N^{Batch}\times E_N} InputMHAR(Nclasses+1)×NBatch×EN。其中, N c l a s s e s + 1 N^{classes}+1 Nclasses+1表示类(文本嵌入)和一个图像嵌入的数量之和(图2), E N E_N EN表示嵌入的维数。

图2所示。 Input MHA \text{Input}_{\text{MHA}} InputMHA的插图。文本表示与视觉表示串联成一个序列,通过掩模多头注意网络传递。

Mask 多头注意力

在维度下采样后,通过多头注意力层聚合潜在表示。为了区分多头注意力层的文本和图像输入,使用注意力 Mask 来调整每个模态内的信息交互。**使用“0”表示正向交互,“-∞”表示负向交互。**因此,**每个文本嵌入仅由相应的图像信息调整,而部分忽略其他文本嵌入中的信息。图像嵌入也是如此。**给定 P P P个 Prompt 和 I I I个图像, T = P + I T=P+I T=P+I总元素数。

me:图示如下

其中, i i i表示行(取值范围为 0 ∼ T − 1 0\sim T-1 0T1), j j j表示列(取值范围为 0 ∼ T − 1 0\sim T-1 0T1)。

掩码计算完成后,通过求和运算将掩码应用到多头注意力网络中:

多模态 Adapter

随后,MHA的输出经过两个线性上采样层 U 1 ( ⋅ ) , U 2 ( ⋅ ) U_1(\cdot),U_2(\cdot) U1(),U2(),其间使用GELU,其中 W U 1 ∈ R C Emb / 4 × C Emb / 16 , W U 2 ∈ R C Emb / 16 × C Emb W_{U1}\in \mathbb{R}^{\text{C}_{\text{Emb}/4}\times \text{C}_{\text{Emb}}/16},W_{U2}\in \mathbb{R}^{\text{C}_{\text{Emb}}/16 \times \text{C}_{\text{Emb}}} WU1RCEmb/4×CEmb/16,WU2RCEmb/16×CEmb

总之,我们完成了多模态适配器

实验结果

参考资料

论文下载(arxiv,3 Sep 2024)

https://www.arxiv.org/abs/2409.02958

代码地址

https://github.com/dqmis/clip-mma

参考文章

https://mp.weixin.qq.com/s/VP4R9-ZYSohwxdY9W3xJQg

相关文章:

CLIP-MMA: Multi-Modal Adapter for Vision-Language Models

当前的问题 CLIP-Adapter仅单独调整图像和文本嵌入,忽略了不同模态之间的交互作用。此外,适应性参数容易过拟合训练数据,导致新任务泛化能力的损失。 动机 图1所示。多模态适配器说明。 通过一种基于注意力的 Adapter ,作者称之…...

三维扫描仪-3d扫描建模设备自动检测尺寸

在现代工业制造领域,三维扫描仪已成为实现高精度尺寸检测的关键设备。CASAIM自动化智能检测系统以其自动化三维立体扫描技术,为产品尺寸的自动检测提供了高效、可靠的解决方案。 CASAIM自动化智能检测系统通过非接触式测量方式,通过激光扫描…...

vue3+ant design vue实现日期选择器默认显示当前年,并限制用户只能选择当前年及之前~

1、思路:之前想拿当前年直接做赋值操作,实际上是行不通的,因为组件本身有数据格式限制,会出现报错,然后索性直接获取当前日期(YYYY-MM-DD)赋值给日期组件,这样不管你用的是年&#x…...

【electron-vite】搭建electron+vue3框架基础

一、拉取项目 electron-vite 中文文档地址: https://cn-evite.netlify.app/guide/ 官网网址:https://evite.netlify.app/ 版本 vue版本:vue3 构建工具:vite 框架类型:Electron JS语法:TypeScript &…...

05《存储器层次结构与接口》计算机组成与体系结构 系列课

目录 存储器层次结构概述 层次结构的定义 存储器的排名 存储器接口 处理器与存储器的速度匹配 存储器接口的定义 存储器访问命中率 两种接口 第1种方式:并行 命中率的计算 存储器访问时间 第2种方式:逐级 结语 大家好,欢迎回来。…...

elasticsearch报错fully-formed single-node cluster with cluster UUID

1.问题描述 k8s集群内部署的es中间件起不来,查看日志发现如下警告,节点发现功能开启,但是目前我是单节点服务,所以尝试编辑sts将节点发现功能去掉或者在部署时将你的sts的yaml文件和chart文件修改重新部署以去掉该功能 {"t…...

Milvus×Florence:一文读懂如何构建多任务视觉模型

近两年来多任务学习(Multi-task learning)正取代传统的单任务学习(single-task learning),逐渐成为人工智能领域的主流研究方向。其原因在于,多任务学习可以让我们以最少的人力投入,获得尽可能多…...

DAPP

02-DAPP 1 啥是 DApp? DApp,部署在链上的去中心化的应用。 DApp 是开放源代码,能运行在分布式网络上,通过网络中不同对等节点相互通信进行去中心化操作的应用。 DAPP 开放源代码,才能获得人的信任。如比特币&#xff…...

生产环境中,nginx 最多可以代理多少台服务器,这个应该考虑哪些参数 ?怎么计算呢

生产环境中,nginx 最多可以代理多少台服务器,这个应该考虑哪些参数 ?怎么计算呢 关键参数计算方法评估步骤总结 在生产环境中,Nginx最多可以代理的服务器数量并没有一个固定的限制,它取决于多个因素,包括Ng…...

【深度学习|目标跟踪】StrongSORT 详解(以及StrongSORT++)

StrongSort详解 1、论文及源码2、DeepSORT回顾3、StrongSORT的EMA4、StrongSORT的NSA Kalman5、StrongSORT的MC6、StrongSORT的BOT特征提取器7、StrongSORT的AFLink8、StrongSORT的GSI模块 1、论文及源码 论文地址:https://arxiv.org/pdf/2202.13514 源码地址&#…...

23种设计模式-原型(Prototype)设计模式

文章目录 一.什么是原型设计模式?二.原型模式的特点三.原型模式的结构四.原型模式的优缺点五.原型模式的 C 实现六.原型模式的 Java 实现七. 代码解析八.总结 类图: 原型设计模式类图 一.什么是原型设计模式? 原型模式(Prototype…...

Qt—QLineEdit 使用总结

文章参考:Qt—QLineEdit 使用总结 一、简述 QLineEdit是一个单行文本编辑控件。 使用者可以通过很多函数,输入和编辑单行文本,比如撤销、恢复、剪切、粘贴以及拖放等。 通过改变 QLineEdit 的 echoMode() ,可以设置其属性,比如以密码的形式输入。 文本的长度可以由 m…...

go-zero使用自定义模板实现统一格式的 body 响应

前提 go环境的配置、goctl的安装、go-zero的基本使用默认都会 需求 go-zero框架中,默认使用goctl命令生成的代码并没有统一响应格式,现在使用自定义模板实现统一响应格式: {"code": 0,"msg": "OK","d…...

BUGKU printf

整体思路 实现循环-->获取libc版本和system函数地址->将strcpy的got表项修改为system并获得shell 第一步:实现循环 从汇编语句可以看出,在每次循环结束时若0x201700处的值是否大于1则会继续循环。 encode1会将编码后的结果保存至0x2015c0处&am…...

深度学习:梯度下降法

损失函数 L:衡量单一训练样例的效果。 成本函数 J:用于衡量 w 和 b 的效果。 如何使用梯度下降法来训练或学习训练集上的参数w和b ? 成本函数J是参数w和b的函数,它被定义为平均值; 损失函数L可以衡量你的算法效果&a…...

`console.log`调试完全指南

大家好,这里是 Geek技术前线。 今天我们来探讨 Console.log() 的一些优点。并分析一些基本概念和实践,这些可以让我们的调试工作变得更加高效。 理解前端 log 与后端 log 的区别 前端 log 与后端 log 有着显著的不同,理解这一点至关重要。…...

ROS VSCode调试方法

VSCode 调试 Ros文档 1.编译参数设置 cd catkin_ws catkin_make -DCMAKE_BUILD_TYPEDebug2.vscode 调试插件安装 可在扩展中安装(Ctrl Shift X): 1.ROS 2.C/C 3.C Intelliense 4.Msg Language Support 5.Txt Syntax 3.导入已有或者新建ROS工作空间 3.1 导入工作…...

16 —— Webpack多页面打包

需求&#xff1a;把 黑马头条登陆页面-内容页面 一起引入打包使用 步骤&#xff1a; 准备源码&#xff08;html、css、js&#xff09;放入相应位置&#xff0c;并改用模块化语法导出 原始content.html代码 <!DOCTYPE html> <html lang"en"><head&…...

微服务即时通讯系统的实现(服务端)----(3)

目录 1. 消息存储子服务的实现1.1 功能设计1.2 模块划分1.3 模块功能示意图1.4 数据管理1.4.1 数据库消息管理1.4.2 ES文本消息管理 1.5 接口的实现1.5.1 消息存储子服务所用到的protobuf接口实现1.5.2 最近N条消息获取接口实现1.5.3 指定时间段消息搜索接口实现1.5.4 关键字消…...

.net6.0 mvc 传递 model 实体参数(无法对 null 引用执行运行时绑定)

说一下情况&#xff1a; 代码没问题&#xff0c;能成功从数据库里查到数据&#xff0c;能将数据丢给ViewBag.XXXX, 在View页面也能获取到 ViewBag.XXXX的值&#xff0c;但是发布到线上后报这个错&#xff1a; Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: 无法对 …...

VUE 入门级教程:开启 Vue.js 编程之旅

一、Vue.js 简介 Vue.js 是一套构建用户界面的渐进式 JavaScript 框架。它专注于视图层的开发&#xff0c;能够轻松地与其他库或现有项目进行整合。Vue.js 的核心库只关注视图层&#xff0c;通过简洁的 API 实现数据绑定和 DOM 操作的响应式更新&#xff0c;让开发者可以高效地…...

Ubantu系统docker运行成功拉取失败【成功解决】

解决docker运行成功拉取失败 失败报错 skysky-Legion-Y7000-IRX9:~$ docker run hello-world docker: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Head “http://%2Fvar%2Frun%2Fdocker.sock/_ping”: dial uni…...

mvn-mac操作小记

1.安装brew 如果报错&#xff0c;Warning: /opt/homebrew/bin is not in your PATH. vim ~/.zshrc&#xff0c;最后一行追加 export PATH“/opt/homebrew/bin:$PATH” source ~/.zshrc 2.安装brew install maven mvn -version查看路径 Maven home: /opt/homebrew/Cellar/mav…...

机器学习——生成对抗网络(GANs):原理、进展与应用前景分析

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一. 生成对抗网络的基本原理二. 使用步骤2.1 对抗性训练2.2 损失函数 三. GAN的变种和进展四. 生成对抗网络的应用五. 持续挑战与未来发展方向六. 小结 前言 生…...

「Mac畅玩鸿蒙与硬件33」UI互动应用篇10 - 数字猜谜游戏

本篇将带你实现一个简单的数字猜谜游戏。用户输入一个数字&#xff0c;应用会判断是否接近目标数字&#xff0c;并提供提示“高一点”或“低一点”&#xff0c;直到用户猜中目标数字。这个小游戏结合状态管理和用户交互&#xff0c;是一个入门级的互动应用示例。 关键词 UI互…...

Ps:存储 Adobe PDF

在 Adobe Photoshop 中&#xff0c;将图像保存为 PDF 文件时&#xff0c; 会弹出“存储 Adobe PDF” Save Adobe PDF对话框。在此对话框中提供了多个选项&#xff0c;用于控制 PDF 文件的输出&#xff0c;包括一般设置&#xff08;选择预设、兼容性和保留编辑功能&#xff09;、…...

DDR3保姆级使用教程:ZYNQ 7010

内容:使用DDR3 IP核&#xff0c;向DDR3写入数据&#xff0c;然后再读出数据&#xff0c;通过串口打印。 设备&#xff1a;ZYNQ 7010 xc7z010clg-400-1。软件VIVADO 2018.3 &#xff08;1&#xff09;工程模块&#xff1a;一个写FIFO&#xff0c;一个读FIFO。一个ZYNQ IP核&am…...

OpenCV 模板匹配全解析:从单模板到多模板的实战指南

简介&#xff1a;本文深入探讨 OpenCV 中的模板匹配技术。详细介绍构建输入图像与模板图像的步骤&#xff0c;包括读取、截取、滤波与存储等操作。剖析 cv2.matchTemplate 语法及其参数含义&#xff0c;阐述不同匹配方法下结果值的意义。同时讲解 cv2.minMaxLoc 语法&#xff0…...

【JAVA] 杂谈: java中的拷贝(克隆方法)

这篇文章我们来介绍什么是拷贝&#xff0c;并且实现浅拷贝到深拷贝。 目录 一、浅拷贝 1.1 clone 方法 1.2 实现浅拷贝&#xff1a; 1.2.1 重写 clone方法 1.2.2 实现接口 Cloneable 1.2.3 调用克隆方法 1.2.4 原理图&#xff1a;​ 1.3 浅拷贝的不足 1.3.1 增加引用…...

使用 PDF API 合并 PDF 文件

内容来源&#xff1a; 如何在 Mac 上合并 PDF 文件 1. 注册与认证 您可以注册一个免费的 ComPDFKit API 帐户&#xff0c;该帐户允许您在 30 天内免费无限制地处理 1,000 多个文档。 ComPDFKit API 使用 JSON Web Tokens 方法进行安全身份验证。从控制面板获取您的公钥和密钥&…...

北京代办营业执照的正规公司/郑州seo哪家专业

mysql数据库有⼀个wait_timeout的配置&#xff0c;默认值为28800(即8⼩时). 在默认配置不改变的情况下&#xff0c;如果连续8⼩时内都没有访问数据库的操作&#xff0c;再次访问mysql数据库的时候&#xff0c;mysql数据库会拒绝访问。 查看超时时间&#xff1a; show variables…...

郑州治疗精神病哪家好/河南seo推广

过几天小弟要去面试了&#xff0c;当然免不了要好好复习下功课&#xff0c;其实很多东西也不是特别清楚&#xff0c;今天都当作一个回顾和巩固&#xff0c;希望我的这篇文章能对即将去找工作的同学有所帮助。 1. Q&#xff1a;什么是activity&#xff1f; 虽然这个问题现在不流…...

pc开奖网站开发/网址缩短在线生成器

来源是&#xff1a;Text at LEFT如何更改CSS以使两个DIV看起来像&#xff1f;----------------------|Text at LEFT | ####|| | ####|| | ####|| | || | |----------------------即。文本在左侧DIV左上角&#xff0c;图像在右侧DIV右上方对齐。更新&#xff1a;我使用的是&…...

广东门户网站建设/淘宝推广平台

author&#xff1a;skate time&#xff1a;2012/05/24 数据结构设计&#xff08;表&#xff0c;索引的创建&#xff09;的说明 表的设计 1.数据类型的选择 1) 数字类型&#xff1a;分为整数数据类型和浮点数据类型&#xff0c;它们之间的区别是取值范围不同&#xff0c;存储…...

网站搭建就来徐州百度网络非常好/如何在百度上推广自己

用了 Docker&#xff0c;好处挺多的&#xff0c;但是有一个不大不小的问题&#xff0c;它会一不小心占用太多磁盘&#xff0c;这就意味着我们必须及时清理。作为一个有信仰的技术公司&#xff0c;我们Fundebug的后台采用了酷炫的全 Docker 化架构&#xff0c;所有服务&#xff…...

哪里有学习做网站的/网络营销方式都有哪些

2016-12-12 11:57:12使用ajax的开发项目过程中&#xff0c;经常需要将json格式的字符串返回到前端&#xff0c;前端解析成js对象(JSON )。如果直接以json的格式返回则方便很多&#xff0c;有时候通过后台直接写到页面中则会以字符串的方式存在&#xff0c;那么就用到了将字符串…...