论文标题:Generating Instance-level Prompts for Rehearsal-free Continual Learning
论文链接:https://openaccess.thecvf.com/content/ICCV2023/html/Jung_Generating_Instance-level_Prompts_for_Rehearsal-free_Continual_Learning_ICCV_2023_paper.html代码待开源:https://github.com/naver-ai引用:Jung D, Han D, Bang J, et al. Generating Instance-level Prompts for Rehearsal-free Continual Learning[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. 2023: 11847-11857.
导读
本文提出了 Domain-Adaptive Prompt (DAP),一种新的使用 Vision Transformers (ViT) 持续学习的新方法。基于提示(Prompt)的持续学习(Continual Learning)由于其无需回放数据的性质而引起了关注。目前,基于提示的持续学习中的"提示池"被认为是在一系列任务中有效利用冻结的预训练 ViT 骨干(backbone)的关键。然而,我们观察到,使用提示池会在预训练和持续学习之间引入一个领域可扩展性问题。这个问题源于提示池内固有的群组级别指令编码。为了解决这个问题,我们提出了DAP,一种在推断时以实例级别方式生成适当提示的无池方法。我们优化了自适应提示生成器,它为每个输入创建所需的特定于实例的细粒度指令,从而增强了模型的可塑性并减少了遗忘。我们在7个与ImageNet不同程度的数据集上的实验证明了DAP优于先进的基于提示的方法。
本文贡献
首次提出并研究了当前基于提示的持续学习方法在不同领域相似度水平的基准数据集上的领域可扩展性问题。这是首次针对这一问题的深入研究,对持续学习领域的进展具有重要意义。提出了一种名为DAP的全新框架,不再依赖于提示池,而是以实例级别的方式生成每个提示,从而提高模型的可塑性(plasticity)并减少遗忘问题。进行了广泛的实验,使用了七个不同领域的数据集,包括卫星图像、皮肤病图像和放射学图像等。实验结果表明,DAP明显优于最先进的基于提示的持续学习方法。
相关工作
迁移学习中的提示方法最初,提示方法是指将启发性语言指令添加到输入文本中,以帮助冻结的预训练语言模型理解下游任务。通常情况下,提示函数的设计一直以启发式形式存在,GPT-3等模型展示了在使用手动创建的提示时在迁移学习任务上表现出色。然而,最近出现了一种新的趋势,即提示方法如Prompt Tuning和Prefix Tuning提出了可学习提示的概念,这使得提示方法在迁移学习中变得更具实际意义。当前的基于提示的持续学习方法,包括L2P、DualPrompt以及DAP,也属于这个方向。但需要注意的是,DAP是唯一一种使用自适应提示生成器(图2(b))以实例级别方式即时生成提示的方法。
持续学习在持续学习的情景中,可以根据提供给下一个任务的数据类型来定义多种设置,包括“类别增量学习”(class incremental learning),其中类别从相同领域逐渐增加;“领域增量学习”(domain incremental learning),其中来自不同领域的相同类别逐渐增加;以及“跨领域持续学习”(cross-domain continual learning),其中来自不同领域的类别逐渐增加。本文主要关注“类别增量学习”。
基于提示和Vision Transformers的持续学习方法最近,基于提示和Vision Transformers(ViTs)的持续学习方法开始兴起。它们使用在ImageNet上预训练的冻结骨干,而不维护回放缓冲区。L2P首次引入了提示池的概念,用于调整冻结的ViT骨干以适应CL任务。随后,DualPrompt使用两种不同类型的提示,G-Prompt和E-Prompt,其目标分别是学习任务不变和任务特定的知识。尽管提示式持续学习研究最近扩展到领域增量学习或多模态学习,但它仍处于早期阶段,尚不足以研究或检验源数据与CL目标数据之间领域相似性对CL的影响。特别是,假设提示池具有固定大小的弱点尚未揭示。
跨领域转移跨领域是一个更具现实性的场景,其中源领域和目标领域不相似。领域泛化和跨领域少样本学习是代表性的研究领域,它们在源数据上进行预训练,然后将模型调整到目标数据上。在这些情景下,由于领域之间的巨大差距,有效地将源信息转移到目标领域是具有挑战性的。然而,在CL任务中,没有因为跨领域情景而受到限制。但基于提示池的CL方法与冻结的ViT骨干提出了新的与CL设置中的领域泛化相关的挑战。
先决条件
Vision Transformer (ViT)
ViT的核心结构如下:
ViT通常由单个补丁嵌入层、L个Transformer 层和分类器组成。具体来说,输入图像x通过补丁嵌入层被分割成大小为n的d维补丁标记(patch tokens)。此外,会在序列长度维度上添加一个可训练的类别标记[CLS],产生初始的输入标记
,设 El 是第 l 层Transformer 层的输入标记,
然后,这些输入标记El会通过第l层的Transformer层,生成下一层(l+1)的输入El+1:
每个Transformer 层都有一个多头自注意(MHSA),然后是一个前馈网络(MLP),具有跳过连接(+)[18]和层归一化(LN)[4]。
最后,ViT的分类器由一个单一的前馈网络层预测类别标签,通过映射最终Transformer层的类别标记[CLS]来实现。表示为:
持续学习协议(Continual Learning Protocol)
持续学习(CL)用一个单一的模型来解决一系列的任务。对于这个问题,训练基准D = {D1,···,DT }表示大小为 T 的任务序列,其中每个任务
都是从任务 t 的输入和标签空间!
的联合数据分布中采样的。目标模型表示为f:X → Y。为了简化表示,文中将图像的补丁嵌入层表示为fp,Transformer层的堆叠表示为fb,分类器参数化为θ的表示为fc,θ,而整个模型表示为:
作者遵循 DualPrompt 的方法,考虑了不相交的类别增量学习设置,其中任务边界不共享类别,任务身份仅在训练时给定,使用预训练在 ImageNet 上的 ViTBase 模型作为冻结特征提取器;ViT-Base 和 ImageNet 是最常用的骨干和源数据。在我们的设置中,训练数据D可以与 ImageNet 具有不同程度的域相似性,后者是用于预训练前的源数据。
基于 Prompt 的持续学习
流行的基于提示的CL方法,L2P [58]和DualPrompt [57],利用提示来调整冻结的Imagenet预训练的ViT-Base,其中单个提示P被定义为序列长度为p的d维标记序列。给定一个提示池P= {P1, P2, . . . , PM},他们从池中使用不同的提示函数选择固定数量的合适提示,然后将它们提前到等式 1 的输入token E上:
DualPrompt进一步训练和利用任务特定的关键。它维护一个辅助可学习的标记,称为任务特定的关键kt,鼓励kt接近属于目标任务t的所有训练实例Dt的[CLS]标记。通过预训练模型,通过匹配损失来优化kt,匹配损失如下所示。
在L2P和DualPrompt中,选择从P中选择的提示是关键的,它们基于与任务特定关键k ′ t最接近的来选择提示。选择了提示后,等式(2)中的E ′被替换,以便将前缀提示的信息传播到补丁标记:
本文方法
我们提出了领域自适应提示(DAP)来将冻结的预训练ViT用于领域自适应CL。DAP将自适应提示生成器生成的提示注入到所有transformer层,并在训练一系列任务期间冻结的主干。图2概述了所提出的DAP框架。
自适应提示生成器DAP的自适应提示生成器的动机在于提示池的有限可扩展性。传统的提示池方法限制了可用提示的数量,因为池的大小是远小于总训练实例数量的。特别是在现实中,源领域和目标领域之间可能存在较大的领域差距,提示必须包含更细粒度的指令,以更有效地调整从源数据到目标领域的学习表示。但是,提示池只允许编码受池大小约束的目标领域的部分知识。这导致需要提前调整与池相关的超参数,这需要对目标领域有先验知识。然而,在任何领域中,如果内存预算有限,无限扩展提示池大小是不切实际的。为了追求领域自适应的无需reply的CL框架,DAP使用自适应提示生成器实时生成提示。自适应提示生成器(G)由输入转置(⊤)、LN、MLP和线性变换层(LT)组成。它接收输入标记E并生成自适应提示Pa,直接根据标记之间的关系进行调整。
主要目标是创建包含每个输入的实例特定细粒度指令的提示。为了编码正确预测所需的实例级指令,需要检查输入块之间的关系,而不是仅考虑每个块。
DAP方法的优化过程DAP在每个Transformer层的输入标记El之前预处理了自适应令牌Pl a。因此,对于每个Transformer层l,可以表示为:
这是一个矩阵,其中l是层的索引。
DAP为每个Transformer层训练一个独立的生成器
。这意味着每个层都有一个相应的生成器来生成自适应提示。与L2P和DualPrompt不同,DAP使用单一自适应生成的提示,因此o=1。
DAP的目标是最小化总损失,总损失由两部分组成:
第一部分是交叉熵损失ℓce,用于测量模型的分类性能。第二部分是匹配损失ℓmatching,该损失在前文的公式(5)中已经描述。λ是两种损失之间的平衡项,它用于权衡两种损失的重要性,通常为固定值(这里为0.1)。在优化过程中,只有自适应提示生成器的参数ϕ和分类器的参数θ被更新,ViT骨干的参数被冻结。
实验
实验结果
在不同数据域上的类增量学习的结果:
不同类型的提示在任务上的t-SNE可视化:
消融实验
超参数搜索:
结论
基于提示的CL,在没有reply缓冲区的情况下表现出令人印象深刻的性能,已经在CL领域出现了。L2P和DualPrompt修改提示,以很好地适应CL问题。然而,这一趋势提出了一个不同的问题,即在与ImageNet的领域相似性不同程度的基准测试中,提示为基础的CL方法的可扩展性。
据我们所知,这是第一个解决这种好奇心的工作,并显示了现有的基于提示的CL方法在不同领域的CL基准测试上的局限性。为了克服这个问题,我们提出了DAP,这是一个由提示生成器组成的无池框架,使预先训练的vit支持的CL独立于域可靠性,同时保持显著的性能。
☆ END ☆如果看到这里,说明你喜欢这篇文章,请转发、点赞。微信搜索「uncle_pn」,欢迎添加小编微信「 woshicver」,每日朋友圈更新一篇高质量博文。↓扫描二维码添加小编↓