Advertisement

《MaPLe: Multi-modal Prompt Learning》中文校对版

阅读量:

系列论文研读目录


文章目录

  • 论文研读大纲

    • 标题为《Maple:多模态提示学习》

    • 摘要

    • 绪论

    • 相关研究综述

      • 视觉语言模型及其
        • 提示学习技术探讨:
          • 视觉语言模型中对提示学习的研究与应用:
    • 3.方法

      • 3.1.回看CLIP

        • 编码图像:
        • 编码文本:
        • Zero-shot分类:
      • 3.2.Maple:多模态提示学习

        • 3.2.1深度语言提示
        • 3.2.2 深度视觉提示
        • 3.2.3视觉语言提示耦合
    1. 实验
    • 4.1 基准系统设计

      • 基于基础类向新类别迁移的泛化策略:

        • 全局视角下的跨数据集评估:
        • 针对领域特性的概括机制:
        • 数据来源及构建标准的选择与优化:
        • 实现架构与技术支持:
      • 4.2.用视觉语言提示CLIP

      • 4.3.“基础到新”的泛化

      • 4.4.跨数据集评价

      • 4.5.域泛化

      • 4.6.消融实验

    • 5.结论


题目:《Maple:多模态提示学习》

摘要

预训练的视觉语言(V-L)模型如CLIP等已经展现了在下游任务中的卓越泛化性能然而它们对输入文本提示的选择极其敏感因此选择合适的提示模板对于良好执行至关重要受自然语言处理领域的研究启发最近提出的CLIP适应方法将提示作为文本输入用于学习并通过微调CLIP模型来执行下游任务我们发现仅在单个分支中使用提示来适应视觉或语言表示并非最优选择因为这种做法无法实现下游任务中两个表示空间之间的动态调整灵活性为此我们提出了一种多模态提示学习框架Maple旨在提升视觉与语言表征的一致性通过强化视觉与语言提示之间的紧密耦合从而促进相互协同作用并防止学习产生多峰解为了逐步建模阶段特征关系我们在不同早期阶段分别学习独立的提示机制这有助于实现丰富的上下文信息获取我们评估了Maple方法在三个典型任务上的有效性包括推广到新类别的能力以及在新的目标数据集上的表现同时实现了到看不见领域的新转移效果与现有的Co-CoOp方法相比Maple展现出优异性能其平均绝对增益达11个图像识别数据集上新类别上的345%以及整体谐波平均值上的272%此外我们的代码和预训练模型已在https://github.com/muzairkhattak/multimodalprompt-learning公开

1.简介

  1. 基础视觉语言(V-L)模型,如CLIP(对比图像预训练)[32]已经显示出对下游任务的出色泛化能力。这种模型经过训练,以在网络规模的数据上对齐语言和视觉模态,例如,CLIP中有4亿个文本图像对。由于自然语言提供了丰富的监督,这些模型可以推理开放词汇的视觉概念。在推断期间,使用手工设计的文本提示,比如’‘a photo of a '作为查询文本的编码器。将输出文本嵌入与来自图像编码器的视觉嵌入进行匹配以预测输出类。设计高质量的上下文提示已被证明可增强CLIP和其他V-L模型的性能[17,42]。
  2. 尽管CLIP在推广新概念方面有效,但其庞大的规模和缺乏的训练数据(例如,few-shot设置)使得不可能为下游任务微调完整模型。这种微调也可能忘记在大规模预训练阶段获得的有用知识,并可能造成过度适应下游任务的风险。为了解决上述挑战,现有的工作提出了语言提示学习以避免手动调整提示模板,并提供了一种机制来在保持原始权重冻结的同时适应模型[14,25,29,48,49]。受自然语言处理(NLP)的启发,这些方法仅探索CLIP中文本编码器的即时学习(图1:a),而自适应选择以及CLIP中同样重要的图像编码器仍然是文献中未探索的主题。
  3. 我们的动机来自CLIP的多模态特性,其中文本和图像编码器共存,并且都有助于正确对齐V-L模态。我们认为,任何提示技术应该完全适应模型,因此,学习提示只为文本编码器,在CLIP中,是不足以模拟图像编码器所需的适应的。为此,我们开始在提示方法中实现完整性,并提出多模态提示学习(MaPLe)来充分微调文本和图像编码器表示,以便在下游任务中实现最佳对齐(图1:B)。我们在三个关键的代表性设置上进行了广泛的实验,包括基础到新的泛化,跨数据集评估和域泛化,证明了Maple的实力。在基于新的泛化方面,我们提出的Maple在11个不同的图像识别数据集上优于现有的快速学习方法(图1:c),并在最先进的方法Co-CoOp上实现了3.45%的绝对平均增益和2.72%的谐波平均值[48]。此外,MaPLe在跨数据集传输和域泛化设置中表现出良好的泛化能力和鲁棒性,与现有方法相比得到了一致的改进。由于其流线型的架构设计,与Co-CoOp相比,Maple在训练和推理过程中表现出更高的效率,而没有太多的开销,Co-CoOp由于其图像实例条件设计而缺乏效率。总之,这项工作的主要贡献包括:
    (1)我们建议在CLIP中采用多模态提示学习,以使其视觉语言表征更好地保持一致。据我们所知,这是第一个用于微调CLIP的多模态提示方法.
    (2)为了将在文本和图像编码器中学习到的提示联系起来,我们提出了一个耦合函数,以明确地将视觉提示条件化到它们的语言对应物上。它是两种模式之间的桥梁,允许梯度的相互传播,以促进协同作用。
    (3)我们的多模态提示是在视觉和语言分支的多个Transformer模块中学习的,以逐步学习两种模态的协同行为。这种深度提示策略允许独立地对上下文关系建模,从而提供更大的灵活性来对齐视觉-语言表示。
在这里插入图片描述

现有方案使用单一模态提示技术进行模型微调以优化CLIP表示,在这种情况下, 提示仅限于CLIP的一个子领域,即语言或视觉领域.该系统采用了基于层次结构的分支感知机制,通过分别适应语言和视觉特征提取模式来增强其泛化能力.该系统显著超过当前最先进的人工智能系统,在一系列多样的图像识别测试用例上表现优异,并成功应用于新的类别推广任务.

2.相关工作

视觉语言模型:

在计算机视觉领域中, 语言监督与自然图像的结合使用具有重要的意义. 相较于仅依靠图像信息的传统方法, 基于视觉语言(V-L)的深度学习模型能够捕获更为丰富的跨模态特征. 最近, CLIP [32], ALIGN [15], LiT [45], FILIP [41]以及佛罗伦萨[43]等这类V-L模型已经在多个典型任务上展现了卓越的效果, 包括少量样本和零样本视觉识别. 这些预训练模型基于大量可获取的数据通过自监督学习构建了联合图像-语言表示. 其中, CLIP采用了包含1亿零四百万张图像-文本对的数据集进行训练, 而ALIGN则利用了约一百万张这样的对数据. 尽管这些通用预训练模型已经具备较强的表征能力, 但将其有效迁移至特定下游任务仍面临诸多挑战. 多项研究已表明, 通过设计专门针对特定任务的适应性方法可显著提升V-L模型的表现[9, 19]. 本研究致力于开发一种新型的多模态提示学习方法, 以期更高效地适应CLIP等视觉识别任务中的少量样本和零样本场景.

提示学习:

指令以句子形式呈现,并被称为文本提示;它们通常由V-L模型的语言分支接收以便更好地理解任务;也可用于下游任务的手工脚本创建;同样,在微调阶段自动生成脚本;后者被称为"提示学习";最初应用于NLP领域中的相关研究(如[21, 23, 24]);随后扩展到了视觉增强的大规模预训练语言模型(如V-L)以及仅基于视觉的信息提取(如[16,…);与现有的单模态提示机制类似;然而我们首次实现了多模态提示设计。

视觉语言模型中的提示学习:

通过全面微调与线性探测[9]两种方式,在CLIP模型中实现下游任务的适应。其中完整的微调导致原先学习的联合V-L表示出现降级现象;而线性探测则受限于无法实现零触发的能力。受NLP领域提示学习理念启发,在后续研究中许多学者提出在端到端训练过程中学习提示标记以提升对V-L模型的支持能力。CoOp [49] 通过优化其语言分支提示向量连续集合的方式,在少量样本上传递CLIP模型;而 Co-CoOp [48] 则强调了 CoOp 在新类上表现欠佳的特点,并在此基础上提出显式针对图像实例进行条件提示的方法以解决泛化问题。随后的研究表明[25] ,通过学习提示分布的方式,在多组提示场景下提升了性能;此外还有一系列工作致力于利用视频理解任务特性对 CLIP 进行针对性优化[18]. 在视觉分支层面则采取了更具针对性的学习策略[1]. 从现有研究来看这些方法均沿袭单一解决方案框架 并在语言或视觉分支层面独立开展提示学习 从而实现了对 CLIP 部分功能的支持. 然而本研究聚焦于以下核心问题:鉴于 CLIP 的多模态特性 是否应当在语言与视觉两个分支层面同时施加提示以更好地适应 CLIP?基于此 我们的创新性工作首次系统回答这一问题 提出了基于有效性评估框架下的多模态提示学习方法 并在此基础上显著提升了视觉与语言表征的一致性.

3.方法

我们的方法基于对预训练多模态CLIP模型的微调优化,在图2中展示了该框架的整体架构。与现有仅依赖语言分支学习上下文提示的方法[48,49]相比不同的是,在现有方法中主要关注于语言分支的学习;而Maple引入了一种联合式的提示机制,在视觉与语言分支之间实现了相互促进的学习过程。具体而言,在语言分支中增加了可学习化的上下文标记,并通过设计特殊的耦合机制将视觉提示嵌入到语言提示中。为了构建多层次的上下文表示体系,在两个分支中分别引入了深度化的提示结构,并采用跨Transformer块的学习策略来动态调整各层特征之间的关系。在微调过程中仅对嵌入于耦合机制中的上下文信息进行优化更新即可实现整体模型性能的有效提升;而其余部分则保持不变以保证稳定性和收敛性。下面我们将详细阐述预训练CLIP架构及其改进方案。

在这里插入图片描述

3.1.回看CLIP

在这里插入图片描述

我们基于一个经过预训练的视觉语言(VL)模型CLIP构建了该方法。该模型由文本和视觉编码器构成。与现有的提示方法[48, 49]的研究一致,在本研究中我们利用了一个基于CLIP模型的视觉Transformer(ViT)[6]。具体而言,CLIP被用于对图像I ∈ RH×W×3及其相应的文本描述进行编码。

编码图像:

在这里插入图片描述
在这里插入图片描述

图像编码器V由K个Transformer层构成,并负责将图像I划分为M个固定尺寸的块。这些块随后被映射到块嵌入空间E0 ∈ RM×dv中进行处理。每个补丁嵌入Ei与可学习类标记ci连接输入至第(i+1)个Transformer模块Vi+1,并依次经过K个Transformer模块进行处理以生成中间特征表示。为了获得最终图像表示x,在经过所有变换后,最后一个Transformer模块VK的类标记cK经由ImageProj映射至公共V-L潜在嵌入空间。

编码文本:

在这里插入图片描述

CLIP文本编码器通过词标记化并将其映射至词嵌入W₀ = [w₁⁰, w₂⁰, ..., w_N⁰] ∈ ℝ^{N×d_l}以生成用于文本描述的特征表示。在每一级中,Wi经由第(i + 1)层Transformer层输入到文本编码分支(Li+1)中。通过将与最后一个Transformer块LK的最后一个令牌对应的文本嵌入经过TextProj映射至公共V-L潜在嵌入空间以获取最终文本表示z,在每一级中,在最后一级Li+1中采用了相同的权重矩阵Wc ∈ ℝ^{d_l × d_L}进行归一化处理。归一化后的结果则被传递给分类器以生成类别的概率分布

Zero-shot分类:

在这里插入图片描述

在零镜头分类任务中,默认提示文本是由人工生成的。每个类别y ∈ {1,2,…,C}对应着不同数量的照片样本。(例如,在y=1类别中有50张图片,在y=2类别中有70张图片等)为了提高分类性能,在模型训练过程中我们引入了温度参数τ来调节模型对高相似度图像I的预测输出Hy。

3.2.Maple:多模态提示学习

为了高效地微调CLIP模型以适应下游图像识别任务的需求,我们进行了多模式提示调整的研究。原因在于,现有的研究主要集中在单一模态方法上,并未充分考虑多模态场景下的灵活性需求。由于现有的单一模态方法缺乏足够的灵活性,无法有效动态适应语言与视觉表征空间的变化规律。因此,在确保提示方案的完整性基础上,在视觉与语言分支的第一个J层(J < K)中引入了可学习的分层提示机制。这些多模态分层提示机制利用CLIP模型内部编码的知识来更有效地提取与任务相关的上下文信息(见图4)。此外,在图3中我们将Maple的图像嵌入与最新的最先进的工作Co-CoOp进行对比分析,并详细探讨了它们之间的差异性特征

在这里插入图片描述

使用MaPLe方法,在指定深度(左侧)和长度(右侧)下执行消融操作。我们评估所有数据集上的保留验证集的表现,并计算其平均值。

3.2.1深度语言提示

在这里插入图片描述
在这里插入图片描述

为了在CLIP的语言分支中学习语言上下文提示而引入了一个标记b={Pi∈Rdl}i=1^b.输入嵌入现在遵循形式[P1,P2,…,Pb,W_0],其中W_0=[w_1,w_2,…,w_N]对应于固定的输入令牌.在语言编码器(Li)的每个Transformer块中进一步引入新的可学习令牌直至特定深度J.这里[⋅,⋅]指的是连接操作.在第J个Transformer层之后后续层将通过处理前一层提供的提示来计算最终文本表示z.当J=1时在第一层Transformer层中应用了可学习标记P并且这种基于深度的语言提示技术退化为CoOp[49].

3.2.2 深度视觉提示

在这里插入图片描述

基于深度语言提示的方法,在CLIP模型的视觉路径中与输入图像的空间位置编码一同嵌入了一种可学习的位置表示\{\mathbf{RdPi} \in \mathbf{Rdv}\}_{i=1}。在图像编码器(V)更为深入的Transformer层中嵌入了更多可学习的位置标记直至第J层。

3.2.3视觉语言提示耦合

在提示调整过程中不可忽视的一项重要措施是采用多模态方法,并使这一项技术能够同时适应视觉与语言信号的CLIP分支以实现全面上下文优化。一种较为直接的方式就是将联合模型与语言提示进行整合结合其中P代表语言提示而P~代表视觉提示两者将在同一个训练框架内共同参与训练工作我们将其命名为"独立V-L提示"系统尽管这种设计能够满足完整性要求但它仍然存在一些不足之处因为在这种架构中两个分支在处理相关上下文信息时无法实现有效的协同作用

在这里插入图片描述
在这里插入图片描述

为此, 我们提出了一种分支导向的多模态提示机制, 通过整合不同模态之间的交互信息, 实现了视觉与语言交互提示项的有效协调. 在此过程中, 语言提示令牌被系统性地引入至语言分支直至第J个Transformer块, 并被定义为如公式1所示的深度语言提示项. 在具体实现中, 视觉提示P_k是通过耦合函数F·将dl维输入映射至dv维空间生成P_k的结果. 该耦合函数设计用于在两个分支间构建桥梁, 从而促进梯度信息在两个模态间的双向传播. 相较于仅基于视觉与语言独立编码的传统方法而言, P_k的设计在外显条件作用下能够更好地促进跨模态信息的学习与融合.

4.实验

4.1.基准设定

从基本类到新类的泛化:

我们进行了对MaPLe模型可推广性的评估,并遵循zero-shot学习设置,在该框架下将数据集划分为基础类别和新类别。随后,在仅有基础类别的少量镜头训练后对该模型进行评估,并观察其实现效果如何

跨数据集评价:

为了展示我们的方法在跨数据集传输中的潜力,并通过其他数据集进行验证,我们对该ImageNet训练模型进行了评估。与Co-CoOp一致,在所有1000个ImageNet类别上采用少镜头策略进行训练的模型被我们评估。

领域概括:

我们考察了我们的方法在分布外数据集上的鲁棒性。类似地,在包含多种类型域转换的其他四个ImageNet数据集中进行测试。

数据集:

为了从基础到新类别以及跨数据集范围内的推广研究,我们参考文献[48, 49]并在多个图像分类领域进行了系统性评估。具体而言,在广泛覆盖的识别任务中测试了我们的方法性能。这些实验涉及多个代表性数据集:首先是两个通用对象识别基准数据库——ImageNet [4] 和 Caltech 101 [7]; 其次是五个细粒度视觉识别数据库——OxfordPets [31], StanfordCars [20], Flowers 102 [30], Food 101 [2], 和 FGVCAircraft [28]; 再加上场景识别基准SUN 397 [40]; 动作识别基准UCF 101 [36]; 纹理识别基准DTD [3]; 最后是卫星图像应用基准EuroSAT [11]. 在领域泛化研究中,则采用了ImageNet作为源数据库,并将其四个变体用作目标数据库——包括ImageNetV2 [35], ImageNetSketch [37], ImageNet-A [13], 和 ImageNet-R [12].

实现细节:

在各项实验中

4.2.用视觉语言提示CLIP

4.2.我们首先进行了一系列变体设计研究以评估不同提示设计选择对分支感知多模态提示MaPLe方法的影响。这些变体设计包括浅层Maple、深层语言提示、深层视觉提示以及独立的V-L提示方案。实验结果展示在表1中。其中浅层Maple方案在泛化能力上显著优于CoOp和Co-CoOp方法。对比实验表明,在仅依靠语言信息进行CLIP模型训练时的表现略逊于仅依靠视觉信息进行CLIP模型训练的情况。然而将两种方法简单叠加并不能取得理想效果。与此同时我们发现即使单独结合上述两种方法(第4行)也无法充分发挥协同作用这主要归因于现有学习策略未能有效促进两者的协同工作由于在训练过程中两者并未建立明确关联机制。因此我们转而探讨其他可能的设计选择并在附录B中详细介绍了相关的消融研究

在这里插入图片描述

基于不同提示设计的模型MaPLe在从基础到小说概括的任务比较中展现出差异性。实验结果表明,在对11个数据集进行评估时,该方法表现出稳定的性能水平。HM在这里指代调和平均数。

4.3.“基础到新”的泛化

**对未知类别的泛化:**表3展示了MaPLe在11个识别数据集上自基础到新设置的泛化能力对比实验结果。我们将该方法的效果与CLIP的zero-shot框架下的表现进行了横向比较,并与近期提出的基于即时学习的CoOp [49]和Co-CoOp [48]等方法进行了对比分析。在CLIP的方法中,在每个数据集上均采用了专门设计的手工提示以实现目标分类任务。

在这里插入图片描述

与最先进的Co-CoOp相比,在所有11个数据集上Maple均展现出更优的表现,在基础类别上仅有微弱性能下降的趋势。Maple通过分支感知多模态提示的协同作用,在新类别上的推广效果更为显著,并实现了从71.69%到75.14%的整体提升效果。综合考虑基础类与新类的表现后发现, Maple较Co-CoOp平均提升了2.72%的绝对增益, 明显超越了现有方法的技术优势

相比起仅在4/11数据集上实现提升的CLIP, Co-CoOp的表现相对逊色, 其新类准确率平均值由74.22%降至71.69%. 而Maple作为一项更具竞争力的方法, 在6/11数据集上实现了对CLIP新类准确率的提升, 将整体准确率平均提升了约0.85个百分点

针对基类泛化的研究发现, CoCoOp通过引入条件提示机制解决了自身在泛化能力方面的缺陷, 并在多个新类别中取得了显著的效果; 然而其基础分类性能却未能同步提升, 在3/11的数据集上仅较CoOp有所进步(82.69%至80.47%)

值得注意的是, Co-CoOp的设计理念可被用于显著提高常规CoOp模型在新类别上的泛化能力(最高可达6.8%的增长)。为此我们将当前研究方法与改进型CoOp†进行了系统对比(详细信息请参见附录A)

对比实验表明,在基分类任务上vanilla CoOp模型存在明显的过拟合倾向;相比于改进型CoOp†模型, MapLE在此任务上的平均准确度提升了约1.43个百分点(具体数值参考表2)

在这里插入图片描述

4.4.跨数据集评价

基于对所有1000个ImageNet类的多模态提示进行系统性学习后,在其余10个数据集上传输的方法被用来评估Maple的跨数据集泛化能力。表4对比展示了三种方法:MaPLe、CoOp和Co-CoOp。在ImageNet源数据集中,MaPLe展现出与现有竞争方法相当的性能。然而,在其9/10的数据集中分别超越了CoOp,并且在8/10的数据集中超越了Co-CoOp,在此过程中展现出了更强的泛化能力。综合来看,Maple展现出具有竞争力的性能水平,并其平均准确率达到了66.30%,这表明使用分支感知的V-L提示能显著提升泛化性能。

在这里插入图片描述

Maple在跨数据集评估方法上的对比分析表明,在各项关键指标上均表现出色。研究结果表明,在分类准确性方面表现尤为突出,并且展现出最优平均准确率水平。此外,在模型泛化能力方面也取得了显著优势。

4.5.域泛化

研究表明,在分布外数据集方面的应用上更为有利的是Maple方法相比于CoOp与Co-CoOp方法。我们研究了ImageNet训练模型在各种分布外数据集上的直接迁移性能,并发现该方法相较于现有所有方法均展现出显著的优势(如表5所示)。通过多模态分支感知提示的帮助,在提升CLIP等视觉语言模型(V-LMs)的泛化能力和鲁棒性方面取得了显著成效。

在这里插入图片描述

比较Maple与其他现有方法在领域泛化设置的表现。 Maple展现出系统性地提升各目标数据集上的性能。

4.6.消融实验

**提示深度:**在图4(左)中,我们分别说明了Maple和消融的提示深度J对语言和视觉分支深度的影响。一般来说,性能随着提示深度的增加而提高。我们注意到,当随机初始化提示插入到模型特征空间已经成熟的冻结模型的更深层时,性能敏感度会增加。类似的趋势也被报道[16]。由于早期的方法利用浅层语言提示(J = 1),我们比较我们的方法与深层语言提示。总体而言,Maple实现了比深度语言提示更好的性能,并在深度为9时实现了最大性能。
**提示长度:**图4(右)显示了提示长度对Maple的影响。随着提示长度的增加,基类的性能通常会保持不变,而新类的准确性会降低。这表明过度拟合,这本质上损害了对新类的泛化。

在这里插入图片描述

在MaPLe环境中通过指定提示深度(左侧)和提示长度(右侧)来进行消融操作。我们对所有数据集的保留验证集均计算并报告其平均结果。

**多模态识别技术的有效性:**图5则展示了在所选数据集上各类别的准确度分析,并按照调整域偏移的程度排序进行呈现。从结果可以看出,在对比Co-CoOp方法时发现其性能提升程度因数据集而异。进一步观察发现,在面对具有较大分布差异的数据集相对于CLIP预训练版本而言时,在较为罕见且不具备普遍性的视觉概念类型上Maple方法展现出显著的优势,并在附录C中进行了详细说明和验证

在这里插入图片描述

Maple展现出比Co-CoOp更高的性能子类群体比例,在数据集转移需求从通用类型向特定领域集中时呈现上升趋势。

**计算复杂度:**表6对比了Maple与其他方法的计算复杂度表现。尽管Maple采用了多模式提示策略,并未显著提升整体浮点运算次数(FLOPS),其数值仅超出CoOp与Co-CoOp约0.1%。独立实施的V-L提示方案也提供了可比性较高的FLOP计数指标。就推理速率而言,相比之下Co-CoOp的表现相对落后,在批量大小增大的情况下其帧率(FPS)维持恒定水平。而Maple并未产生此类开销成本,在推理与训练速度方面均优于Co-CoOp体系。值得注意的是Maple在CLIP基础之上实现了28.5%以上的训练参数增加量这一显著提升空间为此性能增益的主要驱动力之一是因为该算法只需一半常规训练周期即可达到目标效果(5 vs 10个时期)。此外我们还发现基于统一V-L耦合函数设计的MaPLe†版本较之标准MaPLe方案减少了9倍的模型参数规模却仍能带来性能改进效果值得注意的是附录D中我们通过对比更为繁重的CoCoOp架构进一步验证了这一发现

在这里插入图片描述

分析不同提示方法在计算复杂度上的差异。该版本采用了一个通用的V-L耦合函数以实现这一目标。

5.结论

大规模视觉-语言(V-L)模型的优化工作面临诸多挑战,在参数规模与下游数据集数量之间寻求平衡是一个复杂问题。

全部评论 (0)

还没有任何评论哟~