Geeks_Z の Blog Geeks_Z の Blog
首页
  • 学习笔记

    • 《HTML》
    • 《CSS》
    • 《JavaWeb》
    • 《Vue》
  • 后端文章

    • Linux
    • Maven
    • 汇编语言
    • 软件工程
    • 计算机网络概述
    • Conda
    • Pip
    • Shell
    • SSH
    • Mac快捷键
    • Zotero
  • 学习笔记

    • 《数据结构与算法》
    • 《算法设计与分析》
    • 《Spring》
    • 《SpringMVC》
    • 《SpringBoot》
    • 《SpringCloud》
    • 《Nginx》
  • 深度学习文章
  • 学习笔记

    • 《PyTorch》
    • 《ReinforementLearning》
    • 《MetaLearning》
  • 学习笔记

    • 《高等数学》
    • 《线性代数》
    • 《概率论与数理统计》
  • 增量学习
  • 哈希学习
GitHub (opens new window)

Geeks_Z

AI小学生
首页
  • 学习笔记

    • 《HTML》
    • 《CSS》
    • 《JavaWeb》
    • 《Vue》
  • 后端文章

    • Linux
    • Maven
    • 汇编语言
    • 软件工程
    • 计算机网络概述
    • Conda
    • Pip
    • Shell
    • SSH
    • Mac快捷键
    • Zotero
  • 学习笔记

    • 《数据结构与算法》
    • 《算法设计与分析》
    • 《Spring》
    • 《SpringMVC》
    • 《SpringBoot》
    • 《SpringCloud》
    • 《Nginx》
  • 深度学习文章
  • 学习笔记

    • 《PyTorch》
    • 《ReinforementLearning》
    • 《MetaLearning》
  • 学习笔记

    • 《高等数学》
    • 《线性代数》
    • 《概率论与数理统计》
  • 增量学习
  • 哈希学习
GitHub (opens new window)
  • Python

  • MLTutorials

  • 卷积神经网络

  • 循环神经网络

  • Transformer

  • VisionTransformer

  • 扩散模型

  • 计算机视觉

  • PTM

  • MoE

  • LoRAMoE

  • LongTailed

  • 多模态

  • 知识蒸馏

  • PEFT

  • 对比学习

  • 小样本学习

  • 迁移学习

  • 零样本学习

  • 集成学习

  • Mamba

  • PyTorch

  • CL

  • CIL

  • 小样本类增量学习FSCIL

  • UCIL

  • 多模态增量学习MMCL

    • Survey

      • 多模态类增量学习
      • When Continue Learning Meets Multimodal Large Language Model A Survey
      • Recent Advances of Multimodal Continual Learning A Comprehensive Survey
    • PROOF
      • 0. 摘要
      • 1. 引言
      • 2. 相关工作
        • 2.1 视觉语言模型(VLM)微调
        • 2.2 类别增量学习(CIL)
        • 2.3 基于 VLM 的 CIL
      • 3. 从旧类别到新类别
        • 3.1 类别增量学习
        • 3.2 视觉语言模型
        • 3.3 克服类别增量学习中的遗忘问题
      • 4. PROOF:视觉语言模型的投影融合
        • 4.1 可扩展的特征投影
        • 4.2 使用自注意力机制实现上下文投影融合
        • 如何定义上下文?
        • 学习上下文提示
        • 使用自注意力机制实现 $T$
        • 跨模态融合的效果
      • 4.3 PROOF 总结
      • 5. 实验
      • 5.1 实验设置
        • 数据集
        • 对比方法
        • 实现细节
        • 评估指标
      • 5.2 基准比较
      • 5.3 消融实验
        • 5.3.1 不同的预训练权重
        • 5.3.2 组件消融实验
        • 5.3.3 上下文提示长度的影响
        • 5.3.4 上下文信息的影响
        • 5.3.5 投影层类型的影响
        • 5.3.6 参数分析
        • 推理时的参数合并
      • 5.4 进一步分析
        • 5.4.1 任务类别数的影响
        • 5.4.2 持续跨模态检索任务
      • 5.5 扩展实验
        • 5.5.1 适用于不同的 VLM
        • 5.5.2 在无重叠数据集上的表现
        • 5.5.3 零样本性能的退化分析
      • 5.6 小结
    • Generative Multi-modal Models are Good Class-Incremental Learners
    • CLIP-CIL
    • RAIL
    • RAPF
    • CLAP4CLIP
    • MoE-Adapters4CL
    • S-Prompts
  • LTCIL

  • DIL

  • 论文阅读与写作

  • 分布外检测

  • GPU

  • 深度学习调参指南

  • AINotes
  • 多模态增量学习MMCL
Geeks_Z
2024-08-05
目录

PROOF

Paper (opens new window)

0. 摘要

类别增量学习(Class-Incremental Learning, CIL)或持续学习是一种在现实世界中非常需要的能力,它要求学习系统在适应新任务的同时,不遗忘先前的任务。虽然传统的 CIL 方法侧重于通过视觉信息来掌握核心特征,但近年来,视觉语言模型(Vision-Language Models, VLM)的进展展示了在文本信息帮助下学习通用表示的潜力。然而,当持续地引入新类别进行训练时,VLM 往往会遭遇对先前知识的灾难性遗忘。将 VLM 应用于 CIL 提出了两个主要挑战:1)如何在不遗忘的情况下适应模型;2)如何充分利用多模态信息。为此,我们提出了 PROjectiOn Fusion (PROOF) 方法,使 VLM 能够在不遗忘的情况下学习。为了解决第一个挑战,我们提出了基于冻结的图像/文本编码器训练任务特定投影的方法。当面对新任务时,新投影层被扩展,而先前的投影层保持固定,从而减轻了旧概念的遗忘。对于第二个挑战,我们提出了融合模块,以更好地利用跨模态信息。通过联合调整视觉和文本特征,模型能够捕捉语义信息,并具有更强的表示能力。对九个基准数据集的大量实验验证了 PROOF 在实现最先进性能方面的有效性。

1. 引言

在我们不断变化的世界中,训练数据通常以流格式到来,并伴随着新类别的出现,要求学习系统不断吸收这些知识[19, 18]。为了应对学习新类别的挑战,提出了类别增量学习(CIL)[47]。然而,在 CIL 中,旧类别的缺失会引发灾难性遗忘[16],即学习新概念会覆盖旧知识,导致性能下降[33]。在机器学习领域,许多努力[37, 15, 79, 53, 62, 77]已经致力于解决灾难性遗忘问题。

随着预训练技术[20]的快速发展,近年来 CIL 研究已经从从头训练[67, 21, 78]转向利用预训练模型(PTM)[63, 64, 49]。例如,通过利用预训练模型(如 Vision Transformers[13]),增量模型可以天然地具备强大的迁移能力,以掌握视觉特征。面对由增量类别引入的领域差异,它们只需要学习有限数量的附加参数[26, 11, 34],这些参数作为补丁桥接了差异,大大简化了增量学习的挑战。

尽管基于预训练的 ViT 方法在 CIL 中专注于学习视觉特征以识别新概念,最近视觉语言模型(VLM)展示了文本信息在构建通用特征表示中的潜力。一个典型的工作,即对比语言 - 图像预训练[46](CLIP),将视觉和文本信息映射到共享的嵌入空间,使得从不同来源学习和识别概念变得更加稳健。视觉和文本模态的结合为开发能够有效适应现实场景的持续学习模型提供了一个有前途的方向。

将 VLM 扩展到 CIL 中面临着两个显著的挑战。首先,依次调整 VLM 会覆盖其固有的通用性和先前的概念,导致遗忘并在未来任务中表现不佳。其次,仅依靠文本信息进行分类忽略了多模态输入中存在的宝贵跨模态特征。为了充分利用这些信息,有必要探索跨模态融合的方法,而不仅仅是依赖文本特征。

因此,我们旨在将 VLM 转变为一个既能保持其能力又能全面利用信息的持续学习者。保持能力指的是模型能够维持其预训练能力,从而保留通用性,使其在未来任务中表现出色而不会遗忘。全面利用指的是模型能够整合并调整来自多模态的信息。通过利用这些特性,我们可以减轻灾难性遗忘,并使用跨模态特征构建更稳健的分类器。

在本文中,我们提出了 PROjectiOn Fusion (PROOF) 方法,以应对 VLM 中的灾难性遗忘。为了使模型保持能力,我们冻结了预训练的图像/文本骨干网络,并在其上附加了线性投影。任务特定的信息通过映射投影特征编码在相应的投影层中。当面对新任务时,新投影层会扩展,而旧投影层保持固定,从而保留了先前的知识。此外,我们旨在通过跨模态融合将来自不同模态的信息融合在一起,这使得查询嵌入能够随着上下文信息进行调整。最终,PROOF 能够有效地整合新类别,同时抵抗旧类别的遗忘,在九个基准数据集上实现了最先进的性能。我们还探讨了 VLM 在新的评估协议和指标下的零样本性能,并发现 PROOF 通过简单的修改能够保持其零样本性能。

2. 相关工作

2.1 视觉语言模型(VLM)微调

近年来,视觉语言模型(VLM)研究蓬勃发展,例如 CLIP[46]、ALIGN[25]、CoCa[70]、Florence[73]、BLIP[31]、CLIPPO[54]和 Flamingo[1]。这些模型在大量图像和文本上进行预训练,跨模态实现了统一的嵌入空间。凭借出色的通用性,它们可以零样本方式应用于下游任务。然而,预训练数据集与下游任务之间仍然存在领域差异,需要进一步微调以获得更好的性能。CoOp 和 CoCoOp[85, 84]通过可学习的提示标记将提示学习[32]应用于 VLM 微调。后续的工作探讨了通过适配器微调[17]、提示分布学习[39]、任务残差学习[72]、相似性学习[76]、描述符学习[42]和最优传输映射[10]的 VLM 微调。然而,它们只关注将 VLM 适配到下游任务,而忽略了先前任务的遗忘。

2.2 类别增量学习(CIL)

类别增量学习(CIL)旨在从不断变化的数据中学习,并吸收新知识而不遗忘[81]。基于复习的方法[40, 4, 8, 38, 9]通过保存和重放先前实例来在学习新知识时恢复旧知识。基于知识蒸馏的方法[47, 33, 14]通过映射模型之间的关系作为正则化。基于参数正则化的方法[27, 2, 74, 3]通过为不同参数赋予重要性来进行正则化。基于模型修正的方法[50, 78, 67, 71]通过纠正归纳偏差来进行无偏预测。动态网络[69, 58, 82, 59]通过随着数据的演变扩展网络结构表现出强大的性能。

2.3 基于 VLM 的 CIL

前述的 CIL 方法旨在从头训练增量模型,而使用预训练模型作为起点更为简单[30]。将预训练的 Vision Transformer[13]集成到 CIL 中已引起了社区的关注,大多数方法[63, 64, 49]采用参数高效微调技术来实现无遗忘学习。S-Prompt[61]在领域增量学习中探索了 CLIP 的应用,但在 CIL 中对 VLM 的应用仍然相对较少。WiSE-FT[66]利用权重集成进行稳健微调,但无法扩展到多个任务。本文旨在通过提出一个综合的解决方案,解决在不遗忘的情况下微调视觉语言模型的问题。

3. 从旧类别到新类别

在本节中,我们介绍了类别增量学习和视觉语言模型的背景信息。我们还讨论了在类别增量学习中微调视觉语言模型的一些简单解决方案。

3.1 类别增量学习

在一个不断出现新类别的数据流中,类别增量学习的目标是不断吸收知识并构建一个统一的分类器[81]。我们将包含不重叠类别的 B 个训练集序列表示为

{D1,D2,…,DB}

其中,Db={(xi,yi)}i=1nb 是第 b 个训练集,包含 nb 个实例。一个训练实例 xi∈RD 属于类 yi∈Yb。Yb 是任务 b 的标签空间,且 Yb∩Yb′=varnothing 对于 b≠b′。按照典型的 CIL 设置[47, 22, 67],从前一个类别中选择固定数量的样本作为示例集 E。在第 b 个增量阶段,我们只能访问来自 Db 和 E 的数据用于模型训练。目标是不断构建一个针对所有已见类别 Yb=Y1∪⋯∪Yb 的统一分类器。换句话说,我们希望找到一个模型 f(x):X→Yb 来最小化期望风险:

f∗=arg⁡minf∈HE(x,y)∼D1t∪⋯∪Dbt[I(y≠f(x))],

其中,H 表示假设空间,I(⋅) 是指示函数,Dbt 表示任务 b 的数据分布。按照[63, 64, 61]的设定,我们假设一个预训练的视觉语言模型可以作为 f(x) 的初始化,如在第 4.2 节中介绍。

3.2 视觉语言模型

本文重点关注对比语言 - 图像预训练(CLIP)[46]作为视觉语言模型。在预训练期间,CLIP 以对比的方式联合学习了一个图像编码器 gi(⋅):RD→Rd 和一个文本编码器 gt(⋅):RDt→Rd,其中 D/Dt 是图像/文本的输入维度,d 是嵌入维度。CLIP 将一批图像 - 文本对投射到一个共享的嵌入空间中。它最大化了配对输入的余弦相似度,并最小化不匹配对的相似度。受益于海量训练数据,CLIP 可以生成一个零样本分类器,能够推广到未见过的类别。CLIP 的输出公式如下:

(2)p(yi∣x)=exp⁡(cos⁡(z,wi)/τ)∑j=1|Yb|exp⁡(cos⁡(z,wj)/τ),

其中,cos⁡(⋅,⋅) 表示余弦相似度,τ 是可学习的温度参数,z=gi(x) 是图像嵌入。相应地,wi 是通过将模板化文本(例如,“a photo of a [CLASS]”)输入文本编码器获得的类 yi 的文本嵌入。我们将类 i 的模板化文本表示为 ti。公式(2)的目标是找到与查询图像相似度最大的文本 ti。

3.3 克服类别增量学习中的遗忘问题

类别增量学习作为一个长期存在的问题,已经引起了研究社区的广泛关注。在本节中,我们介绍了两种典型的适应预训练模型以应对新类别的解决方案。

基于视觉的学习:传统的 CIL 方法主要依赖图像编码器来捕捉新类别的模式。例如,L2P[64]利用视觉提示微调[26]来使预训练的 Vision Transformer[13]能够进行增量更新。通过冻结图像编码器,L2P 训练了一个可学习的提示池 Pool 并将其与图像块嵌入结合以获得实例特定的嵌入。优化目标可以表示为:

(3)L=ℓ(h(gi(xi,Pool)),yi)+Lreg,

其中,h(⋅) 是分类头部,gi 是冻结的图像编码器,Lreg 是用于提示选择的正则化损失。通过冻结编码器,公式(3)在很少遗忘的情况下掌握了新的模式。

CLIP 微调:在 CIL 中如何微调 VLM 而不遗忘仍然没有得到解决,因为以往的工作只关注将 CLIP 转移到下游任务,而没有考虑以前任务的表现。例如,CoOp[85]将文本输入转换为一个可学习的提示,即:

ti=[V]1[V]2…[V]M[CLASS]i.

公式(2)中的后验概率转换为:

(4)p(yi∣x)=exp⁡(cos⁡(z,gt(ti))/τ)∑j=1|Yb|exp⁡(cos⁡(z,gt(tj))/τ).

借助学习的提示,公式(4)使得模型可以被转移到下游任务。然而,由于提示模板对于所有任务是共享的,依次微调 CoOp 将导致先前概念的灾难性遗忘。

讨论:当前的方法关注 CIL 的不同方面。基于视觉的方法(如公式(3))解决了遗忘的问题,但忽略了文本中传达的宝贵语义信息。相反,CLIP 预训练的文本编码器捕捉了类间的关系,这可以增强模型学习。同时,迁移学习方法(如公式(4))有效利用了跨模态信息,但依次微调它们会导致先前概念的灾难性遗忘。是否有可能结合跨模态信息,同时抵抗灾难性遗忘?

4. PROOF:视觉语言模型的投影融合

鉴于典型的基于视觉的方法在利用文本信息方面的局限性以及 CLIP 微调中的遗忘问题,我们旨在利用 CLIP 中的跨模态知识,同时有效减轻遗忘。为此,我们必须使模型具有保持能力和全面性。保持能力意味着能够适应下游任务而不遗忘,我们提出使用投影层将预训练特征映射到投影特征空间。我们独特的训练策略通过冻结旧的投影层并为新任务扩展新的投影层来确保保留先前的知识。全面性方面,我们通过共同调整并利用跨模态信息来增强统一的预测。查询实例的嵌入受到视觉和文本信息的共同影响,允许实例特定的适应,从而实现全面的预测。

在以下各节中,我们介绍了学习范式和共同适应过程。最后,我们提供了关于训练和推理的详细指南。

4.1 可扩展的特征投影

CLIP 以其强大的零样本性能而著称[46],即使在未对特定任务进行显式训练的情况下,公式(2)也能获得具有竞争力的结果。然而,考虑到预训练任务与下游任务之间的领域差异,仍然需要一个适应过程来捕捉后者的特征。具体而言,我们引入了一个线性层(称为“投影”),它附加在冻结的图像和文本嵌入之后,以促进成对投影特征的匹配。将图像/文本的投影表示为 Pi(⋅):Rd→Rd 和 Pt(⋅):Rd→Rd,公式(2)转换为:

(5)p(yi∣x)=exp⁡(cos⁡(Pi(z),Pt(wi))/τ)∑j=1|Yb|exp⁡(cos⁡(Pi(z),Pt(wj))/τ)Projected Matching.

我们将基于公式(5)的分类称为 fPM(x)。通过冻结图像和文本编码器,它在投影空间中对齐了下游特征,使得模型能够将相关的下游信息编码到投影层中。由于预训练模型输出的是具有通用性的特征,投影层学会以数据驱动的方式重新组合特征。例如,在涉及“鸟类”的任务中,投影层会为“喙”和“翅膀”等特征赋予更高的权重。这种适应使得投影特征能够更好地区分和识别下游任务。

可扩展的投影:然而,依次训练单个投影层仍然会导致先前任务的遗忘,导致旧概念和新概念混淆。为此,我们为每个新任务扩展了任务特定的投影层。

具体而言,当新任务 Db 到达时,我们附加了一个新初始化的投影层 Pib 和 Ptb。这导致了投影层集:{Pi1,Pi2,…,Pib},{Pt1,Pt2,…,Ptb} ,我们采用聚合作为输出,即:

(6)Pi(z)=∑m=1bPim(z),Pt(w)=∑n=1bPtn(w).

在公式(6)中,不同阶段的投影特征被映射并聚合,以捕捉先前和后续任务的不同重点。例如,先前的任务可能强调“鸟喙”特征,而后续任务可能更注重“胡须”特征,以区分猫类。不同投影的聚合产生了对查询实例的全面表示。通过将公式(6)代入公式(5),模型在联合空间中对齐了统一的特征。

如何抵抗先前投影的遗忘? 为了克服对旧概念的遗忘,在学习新任务时,我们冻结先前任务的投影层,即 {Pi1,Pi2,…,Pib}(文本投影层 Pt 同样如此)。这样,新初始化的投影层可以学习新任务的残差信息,同时保留先前任务的知识。在任务 b 的学习过程中,我们通过优化交叉熵损失将任务特定的信息编码到当前投影层中。

投影的效果:投影的示意图如图 1(左)所示。PROOF 基于预训练的编码器学习投影,适应新模式并保持预训练模型的通用性。每个投影层的参数数量为 d×d,相对于预训练模型而言可以忽略不计。此外,模型为新任务学习新的投影层,任务特定的投影层能够轻松适应新概念。由于我们仅优化当前投影层并冻结旧的投影层,先前的知识得以保留,遗忘得以减轻。

4.2 使用自注意力机制实现上下文投影融合

在公式 (5) 中,投影后的视觉和文本特征直接在联合空间中进行匹配。然而,进一步优化这些特征以捕捉图像和文本之间的上下文关系将是有益的。例如,当查询实例是“熊猫”时,希望以一致的方式调整视觉和文本特征,以突出诸如“黑色眼睛和耳朵”等判别性属性。同样,当查询实例是“猫”时,应强调诸如“胡须和尾巴”等特征。这个调整过程涉及联合调整查询嵌入和上下文信息(例如文本信息),以获得上下文化的嵌入。相应地,我们提出了一种集合到集合的函数,用于上下文化和融合查询嵌入与上下文信息。

具体来说,我们将调整函数表示为 T(⋅)。它接收查询实例和上下文信息作为集合,即 [Pi(z),Context],并输出调整后的嵌入集合,同时保持排列不变性:

(8)T([Pi(z),Context])=[P~i(z),Context~]

T(⋅) 对集合信息进行编码,并对每个组件进行调整。接下来,我们描述上下文信息 Context 的构建,并详细介绍集合到集合函数的实现。

如何定义上下文?

在公式 (5) 中,映射是在查询实例和文本信息(即分类器)之间建立的。分类器代表了相应类别的典型文本描述,即共同特征。因此,一个朴素的想法是利用文本特征作为上下文,即 W=[Pt(w1),Pt(w2),⋯,Pt(w|Yb|)]∈R|Yb|×d(所有文本分类器的拼接)。然而,最近的研究发现视觉和文本嵌入之间存在固有的领域差距 [91]。这个差距导致视觉和文本嵌入在嵌入空间中分属两个不同的簇,阻碍了有效的成对映射。相应地,我们利用视觉原型特征 [92] 作为捕捉每个类别共同特征的有用工具。我们定义类别 k 的视觉原型为:

(7)pk=1N∑j=1|Db|I(yj=k)gi(xj)

其中 N=∑j=1|Db|I(yj=k)。它们在每个增量阶段开始时通过前向传递计算,并在后续任务中保持不变。视觉原型是对应类别的代表性特征,可以作为视觉上下文来调整嵌入。因此,我们通过投影的视觉信息来增强上下文,即 [P,W],其中 P=[Pi(p1),Pi(p2),⋯,Pi(p|Yb|)]∈R|Yb|×d 是所有视觉原型的拼接。结合来自多个模态的原型有助于模型以跨模态的方式适应和融合信息,这超越了简单的视觉 - 文本匹配。

学习上下文提示

除了视觉原型和文本分类器外,我们还引入了一组可学习的上下文提示 {c1,⋯,cb},ci∈Rc×d,随着数据的演化进行优化。c 表示每个提示的长度。类似于投影层,我们使上下文提示可扩展,以捕捉新任务的新特征。我们在学习新任务时初始化一个新的上下文提示,并冻结其他提示 {c¯1,c¯2,⋯,cb}。上下文提示作为可适应的上下文信息,增强了共同调整。因此,上下文信息被公式化为 Context=[P,W,C],其中 C 是所有上下文提示的聚合。

使用自注意力机制实现 T

在我们的实现中,我们使用自注意力机制(SA)[93], [94] 作为跨模态融合函数 T。由于自注意力机制具有排列不变性,它擅长在长依赖关系下输出调整后的嵌入,这自然适合调整函数的特性。具体来说,自注意力机制保留三元组(查询 Q、键 K 和值 V)。输入被投影到相同的空间,即 K=WK⊤[kk;∀kk∈K]∈Rd×|K|。类似地,对 Q 和 V 也进行投影。查询 xq∈Q 与一系列键 K 进行匹配,每个键都有一个值 V。输出是所有值的加权和,权重由键与查询点的接近程度决定:

(8)P~i(z)=Pi(z)+∑kαqkV:,k

其中 αqk∝exp⁡(Pi(z)⊤WQ⋅Kd),V:,k 是 V 的第 k 列。对于 Context 中的其他组件,调整过程是相同的。具体来说,我们有 Q=K=V=[Pi(z),Context]=[Pi(z),P,W,C]。调整后的特征分别表示为 [P~i(z),P~,W~,C~],以反映上下文信息。

跨模态融合的效果

投影融合的示意图如图 1(右)所示。我们利用已见类别的视觉和文本信息作为上下文信息,帮助调整实例特定的嵌入。融合模型随着数据的演化逐步训练,以调整嵌入,反映上下文信息。通过上下文化的嵌入,我们可以进行视觉匹配和文本匹配:

在公式 (9) 中,模型通过查询实例与调整后的视觉和文本原型的相似性为其分配 logits。跨模态匹配的引入增强了预测性能。需要注意的是,上下文提示 C 仅将任务特定的信息编码到自注意力过程中,即它不作为公式 (9) 中的匹配目标。

4.3 PROOF 总结

在 PROOF 中,我们首先通过投影映射实现新概念的学习。然后,为了在不干扰先前任务的情况下适应新概念,我们为每个新任务初始化新的投影并冻结以前的投影。此外,我们利用自注意力机制来调整查询实例的嵌入和上下文信息,以促进跨模态融合。图 1 展示了三个匹配目标,即投影匹配(公式 5)、视觉/文本匹配(公式 9)。我们将这些模型分别表示为 fPM(x)、fVM(x)、fTM(x)。在训练过程中,我们优化交叉熵损失:

(10)min{Pbi,Pbt,T,cb}ℓ(fPM(x),y)+ℓ(fVM(x),y)+ℓ(fTM(x),y),

其中 (x,y)∈Db∪E。在公式 10 中,所有预训练的权重都被冻结,我们仅优化这些额外的参数。在推理时,我们聚合三个 logits,即 f(x)=fPM(x)+fVM(x)+fTM(x)。

伪代码:我们在算法 1 中给出了 PROOF 的伪代码,以说明训练过程。在每个增量阶段,我们都会得到训练数据集 Db 和样本集 E 来更新当前模型 f(·)。在训练之前,我们首先提取新类别的视觉原型。这些原型是使用冻结的视觉嵌入 gi(·) 计算的,确保它们在模型更新过程中保持稳定。随后,我们冻结以前的投影和上下文提示,同时为新的增量任务初始化新的投影和上下文提示(第 2 行到第 4 行)。这些步骤代表了模型扩展过程,随后是学习过程。

在学习过程中,我们将当前数据集和样本集中的训练实例连接起来,启动一个 for 循环。对于每个实例 - 标签对,我们计算投影的视觉和文本嵌入(第 6 行到第 7 行)。随后,我们计算投影匹配损失(第 8 行),将任务特定的信息编码到当前投影层中。基于投影特征,我们推导出上下文信息并执行跨模态融合(第 9 行到第 10 行)。因此,我们获得了三个 logits 用于模型更新,并利用交叉熵损失更新这些模块(第 11 行)。更新后的模型随后作为训练过程的输出返回。

5. 实验

在本部分,我们在基准数据集上将 PROOF 与最先进的方法进行比较,以研究其克服遗忘的能力。此外,我们还进行了消融实验,以分析模型中每个组件的影响。我们还将 PROOF 扩展到其他视觉 - 语言模型(VLMs)和持续学习场景,探索无重叠数据集,并分析零样本性能下降的现象。

5.1 实验设置

数据集

按照基准类增量学习(CIL)设定【6, 18, 19, 73, 96】的要求,我们在 CIFAR100【98】、CUB200【99】、ObjectNet【100】 和 ImageNet-R【101】上评估性能。此外,我们参考 VLM 调优的基准【33】,将 FGVCAircraft【102】、StanfordCars【103】、Food101【104】、SUN397【105】和 UCF101【106】纳入 CIL 设定。具体而言,我们从 CIFAR100、Aircraft、Cars、Food、UCF 中随机抽取(或直接采用)100 个类别,从 CUB200、ObjectNet、ImageNet-R 中选取 200 个类别,并从 SUN 中选取 300 个类别,以便进行数据划分。按照【6】的做法,训练类别的顺序是使用随机种子 1993 进行洗牌的。数据集划分表示为 Base-x, Inc-y,其中 x 代表初始阶段的类别数量,y 代表每个后续任务的新类别数量。当 x = 0 时,意味着每个任务都包含 y 个类别。

对比方法

我们首先与最先进的 CIL 方法进行比较,包括 iCaRL【6】、MEMO【77】、SimpleCIL【96】、L2P【19】和 DualPrompt【18】。我们还将顺序微调(Finetune)作为基线,并结合不同的调优技术,如 LiT【95】、PLOT【40】和 CoOp【33】。此外,我们报告 CLIP 在零样本分类中的性能(ZS-CLIP),即通过匹配模板文本计算的分类结果(参见公式 2)。此外,我们还报告上限(Oracle)性能,即在所有任务上联合训练的结果【15】。所有方法均基于相同的预训练 CLIP 进行比较,以确保公平性。

实现细节

我们在 Tesla V100 上使用 PyTorch【107】实现所有方法。所有对比方法均采用相同的网络主干,即 ViT-B/16 版本的 CLIP,以保证公平性。我们实验了两种常见的预训练 CLIP 权重,即 OpenAI【26】提供的权重和 OpenCLIP LAION-400M【108】。模型以 64 的 batch size 训练 5 轮,并使用带动量的 SGD 进行优化。学习率初始为 0.001,并采用余弦退火进行衰减。按照【6】的做法,我们使用 herding【109】算法为每个类别选择 20 个样本作为存储样本进行回放。上下文提示(context prompt)长度设为 3,自注意力(self-attention)头数设为 1。CLIP 中用于分类的模板文本与【110】保持一致。

评估指标

设第 b 轮阶段后的准确率为 Ab,我们采用【6】中的评估标准,使用最终阶段性能 AB 以及所有阶段的平均性能

A¯=1B∑b=1BAb

进行评价。

5.2 基准比较

我们在九个基准数据集上报告了 PROOF 的性能,并使用 CLIP 的 ViT-B/16(OpenCLIP LAION-400M)进行实验,结果如表 1 以及图 2、图 3 所示。这些数据集划分涵盖了大规模和小规模的基础类别设定。值得注意的是,PROOF 在所有方法中始终取得了最优性能。

对比方法的顺序微调(Finetune)模型在使用对比损失进行微调后,会出现严重的遗忘现象,无论使用何种调优技术(如 LiT 和 CoOp)。由于 SimpleCIL 和 ZS-CLIP 并未对模型参数进行微调,它们能够在下游任务中保留预训练阶段的知识,从而取得较为稳健的性能。然而,大多数方法的最终结果仍优于 ZS-CLIP,这表明在下游任务上进行增量学习是必要的。此外,由于 L2P、DualPrompt 和 CODA-Prompt 的实验是在 CLIP 的视觉分支上进行的,因此其性能与原始论文有所不同。

从这些实验结果中,我们可以得出以下三个关键结论:

  • 在第一阶段,PROOF 的性能优于典型的提示学习方法 CoOp,这验证了使用投影层学习下游任务特征的有效性。
  • PROOF 的性能曲线在所有方法中始终排名靠前,表明其能够有效抵抗遗忘。
  • 与仅使用视觉信息的方法(如 L2P、DualPrompt、CODA-Prompt、DAP)相比,PROOF 取得了显著的性能提升,表明联合适应视觉和文本信息可以有效促进增量学习。

5.3 消融实验

5.3.1 不同的预训练权重

在第 5.2 节的实验中,我们基于 LAION-400M 预训练的 CLIP 进行评测。作为另一种流行的 CLIP 预训练权重,我们还探索了 OpenAI 提供的权重。在图 4(a) 中,我们可以看到 PROOF 在所有数据集上仍然取得了最佳性能,进一步验证了其稳健性和泛化能力。

5.3.2 组件消融实验

我们在 CIFAR100 B0 Inc10 设定下研究 PROOF 的不同组件对性能的影响。具体而言,我们分别对比了以下模型变体:

  • 仅使用可扩展投影层(Projection)
  • 仅使用跨模态融合模块(Fusion)
  • 同时使用可扩展投影层和跨模态融合(Projection & Fusion)
  • 进一步加入上下文提示(Context Prompt)

实验结果如图 4(b) 所示。可以发现:

  • 仅使用投影层或跨模态融合模块都能提升 CIL 的性能,表明增量任务特定的投影表示以及跨模态信息的融合均有助于学习过程。
  • 当将两者结合(Projection & Fusion)时,性能进一步提升,说明投影和融合机制可以相互补充。
  • 在此基础上,引入上下文提示后(Projection & Fusion & Context Prompt),模型的性能达到最佳,验证了在增量学习中使用可扩展的任务特定提示的有效性。

5.3.3 上下文提示长度的影响

在图 4(c) 中,我们研究了上下文提示长度 c 对模型性能的影响,实验仍基于 CIFAR100 B0 Inc10。我们测试了不同的提示长度 c∈{1,2,3,4,5,6,7,8,9,10,30,50,100},并报告了模型的平均性能(A¯)和最终性能(AB)。

从结果来看,PROOF 的性能对提示长度变化较为鲁棒,这表明即使提示的规模较小,也能有效编码任务特定信息。因此,我们将 c=3 作为默认设定。

5.3.4 上下文信息的影响

在本部分,我们研究不同的上下文信息构造方式对 PROOF 性能的影响。我们在 CIFAR100 B0 Inc10 上进行实验,并对比以下几种设置:

  • 仅使用视觉原型(Context = [P])
  • 仅使用文本原型(Context = [W])
  • 同时使用视觉和文本原型(Context = [P, W])
  • 同时使用视觉原型、文本原型和上下文提示(Context = [P, W, C])

结果如图 5(a) 所示:

  • 仅使用视觉或文本原型时,模型的性能相近,说明它们对任务信息的贡献类似。
  • 结合视觉和文本原型(Context = [P, W])后,性能明显提升,说明利用跨模态信息能增强模型学习。
  • 进一步引入上下文提示(Context = [P, W, C])后,模型的性能达到最佳,验证了可扩展任务特定提示在增量学习中的重要性。

5.3.5 投影层类型的影响

除了使用简单的线性层作为投影层外,我们还探索了其他几种投影方法,例如:

  • SSF(层级缩放)【25】:学习一个 d 维的缩放参数来调整特征映射。
  • Adapter(适配器)【111】:学习降维和升维的映射,以进行特征变换。

我们在 CIFAR100 B0 Inc10 设定下对比了不同的投影方法,结果如图 5(b) 所示。从结果可以看出,采用单个线性层作为投影层的性能最佳,这表明简单的线性映射足以有效地跨越视觉和文本领域之间的特征鸿沟。

5.3.6 参数分析

PROOF 额外的参数来源主要包括三个部分:

  • 投影层:每个投影层使用一个单层线性变换,每个任务新增一个投影层,参数量为 d×d。
  • 跨模态融合模块:使用单头自注意力(Self-Attention)机制,其中 WQ,WK,WV 各包含 d×d 个参数。
  • 视觉原型存储:需要存储 B×d 维的视觉原型,其中 B 是所有类别的总数。

总体而言,额外参数量约为 (2b+3)×d2+B×d,相比于 CLIP 预训练模型约 1.5 亿的参数规模,这些额外参数是可忽略的。

推理时的参数合并

由于投影层是线性层,我们可以在推理时合并所有任务的投影层,从而减少存储开销。设所有任务的投影层为 P1,P2,…,Pb,则可以使用加权求和进行合并:

Pi(z)=∑m=1bPm(z)=(∑m=1bPm)(z)=P^i(z)

其中,合并后的投影层 P^i 仍然是一个单层线性变换,因此合并后总的存储需求仅为 5×d2+B×d,显著减少了参数占用。

在图 5(c) 中,我们比较了不同方法的参数规模,并展示了 PROOF 在推理时进行参数合并后的存储优势。可以看到,PROOF 仅比其他微调方法多出少量参数,但取得了显著更优的增量学习性能。


5.4 进一步分析

5.4.1 任务类别数的影响

在表 2 中,我们测试了不同的任务类别数对 PROOF 及其他方法的影响,实验分别在 CIFAR100 和 ImageNet-R 上进行。可以发现,PROOF 在不同的类别划分下仍然保持最佳性能,这表明该方法在不同的任务粒度下都具有较强的适应性。

5.4.2 持续跨模态检索任务

我们进一步探索 PROOF 在跨模态检索任务中的性能。我们将 CLIP 作为基础模型,并使用 PROOF 进行增量学习,以测试其在 图像到文本(Image → Text) 和 文本到图像(Text → Image) 任务中的表现。表 3 展示了 PROOF 与其他方法在召回率(Recall@k)上的比较结果,可以发现:

  • PROOF 在所有任务中均优于其他方法,表明其在持续学习场景下仍能有效利用跨模态信息。
  • 传统的 CIL 方法(如 iCaRL 和 MEMO)在跨模态检索任务中表现较差,而 PROOF 通过投影融合机制,显著提升了检索性能。

5.5 扩展实验

5.5.1 适用于不同的 VLM

尽管 PROOF 的主要实验基于 CLIP【26】,但该方法可以适用于各种视觉 - 语言模型(VLM)。我们在 CIFAR100 B0 Inc10 设定下,测试了 PROOF 在以下 VLM 预训练模型上的性能:

  • CLIP-ViT-B/16(OpenAI 版本)【26】
  • CLIP-ViT-B/16(LAION-400M)【108】
  • ALIGN【27】
  • BLIP【30】

实验结果如表 4 所示,可以发现:

  1. PROOF 在不同的 VLM 上均保持较优性能,表明该方法的通用性。
  2. 预训练模型的选择会影响增量学习效果,如 CLIP(LAION-400M)整体优于 OpenAI 版本,ALIGN 由于更强的文本对齐能力,也在部分任务上表现更优。
  3. 相比于直接微调(Finetune)或基于 prompt 的方法(如 CoOp),PROOF 能更好地保持跨任务的知识一致性,减少遗忘效应。

5.5.2 在无重叠数据集上的表现

为了进一步评估 PROOF 在实际应用中的可扩展性,我们在一个无重叠的 TV 节目分类数据集上进行实验,该数据集包含多个独立的子任务,每个任务的类别互不重叠。实验结果表明:

  • 传统的 CIL 方法在该数据集上的性能下降明显,而 PROOF 能够有效适应每个子任务,同时保持先前任务的知识。
  • 由于跨任务类别的文本描述较为稳定,PROOF 的跨模态融合机制在该数据集上尤其有效。

5.5.3 零样本性能的退化分析

尽管 CLIP 在零样本分类任务中表现强劲,但在持续学习过程中,其零样本能力可能会受到影响。我们在表 5 中分析了 PROOF 在零样本分类任务中的性能退化程度,并与其他方法进行对比。

结果表明:

  1. 标准的 CLIP(ZS-CLIP)在增量学习任务后会出现一定的零样本性能下降,即便模型未被直接微调。
  2. PROOF 通过冻结主干网络并引入可扩展投影层,能够较大程度保持零样本能力,相比于直接微调 CLIP 的方法(如 CoOp),其零样本分类准确率下降幅度更小。
  3. 跨模态融合模块(Projection Fusion)能进一步减少零样本能力的损失,表明该模块不仅有助于增量学习,也能增强模型对未见类别的泛化能力。

5.6 小结

本节详细探讨了 PROOF 在各种持续学习任务中的性能表现,并进行了以下分析:

  • 在多个基准数据集上,PROOF 在 CIL 任务中的表现均优于现有方法,能够有效减少遗忘效应。
  • 消融实验表明,可扩展投影层和跨模态融合模块是 PROOF 的关键组成部分,它们共同促进了知识保留与新任务适应。
  • PROOF 可适用于不同的 VLM 预训练模型,并能在无重叠任务和跨模态检索任务中保持良好的性能。
  • 与其他方法相比,PROOF 能更好地保持 VLM 的零样本能力,进一步增强了模型的泛化性。

至此,第 5 章 实验 部分已全部翻译完成。如果你需要继续翻译第 6 章 结论,请告诉我!

上次更新: 2025/06/25, 11:25:50
Recent Advances of Multimodal Continual Learning A Comprehensive Survey
Generative Multi-modal Models are Good Class-Incremental Learners

← Recent Advances of Multimodal Continual Learning A Comprehensive Survey Generative Multi-modal Models are Good Class-Incremental Learners→

最近更新
01
帮助信息查看
06-08
02
常用命令
06-08
03
学习资源
06-07
更多文章>
Theme by Vdoing | Copyright © 2022-2025 Geeks_Z | MIT License
京公网安备 11010802040735号 | 京ICP备2022029989号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式