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

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


http://www.kler.cn/a/421919.html

相关文章:

  • (一)Linux下安装NVIDIA驱动(操作记录)
  • PyTorch|彩色图片识别
  • 计算机网络-网络安全
  • linux 获取公网流量 tcpdump + python + C++
  • 嵌入式系统应用-LVGL的应用-平衡球游戏 part2
  • 夜神模拟器+Charles+postern+Mgisk+TrustMeAlready实现抓包
  • Go-知识依赖管理2
  • 力扣【算法学习day.50】
  • go语言的成神之路-筑基篇-并发
  • 亚马逊云(AWS)使用root用户登录
  • MySQL算法篇(一)
  • html button 按钮单选且 高亮
  • web安全之信息收集
  • jupyter+云服务器+内网穿透=无痛远程jupyter服务
  • C++ 分治
  • 基于Matlab高速动车组转臂定位橡胶节点刚度对车辆动力学影响仿真研究
  • 限定符使用
  • 使用 GORM 与 MySQL 数据库进行交互来实现增删改查(CRUD)操作
  • PHP语法学习(第三天)
  • Kali Linux使用Netdiscover工具的详细教程
  • cdn服务
  • java 将本地的音频文件转为流,并把流地址发送到前端,通过浏览器可以播放音频
  • SpringBoot引入mongdb
  • CLIP模型也能处理点云信息
  • redis都有哪些用法
  • PTA--数据结构预习报告:旅游规划问题