MmAP(论文解读) : Multi-Modal Alignment Prompt for Cross-Domain Multi-Task Learning

news2024/9/23 13:30:44

MmAP:跨领域多任务学习的多模态提示对齐

AAAI 2024

摘要

多任务学习(Multi-Task Learning,MTL)同时训练多个相关的任务,从而能够提高单个任务的性能。通常,一个多任务网络架构包含共享backbone和任务特定的解码器。然而,解码器的复杂度随着任务数量的增加而增加。

为了应对以上挑战,本文集成了无解码器的视觉语言模型CLIP,该模型具有鲁棒性的零样本泛化能力。最近,参数高效的迁移学习的方法已经在CLIP上进行了广泛的探索,以适应下游任务,其中提示调优表现出强大的潜力。然而,这些方法仅对单一模态(文本或图像)进行微调,破坏了CLIP的模态结构。

本文首先提出MmAP(Multi-modal Alignment Prompt),在微调过程中对齐文本模态和视觉模态。在MmAP的基础上,本文开发出一个创新的多任务提示学习框架。

一方面,为了最大化相似度高的任务之间的互补性,本文利用梯度驱动的任务分组方法,将任务划分为若干个互不相交的组,并为每个组分配一个组内共享的MmAp。另一方面,为了保留每个任务的独特特性,为每个任务分配了一个任务特定的MmAP。

在两个大型多任务学习数据集上的综合实验表明,与完全微调相比,本文方法在仅使用约为0.09 %的可训练参数的情况下获得了显著的性能提升。

Introduction

多任务学习(Multi-Task Learning,MTL)是一种有效的深度学习方法,它允许在统一的网络结构中对多个相关任务进行联合训练,从而获得比单任务学习(Single-Task Learning,STL)更高的模型性能。MTL的核心在于学习任务共享的表征和任务特定的表征。通过利用跨任务的共享表示和知识,MTL增强了泛化能力并减轻了过拟合。利用特定的表征可以使MTL保留每个任务的不同特征。而且,针对多个任务训练一个统一的模型通常比训练多个单任务模型参数效率更高。因此,多任务机器学习在计算机视觉、自然语言处理等领域引起了广泛的关注。

本文主要关注视觉多任务学习。先前的研究主要集中在多任务模型训练框架的设计上,包括基于编码器的方法和基于解码器的方法。然而,随着视觉预训练模型(ViT,Swin transformer)能力的不断增强,直接针对下游多任务对这些模型进行微调会带来性能的大幅提升,已成为多任务学习的主流方法。在这种微调范式中,仍然需要为每个任务建立一个不同的解码器,其中可训练的参数线性增加。

为了解决上述问题,本文引入预训练的视觉语言模型CLIP ,并认为它是为视觉多任务学习量身定制的。一方面,CLIP使用网络规模的数据(例如, 4亿个文本-图像对)训练对齐语言和视觉模态,使其具有鲁棒性的zero-shot方式迁移到视觉下游任务的能力。另一方面,CLIP的体系结构提供了一个明显的优势。它包括文本编码器和图像编码器,不需要为每个任务建立额外的解码器结构。因此,本文选择使用CLIP来解决视觉多任务问题。

按照传统的预训练-微调范式,整个CLIP参数(约150M )需要更新,这带来了计算和存储开销方面的挑战。最近,许多研究引入了参数有效的迁移学习技术,以实现可训练参数和下游任务性能之间的最佳平衡。尽管如此,这些现有的方法主要集中在预训练的视觉模型或语言模型上,它们对更复杂的视觉语言模型的适用性仍然不确定。此外,这些方法往往强调单任务适应,而多任务适应仍然是一个挑战。

解释图1:首先,本文对现有的较为成功且参数有效的迁移学习方法应用于CLIP视觉多任务学习时的性能进行了全面的测试。通过大量的研究,我们发现快速调优方法VPT - MT、CoOp - MT和MaPLe - MT 比BitFit和Adapter更适合。这可能归因于BitFit和Adapter更新了模型参数,破坏了CLIP原有的结构完整性。相比之下,提示调优方法只修改输入嵌入向量(文字或图像),如图2所示。此外,我们观察到MaPLeMT优于VPT - MT和CoOp - MT,强调了同时微调两种模态的优势。

本文提出一种新颖的CLIP多模态对齐提示(MmAP)以及一个针对多任务图像识别场景的框架。MmAP通过源提示生成文本提示和视觉提示,以实现两种模态的调谐对齐效果。此外,本文设计了一个基于MmAP的多任务提示调优框架。先前的MTL工作已经证实,共同训练相似的任务会产生互补效应,而共同训练不相似的任务则会产生负面效应。因此,首先采用梯度相似度进行分组任务,然后分配一组共享的MmAP进行联合训练。进一步地,为了保持每个任务的独立特性,为每个任务单独建立了任务特定的MmAP。本文在两个大型的跨领域多任务数据集上评估了我们的方法,包括Office - Home和MiniDomainNet。图1展示了在Office - Home上的结果,表明我们提出的方法在可训练参数和性能之间取得了良好的折衷。

本文贡献

(1)本文为CLIP提出了多模态对齐提示( Multi-modal Alignment Prompt,MmAP ),以便在参数高效调优的同时更好地对齐其视觉语言表示。

(2)基于MmAP,本文设计了一个跨域图像识别任务的多任务提示学习框架,包括组内共享的MmAP和任务特定的MmAP。

(3)本文设计了一个基于CLIP的统一库,以基准测试多任务图像识别的各种参数高效调优方法。

(4)在两个常用的视觉多任务数据集上的实验结果表明,与仅利用CLIP参数的0.09 %的多任务全微调相比,本文方法实现了具有竞争力的性能,如图1所示。

Method

本节首先回顾以CLIP为中心的视觉语言模型。随后,提出多模态对齐提示(MmAP)。最后,本文提出了一个统一的提示学习框架,该框架同时包含了群体共享的MmAP和任务特定的MmAP。

3.1 Contrastive Language-Image Pre-training

Image Encoder

在这项工作中,选择ViT作为图像编码器。

(1)给定输入图像I∈RH×W ×3,包含K个transformer层的图像编码器将图像打成M个固定大小的patch.

(2)得到投影patch的嵌入向量E0∈RM×dv。

(3)嵌入向量和一个可学习的类标记ck一起被输入到图像编码器Vk+1的第(k+1)层,并依次通过以下变换:

(4)为了获得最后的图像特征向量,将最后一个transformer层的类标记ck通过ImageProj投影到共同给特征空间中:

Text Encoder

(1)文本编码器包含K个transformer层,将输入的单词打成若干token,然后映射为单词嵌入W0。然后将单词嵌入向量送到文本编码器的Lk+1层:

最终的文本表示z是通过TextProj与最后一个transformer层输出的token投影到潜在的嵌入空间:

Zero Shot Prediction

对于zero-shot预测,在CLIP的语言分支中引入提示,通过加入与下游任务相关联的每个类名来构成文本输入。然后选择余弦相似度分数最高的类别作为图像的预测标签:

3.2 Multi-modal Alignment Prompt

先前的研究主要集中在为单一模态设计提示,例如VPT研究了视觉提示,CoOp提出了可学习的文本提示。本文认为仅调整一种模态的数据回破坏CLIP中的文本图像匹配,从而导致对下游任务的次优适应。当前方法MaPLe提出将文本提示通过参数较多的MLP生成视觉提示,在视觉模态和模型效率方面存在局限性。

为了解决以上的视觉模态和模型效率的问题,本文提出了MmAP(多模态对齐提示),从而同时生成文本提示Pl ∈ Rb×dl和视觉提示Pv ∈ Rb×dv。其中b表示提示向量的个数,dl和dv分别表示文本向量和视觉向量的维度。

然后为两个模态初始化一个源提示Ps ∈ Rm×n和两个单独的缩放矩阵:

,然后使用一种内积为文本编码器和图像编码器生成提示:

本文提出的MmAP有两个明显的优势:

(1)首先克罗内克积的使用博正了源提示信息Ps的最大保存,有利于图像与本文之间的对齐。

(2)可学习参数的数量从K*(dv+dl)变成了m*n+K*(dv+dl)/mn,其中K代表transformer的层数。这种参数的减少不仅使模型更高效,而且降低的过拟合的风险。

3.3 Multi-Task Prompt Learning Framework

在多任务学习中,相似任务的联合训练可以产生互利的效果。通常情况下,可以通过评估任务之间的梯度冲突来量化任务之间的相似性。因此,我们首先将相似的任务组合在一起,每个小组的任务分配一个共享的MmAP ,便于组内相互学习和增强。但是为了保证每个任务的单独特性,也为每个任务分配了一个单独的MmAP,从而满足不同任务的特征需求。

Task Grouping(图3a)

现有的MTL(多任务学习)中已经证实了,梯度余弦相似性可以量化两个任务之间的相似性,也就是说可以通过计算共享参数的梯度来衡量两个任务之间的相似性,得到两个任务在多大程度上可以在联合训练中收益,同时保证预训练的视觉语言模型冻结(图3a)。

具体,给所有的任务全局共享提示MmAP Pglb,第i个任务与第j个任务之间的相似度可以估计为:

其中LT表示在任务T上的损失。当sim(Ti,Tj)大于0,则表明两个任务表现出增益的效应。此外,为了稳健估计,在全局共享MmAP的训练过程中,对使用的多个snapshots进行了平均。在高水平上,同时训练所有任务,在训练的过程中评估成对的任务相似度,并将相似度大的任务确定为任务组。

Multi-Task Prompt Learning(图3b)

本文在MmAP的基础上提出了统一的多任务提示学习框架。

(1)给定N个下游任务,首先根据梯度相似性将其划分为几个不相干的组。用G代表由|G|(1<=|G|<=N)个任务组成的任务组.

(2)为包含K个transformer层的CLIP构建共享的MmAp提示,其中包含语言视觉分支的共享提示和两个缩放矩阵:

群组共享的MmAP在群组内所有任务累积更新,实现了相似任务之间的优势互补。

(4)对于群组G中的任务,为每个任务构建了任务特定的MmAP来学习独特的任务特征,包括源提示和语言视觉分支的缩放矩阵:

(5)在群组G中任务T的训练过程中,首先生成两个编码器第K层的文本视觉提示,然后通过组合cls token、生成的提示和来自于上一层的图像文本向量重构输入令牌。因此,文本编码器和图像编码器中第k层的计算可以表示为:

(6)最后通过优化损失对群组共享的MmAP进行累计更新:

使用以下损失对任务特定的MmAP进行更新:

其中LT表示任务的交叉熵损失。

Conclusion

本文提出了多模态提示对齐(MmAP),用于将CLIP适应于下游任务,这在可训练参数和性能之间实现了与大多数现有方法的最佳权衡。同时,MmAP解决了以往单模态提示方法(例如, CoOp和VPT)破坏CLIP模态对齐的问题。在MmAP的基础上,本文设计了一个多任务提示学习框架,不仅可以让相似的任务一起训练以增强任务的互补性,还可以保留每个任务的独立特性。在有限的下游数据下,本文方法在两个大型多任务学习数据集上取得了显著的性能提升,而仅仅使用了0.09 %的可训练参数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2122217.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

根据NVeloDocx Word模板引擎生成Word(三)

基于永久免费开放的《E6低代码开发平台》的Word模版引擎NVeloDocx&#xff0c;实现根据Word模版生成Word文件&#xff0c;前面2篇已经非常详细介绍了《主表单字段》&#xff0c;《子表记录循环输入到表格》。那这一篇我们就介绍插入单张图片、二维码&#xff0c;条形码等等&…

区块链媒体:区块链媒体套餐倾心推广解析!

塞翁失马&#xff0c;区块链媒体套餐&#xff0c;两者看似毫不相干&#xff0c;实际上却反映了区块链技术的广泛运用和媒体领域的创新模式。本文将带你深入了解这一新兴领域的背后故事&#xff0c;并分析区块链媒体套餐推广的关键因素。 塞翁失马的寓意 塞翁失马是中国古代的一…

实例讲解电动汽车车速计算算法及Simulink建模方法

电动汽车的车速信号是一个非常重要的信号&#xff0c;在VCU软件开发中&#xff0c;车速一般需要通过采集其他控制器车速或者通过电机转速间接计算出来&#xff0c;作为仪表显示车速、限速控制、剩余续驶里程计算等使用&#xff0c;因此&#xff0c;在VCU软件开发中&#xff0c;…

有什么免费好用的ai写作软件?2024帮助你快速进行写作的软件

有什么免费好用的ai写作软件&#xff1f;2024帮助你快速进行写作的软件 AI写作软件如今在提升写作效率、生成灵感、以及帮助完成复杂的写作任务方面表现得越来越出色。以下是五款免费且好用的AI写作软件&#xff0c;它们能够帮助你快速进行写作&#xff0c;无论是博客文章、市…

echarts多组堆叠柱状图

一、效果图 二、代码实现 1、创建容器 <el-card class"box-card"><div slot"header" class"clearfix"><span>课堂学习</span></div><div id"class-learning" style"height: 360px">&l…

strtok与strtok_r函数及线程安全问题

#include <string.h> char *strtok(char *str, const char *delim); char *strtok_r(char *str, const char *delim, char **saveptr); 总的&#xff1a;这两个函数都是分割字符串的函数&#xff0c;但是前者是线程不安全的&#xff0c;后者是线程安全的。 我们先从使用…

网络药理学:分子对接之二:PDB数据库的使用(已知PDB ID)、PubChem数据库如果没有3D结构

PDB数据库使用 官方地址&#xff1a;https://www.rcsb.org/ 首页如下&#xff1a; 我们以热休克蛋白HSP90AA1为例&#xff0c;其PDB ID为7DHG&#xff0c;所以我们在搜索栏输入7DHG&#xff1a; 主要关注红框里的几个地方。 Download 下载文件&#xff0c;一般选择PDB For…

车载以太网

目录 概述 发展历史 总体架构 相关组织介绍 主流车载网络系统 各种总线比较 概述 随着汽车电动化进程的加速推进,手机控制车辆以及彼此交互的场景不断扩大,可以想象未来联网需求只会不断拓展,无论是车内还是车外的联网需求都不约而同的提出了更多网络带宽的重要性。 为…

知识赋能:构建高效测试团队的关键

目录 ​​​​​​问题背景 知识库的重要性 新员工的融入与关键岗位的风险控制 知识库的构成 常见问题讨论 团队历史包袱重、老员工不配合&#xff0c;怎么办&#xff1f; 1. 明确愿景和目标 2. 激励与认可 3. 赋予责任与参与感 4. 循序渐进&#xff0c;逐步推进 5.…

C# 路径操作

一、打开程序所在路径 try{string debugPath System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);System.Diagnostics.Process.Start(debugPath);}catch (Exception ex){MessageBox.Show("无法打开目录&#xff1a;" e…

[开源]YOLOv8+Pyside6的交通红绿灯目标检测源码

[开源]YOLOv8Pyside6的交通红绿灯目标检测源码 一. 项目介绍源码链接 该系统是yolov8目标检测可视化界面检测系统&#xff0c;支持图片、视频、摄像头检测. 系统的模型是自己训练的模型, 源码自取 源码链接 如需自己训练模型, 数据集链接 二. 作者的运行环境 python3.8tor…

一文精通Fourier Transform--傅里叶变换

导读&#xff1a; 在数字信号处理中&#xff0c;我们把信号分为时域信号与频域信号。傅里叶发现&#xff1a;任何周期信号(时域)都能够由不同频率谐波的正弦波(频域)叠加而成。沟通起时域频域最为关键的一点就是我们要学习的傅里叶变换&#xff08;Fourier Transform&#xff0…

党务政务服务|基于SprinBoot+vue的党务政务服务热线系统(源码+数据库+文档)

党务政务服务热线系统 目录 基于SprinBootvue的党务政务服务热线系统 一、前言 二、系统设计 三、系统功能设计 系统功能实现 管理员功能模块 管理员功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博…

威胁建模STRIDE框架

威胁建模STRIDE框架 1.威胁建模框架概述2.STRIDE威胁建模框架欺骗 - 冒充某人或某物篡改 - 未经授权更改数据否认性 - 不宣称对执行的操作负责信息泄露 - 查看不应查看的数据拒绝服务 - 系统繁忙权限提升 - 拥有本不应该拥有的权限 3.后续的威胁发现 1.威胁建模框架概述 威胁建…

如何通过内网穿透实现Pycharm远程服务器编译项目与服务器代码同步

文章目录 前言一、前期准备1. 检查IDE版本是否支持2. 服务器需要开通SSH服务 二、Pycharm本地链接服务器测试1. 配置服务器python解释器 三、使用内网穿透实现异地链接服务器开发1. 服务器安装Cpolar2. 创建远程连接公网地址 四、使用固定TCP地址远程开发 前言 本文主要介绍如…

Flex布局最后一行元素的对齐的解决方案

问题的产生 使用Flex布局&#xff0c;设置justify-content: space-between;让元素在主轴上两队对齐。 <div class"box"><div class"item">1</div><div class"item">2</div><div class"item">3&l…

考试:软件工程(01)

软件开发生命周期 ◆软件定义时期&#xff1a;包括可行性研究和详细需求分析过程&#xff0c;任务是确定软件开发工程必须完成的总目标&#xff0c; 具体可分成问题定义、可行性研究、需求分析等。 ◆软件开发时期&#xff1a;就是软件的设计与实现&#xff0c;可分成概要设计…

【PPT】文字突然变成方框

文章目录 前言一、问题描述二、解决方案参考文献 前言 在 ppt 画图时遇到的问题 一、问题描述 在 ppt 使用过程中&#xff0c;同一字体&#xff0c;有些变成了方框&#xff0c;有些没有变&#xff08;排除字体缺失问题&#xff09; 二、解决方案 如果是页数多了&#xff0…

【用map解决高频单词问题】返回前k个高频单词

目录 1.前言2.题目简介3.求解思路4.示例代码4.1换个稳定排序解决4.2用仿函数强行进行控制 1.前言 ok&#xff0c;好久不写博客了&#xff0c;这里简单的来写一写用到关于容器map来解决前k个高频单词的问题。 当然&#xff0c;这个问题也可以用优先级队列(堆)来解决&#xff0c…

免费扫描试卷的软件有哪些?5个软件帮助你轻松进行试卷扫描

免费扫描试卷的软件有哪些&#xff1f;5个软件帮助你轻松进行试卷扫描 扫描试卷的软件可以帮助你将纸质试卷转化为电子版&#xff0c;方便保存、分享和编辑。以下是五款免费的试卷扫描软件&#xff0c;它们功能强大且易于使用&#xff0c;能够帮助你轻松完成试卷扫描。 试卷…