InfLoRA
InfLoRA-Interference-Free Low-Rank Adaptation for Continual Learning (opens new window)
0. 摘要
持续学习要求模型能够顺序学习多个任务。在持续学习中,模型应具备保持其在旧任务上表现(稳定性)和不断适应新任务(可塑性)的能力。最近,参数高效微调(PEFT)方法在持续学习中越来越受欢迎,这种方法通过冻结预训练模型并注入少量可学习参数来适应下游任务。尽管现有的基于 PEFT 的持续学习方法在性能上优于未基于 PEFT 的方法,但大多数方法没有考虑如何消除新任务对旧任务的干扰,从而使模型难以在稳定性和可塑性之间进行良好的权衡。在本文中,我们提出了一种新的 PEFT 方法,称为无干扰低秩适应(InfLoRA),用于持续学习。InfLoRA 通过注入少量参数来重新参数化预训练的权重,并证明微调这些注入的参数相当于在子空间中微调预训练的权重。此外,InfLoRA 设计了这个子空间,以消除新任务对旧任务的干扰,实现了稳定性与可塑性之间的良好平衡。实验结果表明,InfLoRA 在多个数据集上优于现有的最先进的持续学习方法。
1. 引言
持续学习要求模型能够顺序地学习多个任务【33】。为了实现持续学习,模型应具备两个基本能力:保持其在旧任务上的表现(稳定性)和不断适应新任务的能力(可塑性)【33】。此外,持续学习中通常考虑两种不同的场景,包括任务增量场景【32】和类增量场景【41】。任务增量场景允许模型在推理过程中获得任务身份信息。相反,类增量场景不允许模型在推理过程中获得任务身份信息,这使得模型必须学习区分所有任务中的所有类别。
最近,参数高效微调(PEFT)方法【15,16,18】逐渐流行起来,这种方法通过冻结预训练模型并注入少量可学习参数来适应下游任务,特别是在类增量场景中。具体而言,基于 PEFT 的现有持续学习方法【21,43】使用一些流行的 PEFT 方法(如提示微调【25】或低秩适应(LoRA)【16】)将可学习参数注入到预训练模型中。随后,这些方法冻结预训练的权重,并在整个持续学习过程中对注入的参数进行顺序微调。
虽然基于 PEFT 的持续学习方法在性能上优于未基于 PEFT 的方法【44】,但大多数方法没有考虑如何消除新任务对旧任务的干扰,从而使模型难以在稳定性和可塑性之间进行良好的权衡。具体而言,当学习一个新任务时,现有基于 PEFT 的持续学习方法要么重用先前学习的参数来适应新任务【12,44】,要么首先随机扩展一些参数,然后再适应新任务【38,42,43】。在这个过程中,由于新旧任务之间共享参数,新任务对旧任务的干扰依然存在,这意味着在新任务上微调预训练模型可能会干扰模型在旧任务上的表现。因此,模型很难在稳定性和可塑性之间取得良好的平衡。
在本文中,我们提出了一种新的 PEFT 方法,称为无干扰低秩适应(InfLoRA),用于持续学习。本文的贡献如下:
- InfLoRA 通过注入少量参数来重新参数化预训练的权重,并证明微调这些注入的参数相当于在子空间中微调预训练的权重。
- InfLoRA 设计了这个子空间,以消除新任务对旧任务的干扰,实现了稳定性与可塑性之间的良好平衡。
- 实验结果表明,InfLoRA 在多个数据集上优于现有的最先进的持续学习方法。
2. 相关工作和预备知识
2.1 相关工作
参数高效微调(PEFT):PEFT 方法通过冻结预训练模型并注入少量可学习参数来适应下游任务。通过这种方式,PEFT 方法减少了全量微调方法的低效性,后者需要微调预训练模型的所有参数以学习下游任务。例如,Adapter【15】在 Transformers 的不同层中添加小模块,并且仅调整这些添加的模块以适应下游任务。提示微调【25】和前缀微调【27】在 Transformer 层的输入中插入一组可学习的 tokens,并且仅调整这些 tokens 以适应下游任务。低秩适应(LoRA)【16】通过低秩分支重新参数化预训练的权重,并且仅调整这些分支以适应下游任务。尽管这些方法调整的可学习参数比全量微调要少得多,但它们总是表现出与全量微调相当甚至更优的性能【11,16,31,45】。早期的 PEFT 方法主要关注自然语言处理(NLP)。最近,PEFT 方法也被提出用于计算机视觉(CV)。例如,视觉提示微调(VPT)【18】和 AdapterFormer【6】分别将提示微调和 Adapter 技术应用于 CV 任务。它们都表现出与全量微调相当的性能。
持续学习:早期的持续学习通常被认为是从头开始学习的背景下进行的。提出了三种类型的持续学习方法,包括基于正则化的方法【1,20,23,46】、基于记忆的方法【2,3,7,28,39】和基于扩展的方法【17,26,35】。基于正则化的方法采用惩罚损失(正则化)来防止旧任务的重要参数发生过多变化。基于记忆的方法维护一个记忆缓冲区,以存储有关旧任务的信息。基于扩展的方法动态扩展模型的结构以适应每个新任务。
最近,随着预训练模型的进展【9,10,13】,使用预训练模型进行持续学习逐渐流行起来。一些持续学习方法完全微调预训练模型【4,49】,这种方法被证明是低效的。其他方法在持续学习中探索了 PEFT 方法。例如,一些现有的持续学习方法【21,38,43,44】在持续学习中引入了提示微调,在类增量场景中取得了远高于以前从头学习的方法的性能。文献【12】中的方法在持续学习中引入了一个框架,该框架可以与许多现有的 PEFT 方法(如提示微调、LoRA 和 Adapter)结合。然而,所有这些方法都没有考虑如何消除新任务对旧任务的干扰,这抑制了模型在稳定性和可塑性之间进行良好权衡。
2.2 预备知识
我们首先介绍低秩适应(LoRA)【16】,这是与我们的方法相关的流行 PEFT 方法。接下来,我们给出持续学习的问题定义。
低秩适应 LoRA【16】是最流行的 PEFT 方法之一。它假设当模型在下游任务上进行全量微调时,参数的变化位于低秩空间中。具体而言,对于输入维度为
问题定义 在持续学习中,存在一系列具有不同分布的任务。我们将任务序列定义为
我们遵循现有的基于参数高效微调(PEFT)的持续学习方法 [43, 44],并假设模型是一个预训练的视觉 Transformer(ViT)[10]。具体来说,假设模型为
3. Methodology
图 1(a) 展示了我们提出的 InfLoRA 在一个线性层中的架构。在学习第
这里,
在学习第
在以下小节中,我们首先建立 InfLoRA 与微调预训练权重方法之间的关系。具体来说,我们证明微调参数
3.1. InfLoRA 与微调预训练权重的关系
当第
命题 1. 当使用公式 (1) 表示的前向传播学习第
证明. 当微调预训练权重
这里,
这里,我们使用
类似地,当微调扩展权重
此时,
这里,我们使用
命题 1 表明,使用我们的 InfLoRA 训练模型等价于在由
3.2. 消除新任务对旧任务的干扰
我们首先介绍 InfLoRA 希望子空间
3.2.1 理想特性
首先,InfLoRA 希望子空间
除了消除新任务对旧任务的干扰外,我们的 InfLoRA 还进一步使子空间
3.2.2 设计降维矩阵
InfLoRA 首先近似新任务和旧任务的梯度空间。这里,我们使用
现有工作 [29, 36] 表明,线性层的梯度更新位于输入的张成空间中。有关此命题的详细解释,请参阅补充材料。因此,InfLoRA 使用新任务
然而,InfLoRA 不能使用旧任务的输入矩阵来近似旧任务的梯度空间,因为模型在学习新任务时无法获取来自旧任务的数据。相反,现有方法如梯度投影记忆(GPM)[36] 和双重梯度投影记忆(DualGPM)[29] 可以学习一个矩阵来保留旧任务的梯度信息。InfLoRA 结合了 DualGPM 来保留梯度信息。在 DualGPM 的帮助下,模型可以学习一个矩阵
在近似新任务和旧任务的梯度空间后,InfLoRA 获取
类似地,当模型维护
需要注意的是,当
然后,InfLoRA 通过以下方式设计
这里,
需要注意的是,DualGPM 在任务数量增加时扩展子空间
3.3. InfLoRA 的完整流程
算法 1 概述了 InfLoRA 在持续学习中的完整流程。当第

这里,
需要注意的是,一旦模型学习了第
4. 实验
4.1. 实验设置
数据集与评估指标
与现有的基于 PEFT 的持续学习方法 [12, 44] 类似,我们使用 ImageNet-R [14]、CIFAR100 [24] 和 DomainNet [34] 来训练和评估模型。ImageNet-R 是通过对 ImageNet [8] 中的 200 个类别进行艺术处理生成的。该数据集被现有工作 [43] 引入持续学习,并已成为基于 PEFT 的持续学习方法的标准基准。CIFAR100 是现有持续学习工作中常用的数据集。DomainNet 包含 345 个类别,并被一些现有工作 [38, 42] 引入持续学习。遵循现有的持续学习工作 [38],我们将 ImageNet-R 划分为 5 个、10 个和 20 个任务,每个任务分别包含 40、20 和 10 个类别。我们将 CIFAR100 划分为 10 个任务,每个任务包含 10 个类别。我们将 DomainNet 划分为 5 个任务,每个任务包含 69 个类别。
遵循现有的持续学习方法 [12, 44],我们通过两个流行的指标评估模型的性能,包括最终准确率
这里,
基线方法
我们将我们的 InfLoRA 与最先进的基于 PEFT 的持续学习方法进行比较,包括学习提示(L2P)[44]、DualPrompt [43]、持续分解注意力提示(CODA-P)[38]、学习累积集成(LAE)[12]、持续低秩适应(C-LoRA)[37]。对于 LAE,我们使用 LoRA [16] 实现。遵循现有工作 [12, 38],我们在比较中还包含两种不进行持续学习的方法,即联合学习(joint)和顺序学习(sequential)。这里,joint 表示联合学习所有任务的方法,而 sequential 表示按顺序学习所有任务而不采取任何操作来克服模型遗忘的方法。joint 的准确率可以被视为准确率的上限,而 sequential 的准确率可以被视为准确率的下限。
架构与训练细节
我们遵循现有工作 [12, 43] 进行实验。具体来说,我们使用在 ImageNet 21K 上监督预训练的 ViT-B/16 主干 [10] 作为预训练模型。
对于所有方法,我们遵循现有工作 [12, 38, 44] 并使用 Adam [22] 优化器,其梯度及其平方的运行平均值(
关于超参数
4.2. 实验结果
准确率
表 1 展示了不同方法在 ImageNet-R 上不同任务数量下的结果。表 2 展示了不同方法在 CIFAR100 和 DomainNet 上的结果。我们可以发现,我们的方法 InfLoRA 和 InfLoRA-b5 优于现有的持续学习方法。
图 2 展示了不同持续学习方法在 ImageNet-R 和 CIFAR100 上准确率的变化。我们可以发现,我们的方法不仅在学习的最后阶段优于现有方法,而且在整个学习过程中都表现更好。这表明我们的 InfLoRA 消除了新任务对旧任务的干扰,因此我们的方法的准确率下降速度比其他方法慢。
扩展参数的分析
图 3 展示了不同方法在 ImageNet-R 和 CIFAR100 上扩展的参数数量和准确率。对于 L2P、DualPrompt 和 CODA-P,其扩展参数包括添加的提示及其对应的键。对于 LAE,其扩展参数是插入的 LoRA 模块和一个额外的副本。对于 C-LoRA,其扩展参数是插入的 LoRA 模块。对于我们的方法,扩展参数是
消融实验
我们进行实验以验证通过公式 (9) 设计降维矩阵
表 3 展示了我们的方法及其变体的结果。我们可以发现,所有这些变体的表现都不如我们的方法。为了进一步展示不同变体的性能,我们在图 4 中展示了模型学习所有任务后不同任务的相对准确率。这里,相对准确率是不同变体的准确率减去我们的 InfLoRA 的准确率。需要注意的是,图 4 中的最后一个任务是新任务,而其他任务是旧任务。正如我们所看到的,“Random →
预训练模型的变化
我们还遵循现有方法 [40],使用两种不同的自监督方法(包括 DINO [5] 和 iBOT [50])预训练的 ViT-B/16 进行实验。除了预训练模型的选择外,所有实验设置均与第 4.1 节中概述的细节保持一致。
表 4 展示了不同方法在使用各种自监督预训练模型时在 ImageNet-R 上的结果。将这些结果与表 1 中的结果进行比较,我们可以发现,所有使用自监督预训练模型的方法的性能均低于使用监督预训练模型的相应方法。然而,我们的方法仍然优于所有其他方法。
与分类器对齐结合
慢学习者与分类器对齐(SLCA)[48] 利用特征统计量对齐分类器,展示了优于未对齐分类器方法的性能。我们的 InfLoRA 可以与分类器对齐(CA)结合以获得更好的性能。具体来说,在学习第
表 5 展示了我们的方法 InfLoRA+CA 优于 SLCA。需要注意的是,SLCA 微调模型的所有参数,而我们的方法 InfLoRA 仅微调
5. 结论
在本工作中,我们提出了一种新的方法,称为无干扰低秩适应(InfLoRA),用于持续学习。InfLoRA 注入少量参数以重新参数化预训练权重,并表明微调这些注入的参数等价于在子空间中微调预训练权重。此外,InfLoRA 设计该子空间以消除新任务对旧任务的干扰,从而在稳定性和可塑性之间取得良好的平衡。实验结果表明,InfLoRA 在多个数据集上优于现有的最先进的持续学习方法。
致谢
本工作得到了国家自然科学基金(No.62192783)、国家重点研发计划(No.2020YFA0713901)和中央高校基本科研业务费专项资金(No.020214380108)的支持。