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

MMCA:多模态动态权重更新,视觉定位新SOTA | ACM MM‘24 Oral

来源:晓飞的算法工程笔记 公众号,转载请注明出处

论文: Visual Grounding with Multi-modal Conditional Adaptation

  • 论文地址:https://arxiv.org/abs/2409.04999
  • 论文代码:https://github.com/Mr-Bigworth/MMCA

创新点


  • 提出了多模态条件适应(MMCA)方法,该方法从一种新颖的权重更新视角改善了视觉引导模型中视觉编码器的特征提取过程。
  • 将提出的MMCA应用于主流的视觉引导框架,并提出了灵活的多模态条件变换器和卷积模块,这些模块可以作为即插即用组件轻松应用于其他视觉引导模型。
  • 进行广泛的实验以验证该方法的有效性,在四个具有代表性的数据集上的结果显示出显著的改善,且成本较小。

内容概述


视觉定位旨在将传统的物体检测推广到定位与自由形式文本描述相对应的图像区域,已成为多模态推理中的核心问题。现有的方法通过扩展通用物体检测框架来应对这一任务,使用独立的视觉和文本编码器分别提取视觉和文本特征,然后在多模态解码器中融合这些特征以进行最终预测。

视觉定位通常涉及在同一图像中定位具有不同文本描述的物体,导致现有的方法在这一任务上表现不佳。因为独立的视觉编码器对于相同的图像生成相同的视觉特征,从而限制了检测性能。最近的方法提出了各种语言引导的视觉编码器来解决这个问题,但它们大多仅依赖文本信息,并且需要复杂的设计。

LoRA在适应不同下游任务的高效性的启发,论文引入了多模态条件适配(MMCA),使视觉编码器能够自适应更新权重,专注于与文本相关的区域。具体而言,首先整合来自不同模态的信息以获得多模态嵌入,然后利用一组从多模态嵌入生成的权重系数,来重组权重更新矩阵并将其应用于视觉定位模型的视觉编码器。

MMCA


MMCA遵循典型的端到端编码器-解码器范式:

  1. 给定一幅图像和一个语言表达作为输入将其输入到编码器部分,以生成相应的特征嵌入。
    1. 在语言分支中,语言主干将经过分词的语言表达作为输入,并提取文本特征 f t ∈ R N t × C t f_t\in \mathbb{R}^{N_t\times C_t} ftRNt×Ct ,其中 N t N_t Nt 是语言标记的数量。
    2. 在视觉分支中,CNN主干首先提取一个二维特征图,然后经过一系列变换器编码器层,生成一个展平的视觉特征序列 f v ∈ R N v × C v f_v\in \mathbb{R}^{N_v\times C_v} fvRNv×Cv
    3. 多模态条件适应(MMCA)模块以层级方式应用于卷积层和变换器层的参数矩阵。该模块同时接受视觉和文本特征作为输入,并动态更新视觉编码器的权重,以实现基于语言的视觉特征提取。
  2. 将视觉和文本特征嵌入连接在一起,并在多模态解码器(视觉-语言变换器)的输入中添加一个可学习的标记 [REG],该解码器将来自不同模态的输入标记嵌入对齐的语义空间,并通过自注意力层执行模态内和模态间的推理。
  3. 回归头使用 [REG] 标记的输出状态来直接预测被指对象的四维坐标 b ^ = ( x ^ , y ^ , w ^ , h ^ ) \hat b = (\hat{x}, \hat{y}, \hat{w}, \hat{h}) b^=(x^,y^,w^,h^) 。与真实框 b = ( x , y , w , h ) b = (x, y, w, h) b=(x,y,w,h) 的训练损失可以表述为:
    L = L s m o o t h − l 1 ( b ^ , b ) + L g i o u ( b ^ , b ) \begin{equation} \mathcal L=\mathcal L_{smooth-l1}(\hat b, b)+L_{giou}(\hat b, b) \end{equation} L=Lsmoothl1(b^,b)+Lgiou(b^,b)

条件适应

对于视觉引导任务,论文希望不同的指代表达能够控制视觉编码器的一组权重更新,从而引导编码器的注意力集中在与文本相关的区域。然而,直接生成这样的矩阵带来了两个缺点:(1)这需要一个大型参数生成器。(2)没有约束的生成器可能在训练中对表达式过拟合,而在测试期间却难以理解表达式。

LoRA的启发,让网络学习一组权重更新的基矩阵并使用多模态信息重新组织更新矩阵。这使得参数生成器变得轻量,并确保网络的权重在同一空间内更新。

具体而言,先对权重更新矩阵进行分解,并将其重新表述为外积的和,通过 B i , A i B_i, A_i Bi,Ai 并使用加权和来控制适应的子空间:

KaTeX parse error: Undefined control sequence: \label at position 76: …B_i\otimes A_i \̲l̲a̲b̲e̲l̲{eq3} \end{equa…

KaTeX parse error: Undefined control sequence: \label at position 87: …B_i\otimes A_i \̲l̲a̲b̲e̲l̲{eq4} \end{equa…

为了简化并且不引入其他归纳偏差,使用线性回归来生成这一组权重:

KaTeX parse error: Undefined control sequence: \label at position 77: …2, ..., b_r]^T \̲l̲a̲b̲e̲l̲{eq5} \end{equa…

其中 W g ∈ R r × d , [ b 1 , b 2 , . . . , b r ] T W_g\in \mathbb{R}^{r\times d}, [b_1, b_2, ..., b_r]^T WgRr×d,[b1,b2,...,br]T 是参数矩阵, E m m ∈ R d E_{mm}\in \mathbb{R}^{d} EmmRd 是特定层的多模态嵌入,它是由文本特征和从前一层输出的视觉特征生成的。

与迁移学习任务不同,这里并不打算微调一小部分参数以适应特定的下游任务,而是希望视觉编码器能够适应各种表达。因此,所有参数矩阵 W 0 , B , A , W g , [ b 1 , b 2 , . . . , b r ] T W_0, B, A, W_g, [b_1, b_2, ..., b_r]^T W0,B,A,Wg,[b1,b2,...,br]T 在训练阶段都是可学习的。

多模态嵌入

仅依赖文本信息来引导视觉编码器可能会在某些应用中限制灵活性,并且性能可能会受到文本信息质量的影响。为了缓解这些问题,采用门控机制来调节文本信息的输入。

给定文本特征 F t ∈ R N t × C t F_t\in \mathbb{R}^{N_t\times C_t} FtRNt×Ct 和展平的视觉特征 F v ∈ R H W × C v F_v\in \mathbb{R}^{HW\times C_v} FvRHW×Cv ,使用简单门控机制来融合视觉和文本嵌入:

E t = W t F t , E v = W v F v \begin{equation} E_{t} = W_tF_t, E_{v}=W_vF_v \end{equation} Et=WtFt,Ev=WvFv

α = σ [ W g 1 δ ( W g 2 ( E t + E v ) ) ] \begin{equation} \alpha =\sigma[W^1_g\delta(W^2_g(E_{t}+E_{v}))] \end{equation} α=σ[Wg1δ(Wg2(Et+Ev))]

E m m = α E t + E v \begin{equation} E_{mm} = \alpha E_{t} + E_{v} \end{equation} Emm=αEt+Ev

最后,融合嵌入 E m m E_{mm} Emm 被用来生成系数,从而指导视觉编码器的权重更新。

适配视觉定位

基于视觉编码器(卷积层和Transformer层),进一步提出了多模态条件Transformer和多模态条件卷积,用于将MMCA应用于视觉定位中。

  • 多模态条件Transformer

视觉主干中的Transformer编码器层主要由两种类型的子层组成,即MHSAFFN。通过应用多模态条件适应,MHSAFFN的计算变为:

KaTeX parse error: Undefined control sequence: \label at position 159: …k} \end{split} \̲l̲a̲b̲e̲l̲{eq8} \end{equa…

KaTeX parse error: Undefined control sequence: \label at position 60: …ta W_{m}h'+h') \̲l̲a̲b̲e̲l̲{eq9} \end{equa…

其中 Δ W q , Δ W k , Δ W m \Delta W_{q}, \Delta W_{k}, \Delta W_{m} ΔWq,ΔWk,ΔWm 是查询、关键和MLP块的线性投影的条件权重更新。

  • 多模态条件卷积

为了便于应用多模态条件适应,将卷积权重更新展开为一个2-D矩阵并用两个矩阵 B ∈ R c i n × r , A ∈ R r × c o u t k 2 B\in \mathbb{R}^{c_{in}\times r}, A\in \mathbb{R}^{r\times c_{out}k^2} BRcin×r,ARr×coutk2 进行近似,秩为 r r r 。于是,卷积块的多模态条件适应可以通过两个连续的卷积层 C o n v B Conv_B ConvB C o n v A Conv_A ConvA 来近似:

KaTeX parse error: Undefined control sequence: \label at position 82: …dot Conv_B(X)) \̲l̲a̲b̲e̲l̲{eq10} \end{equ…

其中 X X X W m m = [ w 1 , w 2 , . . . , w r ] T W_{mm}=[w_1, w_2, ..., w_r]^T Wmm=[w1,w2,...,wr]T 分别是来自前一卷积层的视觉特征和从多模态嵌入生成的权重系数。在通道维度上计算系数与 C o n v B Conv_B ConvB 输出的点积,并将输出输入到 C o n v A Conv_A ConvA ,这相当于重新组织权重更新。

主要实验




如果本文对你有帮助,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】

work-life balance.

http://www.lryc.cn/news/476171.html

相关文章:

  • linux同步执行命令脚本 (xcall)
  • opencv - py_imgproc - py_grabcut GrabCut 算法提取前景
  • ChatGPT多模态命名实体识别
  • 04-Dubbo的通信协议
  • 开源数据库 - mysql - innodb源码阅读 - 线程启动
  • 在美团外卖上抢券 Python来实现
  • 【ONLYOFFICE 文档 8.2 版本深度测评】功能革新与用户体验的双重飞跃
  • npm入门教程18:npm发布npm包
  • VueSSR详解 VueServerRenderer Nutx
  • 构建您自己的 RAG 应用程序:使用 Ollama、Python 和 ChromaDB 在本地设置 LLM 的分步指南
  • 谷歌浏览器安装axure插件
  • Java唯一键实现方案
  • opencv - py_imgproc - py_canny Canny边缘检测
  • Spring Boot 创建项目详细介绍
  • 70B的模型需要多少张A10的卡可以部署成功,如果使用vLLM
  • clickhouse配置用户角色与权限
  • 面试题整理 4
  • React基础大全
  • 51c大模型~合集10
  • 【已解决】element-plus配置主题色后,sass兼容问题。set-color-mix-level() is...in Dart Sass 3
  • JavaWeb——Web入门(4/9)-HTTP协议:请求协议(请求行、请求头、请求体、演示 )
  • 软考:数据库考点总结
  • Flash的语音ic型号有哪些?
  • 10天进阶webpack---(1)为什么要有webpack
  • HTML CSS
  • 第03章 MySQL的简单使用命令
  • 【C++动态规划】2435. 矩阵中和能被 K 整除的路径|1951
  • 三、Kafka集群
  • [数据结构]堆
  • UDP-鼠李糖合成酶基因的克隆与鉴定-文献精读76