MMRL: Multi-Modal Representation Learning for Vision-Language Models(多模态表示学习)

article/2025/8/10 8:42:04

摘要

预训练的VLMs,对于跨任务的迁移学习至关重要,然而,在few-shot数据集上微调会导致过拟合,降低在新任务上的性能。为解决这个问题,提出一种新的多模态表征学习框架(MMRL),该框架引入了一个共享、可学习且与模态无关的表示空间,MMRL将空间标记(tokens)投影到文本和图像表征标记(tokens)上,从而促进多模态交互。与之前仅有话类token特征的方法不同,MMRL在encoders的最高层集成了表示tokens——在encoders中,数据集特定的特征更为突出,同时在较低层保留了广义知识。在训练过程中,表征特征和类特征都被优化,其中对表征tokens应用了一个可训练的投影层,而类别token投影层则保持冻结,以保留预训练知识,此外,还引入了一正则化项,以使类别特征和文本特征与来自冻结VLM的零样本特征对齐,从而保证模型的泛化能力,在推理阶段,采用了解耦策略,即对与基础类别,同时利用表征特征和类别特征;而对于新任务,则仅使用保留了更多通用知识的类别特征,在15个数据集上进行的大量实验表明,MMRL优于现有最先进的方法,在任务特定适配与泛化之间实现了平衡的权衡。Code is available at
https://github.com/yunncheng/MMRL

1、介绍

介绍了视觉语言模型(VLMs),如CLIP,因其能利用文本和视觉模态的互补信息而受到关注,但在适应新任务时存在局限性,因为微调大规模架构需要大量计算资源。

为促进VLMs的高效适应,提出了提示工程和集成等策略,但手动设计提示耗时且需要专业知识,无法保证找到最优提示。CoOp引入了提示学习,通过优化连续可学习的向量来实现高效的数据集适应。MaPLe发现仅在文本模态内进行提示学习可能并非最优,提出了一种多模态提示学习方法,通过耦合函数将深度提示嵌入到VLM编码器的较低层中,以增强视觉和文本表征之间的对齐。

除了提示学习外,还介绍了适配器风格学习方法,通过在VLMs中集成轻量级模块来调整为下游数据集提取的特征。CLIP-Adapter和MMA是这种方法的例子,它们通过不同的方式优化文本和视觉表征之间的对齐。

当前的多模态深度提示学习方法在浅层应用提示拼接可能会损害通用知识,且主要更新都集中在文本提示上。此外,提示学习和适配器风格方法都容易过拟合到特定的数据分布或任务类别,导致VLMs的泛化能力和零样本学习能力下降。

为应对这些挑战,我们提出了一种新颖的多模态表征学习框架,该框架有别于传统的提示学习和适配器风格方法。具体而言,我们在编码器的较高层引入了一个共享、可学习且与任何模态都无关的表征空间。这个空间作为多模态交互的桥梁,将该空间中的标记映射到图像和文本表征标记上,然后与原始编码器标记拼接,以实现有效的多模态交互。我们的表征标记旨在从下游任务中学习数据集特定的知识,同时对原始分类标记进行正则化处理,以保留大量可泛化的知识。MMRL具有三个关键优势:(1)一个无偏的共享表征空间,促进了平衡的多模态学习;(2)通过避免在编码器的浅层集成提示,保留了原始VLM的泛化能力;(3)与仅通过可学习的提示或适配器来优化类别标记特征的提示学习或适配器风格方法不同,我们的方法支持跨类别的解耦推理。在训练过程中,我们优先优化表征标记特征,其投影层是可训练的,而原始类别标记的投影层则保持固定。为进一步保留类别标记的泛化能力,我们使用一个正则化项,将其特征与来自冻结VLM的零样本特征对齐。在推理阶段,对于基础类别,我们同时利用表征标记和类别标记特征;而对于未见类别或新数据集,则仅使用类别标记特征。我们的主要贡献总结如下:
• 我们引入了多模态表征学习(MMRL)框架,该框架包含一个共享、无偏且可学习的空间,该空间桥接了图像和文本模态,在原始编码器的较高层促进了多模态交互。
• 采用解耦策略,通过为下游任务适配表征标记,同时对新任务中的原始类别标记进行正则化处理,保留了VLM的泛化能力。
• 大量实验表明,MMRL显著提高了下游任务的适应性和泛化能力,相较于基线方法取得了更优的性能。

2、相关工作

2.1  Vision-Language Models

2.2 Efficient Transfer Learning

提示学习方法已被证明在适配视觉语言模型(VLMs)方面是有效的。CoOp 通过将固定模板替换为可学习的连续向量,开创了提示学习的先河,提高了灵活性,但牺牲了CLIP的零样本和泛化能力。为解决这一问题,CoCoOp融入了视觉线索来生成针对特定实例的提示,从而提高了对类别分布变化的泛化能力,而ProDA  则通过学习提示分布来增强适应性。PLOT 利用最优传输方法来对齐视觉和文本模态。KgCoOp 通过最小化学习到的提示与精心设计的提示之间的差异,保留了通用的文本知识。ProGrad 选择性地更新与通用知识对齐的梯度,而RPO 则利用掩码注意力机制来缓解内部表征的偏移。除了以文本为中心的方法外,MaPLe 通过耦合函数将文本提示映射为视觉提示并加以整合,促进了跨模态的协同作用。ProVP 采用单模态视觉提示,并通过对比特征重构来使提示的视觉特征与CLIP的分布对齐。PromptSRC 采用自正则化策略来缓解过拟合问题,而MetaPrompt 则应用了一种基于元学习的提示调整算法,鼓励针对特定任务的提示能够在不同领域或类别之间进行泛化。TCP  将文本知识适配为类别感知的标记,从而增强了泛化能力。

适配器风格学习方法代表了VLM适配的另一条高效途径。CLIP-Adapter 使用轻量级适配器(以两层多层感知机(MLP)的形式实现)来通过交叉熵优化改进CLIP的特征表示。在此基础上,Tip-Adapter 缓存了训练特征,以便在测试特征和训练特征之间进行高效的相似度计算。然而,这两种方法在预测之前都是独立处理图像和文本表示的。为了解决这种分离问题,MMA 将不同分支的特征整合到一个共享空间中,允许跨分支的梯度流动,并增强了模态之间的连贯性。

除了上述方法外,还有几种方法利用大型语言模型(LLMs),如GPT-3,进行文本增强或在整个数据集上应用蒸馏技术来提高性能。然而,这些方法所带来的计算需求增加可能会使它们超出高效迁移学习的预期范围。

3、方法

本方法与之前方法一致,建立在预训练的VLM, CLIP的基础上,

3.1. Preliminary

首先定义方法中的符号,在CLIP包含两个编码器:图像编码器\nu和文本编码器\omega

Image Encoding: 图像编码器\nu,由L个transformer 层组成,定义为\{ \nu _i\}^L_{i=1}.输入图像x\in\mathbb{R}^{H\times W\times3},它被划分为M个固定大小的patchs,每个补丁都被投影到一个patch embedding中,结果为E_0\in\mathbb{R}^{M \times d_v}其中M表示patch的个数,d_v为embedding (嵌入)维度。初始嵌入向量E_0与一个可学习的类别标记(token)c_0和位置编码相结合,形成transformer的输入序列,每一层都处理这个序列:

[c_i ,E_i]=\nu _i([c_{i-0},E_{i-1}]) \, \, \, i=1,2,...L

经过所有的transformer层之后,一个patch投影层P^c_v将类别tokenc_L 的输出映射到共享的V-L潜在空间中

f=P^c_v(c_L)    其中f\in \mathbb{R}^d

Text encoding:对于输入文本,例如“A photo of a [CLASS].”它被tokenized 和转化为embeddingsT_o\in \mathbb{R}^{N \times d_t},其中N是token的长度,d_t是embedding的维度,开始文本(BOT)和结束文本(EOT)标记,分别表示为b_0e_0标记序列边界,这些 token embeddings和位置编码,通过文本编码器的L个Transformer层\{​{\omega _i}\}^L_{ i=1},如下所示:

[b_i ,T_i,e_i]=\omega _i([b_{i-0},T_{i-1}, e_{i-1}]) \, \, \, i=1,2,...L

在最后一层之后,EOT标记的输出e_L通过P_t投影到共享的V-L空间中。

w=P_t(e_L) 其中w\in \mathbb{R}^d

Classification with CLIP: 通过图像特征f和文本特征\{w_c\}^C_{c=1},对于C个类别,CLIP计算f与每个w_c之间的余弦相似度。

sim(f,w_c)=\frac{f\cdot w_c}{\left | f \right | \left |w_c \right |}   其中\left | \cdot \right |表示L_2 norm,类别概率使用sotftmax函数计算

其中\tau是温度参数,最终预测类别是概率得分最高的那个。

3.2 Multi-Modal Representation Learning (MMRL)

我们提出的MMRL旨在解决使用少量数据调整预训练VLM的挑战,同时保持对新任务的泛化能力。MMRL的训练和推理框架分别如图2和图3所示。下面,我们将详细介绍方法论。

3.2.1  Learnable Representation Space

MMRL 建立了一个共享的、可学习的表征空间 R,以促进多模态交互,通过从高斯分布中采样进行初始化。使用一个可学习的映射函数 F(\cdot ),实现为一个线性层,我们将该空间中的标记R \in \mathbb{R}^{K \times d_r}—其中 K 是tokens的数量,dr 是表征空间的维度——投影到视觉和文本模态中。

其中R^v_i \in \mathbb{R}^{K \times d_v}R^t_i \in \mathbb{R}^{K \times d_t}分别表示在第 (i+1) 层transformer中的视觉和文本模态的表征tokens。索引 J 表示这些表征token开始整合到编码器的起始层。

3.2.2. Integration into Higher Encoder Layers

为了在预训练的CLIP模型的较低层中保留广义知识,从第J层开始,将表征token R^vR^t集成到图像编码器\nu和文本编码器\omega的较高层中

对于图像编码器\nu

对于文本编码器\omega,虽然之前的提示学习涉及替换T_i的部分以融入深度提示,我们保留了整个T_i并在其之前插入R^t_i,旨在保留原始文本信息,

由于文本编码器的自回归特性,我们调整了注意力掩码矩阵以适应嵌入长度的增加。

3.2.3. Representation Learning

表征学习旨在利用表征token进行特定数据集的适应,而类标记则保留了原始CLIP的预训练知识。通过一系列旨在在训练和推理过程中保持泛化的策略,MMRL能够为不同的任务提供灵活的推理,详情如下。

 训练阶段:同时优化表征标记(representation tokens)和原始类别标记(original class token)的特征,但主要侧重于表征特征,以保留预训练知识。具体而言,表征标记的投影层是可训练的,而类别标记的投影层则保持固定。对于图像编码器\nu,在经过L层Transformer层后,得到类别标记的输出c_L \in \mathbb{R}^ {d_v},以及K个表征标记的输出R^v_L \in \mathbb{R}^{K \times d_v}。表征标记的最终输出r_L,是通过计算这K个标记的平均值得到的,

其中,r_L \in \mathbb{R}^ {d_v}。随后,我们应用补丁投影层(patch projection layers),将类别标记和表征标记的输出都映射到通用的视觉-语言(V-L)潜在空间中,从而得到类别特征f_c和表征特征f_r

其中,P^c_v是CLIP中用于类别特征的原始,即冻结的补丁投影层,而用于表征特征的P^r_v是可训练的。

对于文本编码器W,考虑到文本的序列特性,在经过L层Transformer层处理后,将与原始CLIP模型中相同的EOT标记e_L映射到通用的视觉-语言(V-L)空间中,从而得到文本特征。

利用图像特征f_c​、f_r,以及针对C个类别的文本分类器{\{ w_c \}^C_{c=1},采用交叉熵损失函数来分别优化类别特征和表征特征。

其中,如果图像x属于类别c,则y_c=1,否则y_c=0。为了进一步保留类别特征的泛化能力,我们最大化(f_c,w)与冻结的CLIP特征(f_0, w_0)之间的余弦相似度,从而显式地引导训练过程。

最终MMRL的损失函数为

其中\alpha控制特征之间的平衡,\lambda是惩罚系数

Testing on Base Classes:对于在训练过程中见过的分布内类别,我们将数据集特定的表征特征与保留泛化能力的类别特征相结合。一个属于分布内测试样本x属于第c类的概率是

其中f_cf_r分别是从类标记和表示标记中提取的特征。

Testing on Novel Classes:对于在训练过程中未见过的类别或新的数据集,我们完全依赖于类标记,这些标记保留了通用知识。


http://www.hkcw.cn/article/JMJhgPjxso.shtml

相关文章

【芯片学习】555

一、引脚作用 二、原理图 三、等效原理图 1.比较器 同相输入端大于反相输入端,输出高电平,反之亦然 2.三极管 给它输入高电平就可以导通 3.模拟电路部分 4.数字电路部分 这部分的核心是RS触发器,R-reset代表0,set是置位代表1&am…

从线性代数到线性回归——机器学习视角

真正不懂数学就能理解机器学习其实是个神话。我认为,AI 在商业世界可以不懂数学甚至不懂编程也能应用,但对于技术人员来说,一些基础数学是必须的。本文收集了我认为理解学习本质所必需的数学基础,至少在概念层面要掌握。毕竟&…

DAY 36 超大力王爱学Python

仔细回顾一下神经网络到目前的内容,没跟上进度的同学补一下进度。 作业:对之前的信贷项目,利用神经网络训练下,尝试用到目前的知识点让代码更加规范和美观。探索性作业(随意完成):尝试进入nn.Mo…

【Oracle】数据备份与恢复

个人主页:Guiat 归属专栏:Oracle 文章目录 1. Oracle备份恢复概述1.1 为什么备份这么重要?1.2 Oracle备份策略全景图 2. 物理备份详解2.1 冷备份 - 最简单粗暴的方式2.1.1 冷备份的步骤2.1.2 冷备份恢复过程 2.2 热备份 - 不停机的备份艺术2.…

使用BERT/BiLSTM + CRF 模型进行NER进展记录~

使用代码处理数据集,发现了一些问题,以及解决办法~ 下载了一组数据集,数据存放在CSV中,GBK格式。如下: 首先对每一列直接进行NER抽取,结果非常不好: 几乎是乱抽取的,解决办法是自己创…

18. Qt系统相关:多线程

一、概述 在Qt中,使用QThread类对系统线程进行了封装。QThread代表一个在应用程序中可独立控制的线程,也可以和进程中的其他线程共享数据。 二、QThread常用API 三、QThread使用 自定义一个类,继承自QThread,并且只有一个线程处…

YOLOv7 辅助检测头与重参数化解析2025.6.1

YOLOv7 是目标检测领域的一个重要模型,其在速度和精度之间取得了较好的平衡。其中的**辅助检测头(Auxiliary Head)和重参数化(Re-parameterization)**是其核心创新点。以下是对这两个技术的详细解析: 一、辅…

CP4-OFDM模糊函数原理及仿真

文章目录 前言一、互补P4码序列二、barker-OFDM 信号1、OFDM 信号表达式2、模糊函数表达式 三、MATLAB 仿真1、MATLAB 核心源码2、仿真结果①、CP4-OFDM 模糊函数②、CP4-OFDM 距离分辨率③、CP4-OFDM 速度分辨率④、CP4-OFDM 等高线图 四、资源自取 前言 本文进行 CP4-OFDM 的…

【C语言预处理详解(上)】--预定义符号,#define定义常量,#define定义宏,带有副作用的宏参数,宏替换的规则,宏和函数的对比

目录 一.预定义符号 二.#define定义常量 三.#define定义宏 3.1--定义宏的方法和注意事项 3.2--带有副作用的宏参数 3.3--宏替换的规则 四.宏与函数的对比 🔥个人主页:草莓熊Lotso的个人主页 🎬作者简介:C研发方向学习者 &a…

CppCon 2014 学习:C++ Memory Model Meets High-Update-Rate Data Structures

这段内容是对一个主题的概览(Overview),涉及并行更新的问题,特别是“Issaquah Challenge”这个具体案例。详细解读如下: Overview(概览) The Issaquah Challenge 这是一个特定的挑战或问题&am…

如何用利用deepseek的API能力来搭建属于自己的智能体-优雅草卓伊凡

如何用利用deepseek的API能力来搭建属于自己的智能体-优雅草卓伊凡 上一篇文章我们已经介绍了智能体和大模型AI的区别,现在我们开始搭建自己的智能体进行工作 1. 了解 DeepSeek 提供的 AI 能力 DeepSeek 提供强大的 大语言模型(LLM)&#x…

智能制造之精读——RPA制造行业常见场景【附全文阅读】

RPA 在制造行业应用广泛,为企业带来显著价值,是极具潜力的智能化解决方案。它能节省成本,降低人力与管理成本;提升运营效率,减少人机交互损耗;提高质量,保障流程准确性;还能增强合规…

【2025.06】jupyter notebook 7+ 新手安装、配置、扩展应用(windows篇)

本文目录 前述一、安装二、配置2.1 jupyter_notebook_config.py生成配置文件2.2 服务器与网络设置a. 修改端口号b. 允许远程访问c. 设置工作目录 2.3 安全与认证a. 禁用密码登录(仅限本地安全环境)b. 设置登录密码c. 启用SSL加密(HTTPS&#…

ASP.NET Core SignalR 身份认证集成指南(Identity + JWT)

文章目录 前言一、完整解决方案架构二、实现步骤1.配置 Identity 和 JWT 认证2. SignalR JWT配置3.SignalR Hub 集成认证和授权4.控制器5.客户端集成 (JavaScript)6.配置 appsettings.json 三、认证流程详解1.用户登录:2.SignalR 连接:3.JWT 验证&#x…

Redis最佳实践——性能优化技巧之数据结构选择

Redis在电商应用中的数据结构选择与性能优化技巧 一、电商核心场景与数据结构选型矩阵 应用场景推荐数据结构内存占用读写复杂度典型操作商品详情缓存Hash低O(1)HGETALL, HMSET购物车管理Hash中O(1)HINCRBY, HDEL用户会话管理Hash低O(1)HSETEX, HGET商品分类目录Sorted Set高O…

【Tauri2】049——upload

前言 这篇就看看一个简单地插件——upload Upload | Taurihttps://tauri.app/plugin/upload/upload的英文意思是“上传(程序或信息)”。 看来是用来上传文件的。 支持移动端 正文 安装 pnpm tauri add upload 在前后端都会安装,即 .plug…

《深度解构现代云原生微服务架构的七大支柱》

☁️《深度解构现代云原生微服务架构的七大支柱》 一线架构师实战总结,系统性拆解现代微服务架构中最核心的 7 大支柱模块,涵盖通信协议、容器编排、服务网格、弹性伸缩、安全治理、可观测性、CI/CD 等。文内附架构图、实操路径与真实案例,适…

ADAS概述

一、ADAS的概念 1.1 ADAS功能概述、架构方案、控制器、传感器 核心概念:ADAS(Advanced Driving Assistance System)是高级驾驶辅助系统的总称,包含三大类功能: 舒适体验类:如自适应巡航(ACC)、高速公路辅助(HWA)、车道居中控制&…

深入探讨redis:万字讲解集群

什么是集群 广义的集群:多个机器,构成了分布式系统,就可以称为“集群”。 狭义的集群:redis提供的集群模式,这个集群模式之下,主要解决的是存储空间不足的问题(拓展存储空间) 随着数据量的增多一台机器的…

一键开关机电路分析

左边电源9V为输入电源,中间有一个LDO,输出5V给右侧的芯片供电。 Q1是PNP三极管,Q2和Q3是NPN三极管。 初始状态下,按键断开,Q3截止,故Q1的基极为高电平,电压为9V,be间没有电流流过&am…