MmAP(论文解读) : Multi-Modal Alignment Prompt for Cross-Domain Multi-Task Learning
多任务学习(Multi-Task Learning,MTL)同时训练多个相关的任务,从而能够提高单个任务的性能。通常,一个多任务网络架构包含共享backbone和任务特定的解码器。然而,解码器的复杂度随着任务数量的增加而增加。为了应对以上挑战,本文集成了无解码器的视觉语言模型CLIP,该模型具有鲁棒性的零样本泛化能力。最近,参数高效的迁移学习的方法已经在CLIP上进行了广泛的探索,以适应下游任务,
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 %的可训练参数。
更多推荐
所有评论(0)