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

    • Survey

    • Direct Replay

    • Generative Replay

    • Data Regularization

    • Neuron Expansion

    • Backbone Expansion

    • PEFT Expansion

      • L2P
      • DualPrompt
      • CODA-Prompt
      • PromptFusion
      • CPP
      • EASE
      • APER
      • InfLoRA
        • InfLoRA-Interference-Free Low-Rank Adaptation for Continual Learning
        • 0. 摘要
        • 1. 引言
        • 2. 相关工作和预备知识
          • 2.1 相关工作
          • 2.2 预备知识
        • 3. Methodology
          • 3.1. InfLoRA 与微调预训练权重的关系
          • 3.2. 消除新任务对旧任务的干扰
          • 3.2.1 理想特性
          • 3.2.2 设计降维矩阵
          • 3.3. InfLoRA 的完整流程
        • 4. 实验
          • 4.1. 实验设置
          • 数据集与评估指标
          • 基线方法
          • 架构与训练细节
          • 4.2. 实验结果
          • 准确率
          • 扩展参数的分析
          • 消融实验
          • 预训练模型的变化
          • 与分类器对齐结合
        • 5. 结论
          • 致谢
      • MOS
      • LAE
      • HiDe-Prompt
      • CPrompt
      • PILoRA
    • Parameter Regularization

    • Logit Distillation

    • Feature Distillation

    • Relational Distillation

    • Feature Rectify

    • Logit Rectify

    • Weight Rectify

    • Template-Based Classification

    • Energy

  • 小样本类增量学习FSCIL

  • UCIL

  • 多模态增量学习MMCL

  • LTCIL

  • DIL

  • 论文阅读与写作

  • 分布外检测

  • GPU

  • 深度学习调参指南

  • AINotes
  • CIL
  • PEFT Expansion
Geeks_Z
2024-08-12
目录

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),用于持续学习。本文的贡献如下:

  1. InfLoRA 通过注入少量参数来重新参数化预训练的权重,并证明微调这些注入的参数相当于在子空间中微调预训练的权重。
  2. InfLoRA 设计了这个子空间,以消除新任务对旧任务的干扰,实现了稳定性与可塑性之间的良好平衡。
  3. 实验结果表明,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 方法之一。它假设当模型在下游任务上进行全量微调时,参数的变化位于低秩空间中。具体而言,对于输入维度为 dI 和输出维度为 dO 的线性层,我们用 W∈RdO×dI 表示其权重。然后,LoRA 通过两个矩阵 A∈RdO×r 和 B∈Rr×dI 扩展了预训练权重 W。通常,r 远小于输入维度 dI 和输出维度 dO,使得 A 成为增维矩阵,B 成为降维矩阵。最终,LoRA 修改了此线性层中的前向传播:e=Wh+ABh。其中,h 和 e 分别表示此层的输入和输出。LoRA 将 A 初始化为零,并使用高斯分布初始化 B。在学习下游任务的过程中,LoRA 冻结预训练的权重 W,仅微调参数 A 和 B。

问题定义 在持续学习中,存在一系列具有不同分布的任务。我们将任务序列定义为 D={D1,…,DT},其中第 t 个任务 Dt={(xi,t,yi,t)}i=1nt。这里,xi,t 表示输入样本,yi,t 表示其标签。持续学习的目标是依次在这些任务上训练模型,并确保模型在所有任务上表现良好。

我们遵循现有的基于参数高效微调(PEFT)的持续学习方法 [43, 44],并假设模型是一个预训练的视觉 Transformer(ViT)[10]。具体来说,假设模型为 hΦ(fΘ(⋅)),其中 hΦ(⋅) 是带有参数 Φ 的分类器,fΘ(⋅) 是带有预训练参数 Θ 的预训练 ViT 主干。与现有工作 [43] 类似,我们主要关注类增量场景,其中在推理过程中任务身份未知。此外,我们专注于无样本设置 [43, 51],其中无法获取历史数据进行复习。

3. Methodology

图 1(a) 展示了我们提出的 InfLoRA 在一个线性层中的架构。在学习第 t 个新任务之前,InfLoRA 扩展了一个类似于 LoRA 的分支,该分支包括一个降维矩阵 Bt∈Rr×dI 和一个升维矩阵 At∈RdO×r。然后,该线性层的前向传播被修改为:

(1)e=Wh+∑j=1tAjBjh=Wt−1h+AtBth=Wth

这里,Wt=Wt−1+AtBt=W+∑i=1tAiBi。与 LoRA 类似,我们的 InfLoRA 也将升维矩阵 At 初始化为 0。然而,与 LoRA 使用高斯分布初始化降维矩阵 B 不同,我们的 InfLoRA 在学习第 t 个任务之前设计降维矩阵 Bt。

在学习第 t 个任务的过程中,InfLoRA 微调 At 以学习新任务,同时冻结预训练权重 W、所有旧分支以及矩阵 Bt。在学习第 t 个任务之后,对于属于已学习任务的任何测试样本,模型使用 Wt 和公式 (1) 来推断其标签。这种设计确保我们的方法与类增量场景兼容,其中在推理过程中任务身份未知。

在以下小节中,我们首先建立 InfLoRA 与微调预训练权重方法之间的关系。具体来说,我们证明微调参数 At 等价于在由 Bt 的行张成的子空间中微调预训练权重 W。需要注意的是,Bt 是在学习第 t 个任务之前设计的,因此该子空间是预先设计的。然后,基于这一关系,我们介绍 InfLoRA 如何设计该子空间以消除新任务对旧任务的干扰,并在稳定性和可塑性之间取得良好的平衡。

3.1. InfLoRA 与微调预训练权重的关系

当第 t 个任务到达并且我们的方法扩展了一个新分支时,该层的前向传播可以表示为公式 (1)。此时,我们可以证明以下命题:

命题 1. 当使用公式 (1) 表示的前向传播学习第 t 个任务时,微调 At 等价于在子空间 span{bt,1,…,bt,r} 中微调预训练权重 W。这里,bt,i (1≤i≤r) 表示 Bt 的第 i 个行向量。

证明. 当微调预训练权重 W 以学习第 t 个任务时,我们可以基于链式法则计算 W 的梯度:

(2)∂L∂W=∂L∂e∂e∂W=∂L∂ehT

这里,L 表示损失函数。此时,W 的变化可以表示为 ΔW=−α∂L∂W,其中 α 是学习率。然后,我们可以计算组合矩阵 Wt=W+∑j=1tAjBj 的变化:

(3)ΔWWt=[W+ΔW+∑j=1tAjBj]−(W+∑j=1tAjBj)=ΔW=−α∂L∂ehT

这里,我们使用 ΔWWt 表示由 W 的变化引起的组合矩阵 Wt 的变化。

类似地,当微调扩展权重 At 时,我们可以基于链式法则计算 At 的梯度:

(4)∂L∂At=∂L∂e∂e∂At=∂L∂ehTBtT

此时,At 的变化可以表示为 ΔAt=−α∂L∂At。然后,我们可以计算组合矩阵 Wt=Wt−1+AtBt 的变化:

(5)ΔAtWt=[Wt−1+(At+ΔAt)Bt]−(Wt−1+AtBt)=ΔAtBt=−α∂L∂ehTBtTBt=ΔWWtBtTBt

这里,我们使用 ΔAtWt 表示由 At 的变化引起的组合矩阵 Wt 的变化。公式 (5) 中的第四个等式成立是因为公式 (4),而第五个等式成立是因为公式 (2)。公式 (5) 表明 ΔAtWt 等于 ΔWWt 乘以一个投影矩阵 BtTBt。由于 BtTBt 将 ΔWWt 的每一行向量投影到子空间 span{bt,1,…,bt,r},因此命题 1 成立。

命题 1 表明,使用我们的 InfLoRA 训练模型等价于在由 Bt 的行张成的子空间 span{bt,1,…,bt,r} 中直接微调预训练权重 W。因此,在学习第 t 个任务之前,我们可以设计矩阵 Bt,使得在该子空间中学习第 t 个任务不会干扰模型在旧任务上的表现。

3.2. 消除新任务对旧任务的干扰

我们首先介绍 InfLoRA 希望子空间 span{bt,1,…,bt,r} 具备的理想特性。通过这些特性,InfLoRA 可以消除新任务对旧任务的干扰,并在稳定性和可塑性之间取得良好的平衡。然后,我们介绍如何设计降维矩阵 Bt,使得子空间 span{bt,1,…,bt,r} 具备这些特性。

3.2.1 理想特性

首先,InfLoRA 希望子空间 span{bt,1,…,bt,r} 与所有旧任务的梯度正交。通过这种方式,根据命题 1,InfLoRA 的更新(可以表示为 ΔAtWt)也将与旧任务的梯度正交。需要注意的是,使新任务的更新与旧任务的梯度正交以消除新任务对旧任务的干扰的想法已经在许多现有的持续学习方法中提出 [30, 36]。然而,这些现有方法都是为从头开始的持续学习设计的,涉及更新模型的所有参数,这与 PEFT 的设置不兼容。相反,我们的方法是一种 PEFT 方法,仅微调 At 中的参数。

除了消除新任务对旧任务的干扰外,我们的 InfLoRA 还进一步使子空间 span{bt,1,…,bt,r} 位于新任务梯度所在的子空间中,以在稳定性和可塑性之间取得良好的平衡。具体来说,现有工作 [19] 表明,在微调过程中,预训练 ViT 的权重增量在权重秩方面表现出冗余性。因此,新任务的梯度位于一个低维子空间中。我们的方法使 span{bt,1,…,bt,r} 不仅与旧任务的梯度正交,还位于新任务 t 的梯度所在的子空间中。通过这种方式,我们的方法在消除新任务对旧任务的干扰的同时,使模型专注于新任务,从而在稳定性和可塑性之间取得良好的平衡。第 4.2 节验证了这两个特性的有效性。

3.2.2 设计降维矩阵

InfLoRA 首先近似新任务和旧任务的梯度空间。这里,我们使用 Nt 表示 InfLoRA 近似的新任务的梯度空间。类似地,我们使用 Mt 表示 InfLoRA 近似的先前 t−1 个旧任务的梯度空间。我们还使用 Mt⊥ 表示与 Mt 正交的残差梯度空间。然后,为了满足第 3.2.1 节中描述的特性,InfLoRA 确保 Bt 的每一行位于 Nt∩Mt⊥ 中。换句话说,InfLoRA 使 span{bt,1,…,bt,r}⊆Nt∩Mt⊥。

现有工作 [29, 36] 表明,线性层的梯度更新位于输入的张成空间中。有关此命题的详细解释,请参阅补充材料。因此,InfLoRA 使用新任务 t 的输入矩阵来近似新任务的梯度空间。具体来说,InfLoRA 计算输入矩阵 Ht=[ht,1,…,ht,n],其中 Ht 的每一列表示第 t 个任务的输入向量。然后,InfLoRA 将 Nt 视为由矩阵 Ht 的列张成的子空间。

然而,InfLoRA 不能使用旧任务的输入矩阵来近似旧任务的梯度空间,因为模型在学习新任务时无法获取来自旧任务的数据。相反,现有方法如梯度投影记忆(GPM)[36] 和双重梯度投影记忆(DualGPM)[29] 可以学习一个矩阵来保留旧任务的梯度信息。InfLoRA 结合了 DualGPM 来保留梯度信息。在 DualGPM 的帮助下,模型可以学习一个矩阵 Mt∈RdI×kt 或一个矩阵 Mt⊥∈RdI×(dI−kt)。这里,Mt 的列构成了 Mt 的正交基,而 Mt⊥ 的列构成了 Mt⊥ 的正交基。kt 表示 Mt 的维度。有关 DualGPM 如何维护正交基 Mt 或 Mt⊥ 的详细信息,请参阅补充材料或原始论文 [29]。

在近似新任务和旧任务的梯度空间后,InfLoRA 获取 Nt 中位于 Mt⊥ 中的部分。具体来说,当模型维护 Mt 时,InfLoRA 执行以下操作:

(6)H^t=Ht−MtMtTHt

类似地,当模型维护 Mt⊥ 时,InfLoRA 执行以下操作:

(7)H^t=Mt⊥(Mt⊥)THt

需要注意的是,当 t=1 时,Mt 是一个空空间,因此 H^t=Ht。显然,H^t 的每一列都位于 Nt∩Mt⊥ 中。然而,由于 H^tT∈Rn×dI 和 Bt∈Rr×dI 具有不同的形状,InfLoRA 不能直接将 Bt 定义为 H^tT。由于 n≫r,InfLoRA 使用 H^tT 的主成分来设置 Bt。具体来说,对 H^tT 进行奇异值分解(SVD):

(8)H^tT=VtΣtUt

然后,InfLoRA 通过以下方式设计 Bt:

(9)Bt=(Ut)r

这里,(Ut)r 表示 Ut 中对应于前 r 个奇异值的行。图 1(b) 展示了设计矩阵 Bt 的流程。

需要注意的是,DualGPM 在任务数量增加时扩展子空间 Mt 并减少子空间 Mt⊥。由于 InfLoRA 将模型的更新约束在子空间 Nt∩Mt⊥⊆Mt⊥ 中,因此随着任务数量的增加,学习新任务的空间会减少。然而,通过调整对旧任务梯度的近似误差,DualGPM 可以缓慢扩展 Mt 并缓慢减少 Mt⊥。因此,InfLoRA 的约束不会过度影响模型对新任务的学习。有关详细解释,请参阅补充材料。

3.3. InfLoRA 的完整流程

算法 1 概述了 InfLoRA 在持续学习中的完整流程。当第 t 个新任务到达时,InfLoRA 首先通过公式 (9) 设计 Bt 并扩展一个新分支。然后,InfLoRA 通过微调新扩展的分支来学习第 t 个任务。请注意,基于现有方法 [12, 38] 的经验发现,我们采用局部交叉熵(CE)损失作为学习目标,因为它通常在基于 PEFT 的持续学习方法中表现优于全局 CE 损失。局部 CE 是约束在当前新任务类别上的 CE 损失,可以表示为:

(9)L(Dt)=1|Dt|∑(x,y)∈DtLce(mask(hΦ(fΘ(x))),y)

这里,mask(⋅) 是一个过滤掉旧类别 logits 的函数,Lce 表示标准的交叉熵损失。在学习第 t 个新任务后,InfLoRA 遵循 DualGPM 保留第 t 个任务的梯度信息。

需要注意的是,一旦模型学习了第 t 个任务,对应的分支将被冻结。由于扩展的分支是线性变换,我们可以将旧分支集成到预训练权重中,以减少扩展的参数。具体来说,在学习第一个任务后,InfLoRA 将第一个分支集成到预训练权重中,并获得权重 W1=W+A1B1。在学习第 t 个新任务之前(t>1),InfLoRA 维护权重 Wt−1。在学习第 t 个任务后,InfLoRA 将第 t 个分支集成到 Wt−1 中,并获得 Wt=Wt−1+AtBt。通过这种方式,At 和 Bt 中的参数不需要在后续任务的学习中维护。因此,在整个学习过程中,InfLoRA 扩展的参数数量等于单个分支中的参数数量。由于单个分支包含 (dI+dO)r 个参数,因此 InfLoRA 扩展的参数数量始终为 (dI+dO)r。

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],我们通过两个流行的指标评估模型的性能,包括最终准确率 ACCT 和平均准确率 ACCT=1T∑i=1TACCi,其中 T 表示任务总数,ACCi 定义为:

(11)ACCi=1i∑j=1iai,j

这里,ai,j 表示模型在学习第 i 个任务后对第 j 个任务的准确率。

基线方法

我们将我们的 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] 优化器,其梯度及其平方的运行平均值(β1=0.9,β2=0.999)。每个任务在 ImageNet-R 上训练 50 个 epoch,在 CIFAR100 上训练 20 个 epoch,在 DomainNet 上训练 5 个 epoch。所有实验的批量大小设置为 128。由于我们的 InfLoRA 与 LoRA 的架构相似,我们遵循现有工作 [12] 并将 InfLoRA 的架构插入到注意力模块的键和值中。此外,现有方法 DualPrompt [43] 将插入的块视为超参数,并搜索其提示的最佳位置。相反,我们将 InfLoRA 的架构插入到所有 Transformer 块中,以避免搜索。我们还实现了一个变体,该变体像现有方法 DualPrompt 和 CODA-P 一样插入底部 5 个 Transformer 块。我们称该变体为 InfLoRA-b5。

关于超参数 r,我们通过在验证数据集上进行网格搜索来确定其值。

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 模块。对于我们的方法,扩展参数是 Bt 和 At。有关计算不同方法扩展参数数量的详细信息,请参阅补充材料。我们可以发现,CODA-P 和 C-LoRA 扩展的参数数量远多于其他方法。此外,我们的方法 InfLoRA 和 InfLoRA-b5 扩展的参数数量与 L2P、DualPrompt 和 LAE 相当,但性能优于这些方法。

消融实验

我们进行实验以验证通过公式 (9) 设计降维矩阵 Bt 的有效性。具体来说,我们探索了三种不同的变体来设计 Bt。第一种变体使用高斯分布随机设计 Bt。我们称该变体为“Random → Bt”。第二种变体丢弃公式 (6) 或 (7) 中的操作,并直接设置 H^t=Ht。通过这种方式,该变体确保 Bt 的每一行位于 Nt 中,而忽略 Mt⊥。我们称该变体为“Nt → Bt”。第三种变体不计算输入矩阵,而是在应用公式 (6) 或 (7) 之前使用高斯分布初始化 Ht。通过这种方式,该变体确保 Bt 的每一行位于 Mt⊥ 中,而忽略 Nt。我们称该变体为“Mt⊥ → Bt”。由于我们的方法同时关注 Mt⊥ 和 Nt,因此我们使用“Nt∩Mt⊥ → Bt”来表示我们的方法。

表 3 展示了我们的方法及其变体的结果。我们可以发现,所有这些变体的表现都不如我们的方法。为了进一步展示不同变体的性能,我们在图 4 中展示了模型学习所有任务后不同任务的相对准确率。这里,相对准确率是不同变体的准确率减去我们的 InfLoRA 的准确率。需要注意的是,图 4 中的最后一个任务是新任务,而其他任务是旧任务。正如我们所看到的,“Random → Bt”和“Nt → Bt”在新任务上优于“Mt⊥ → Bt”,但在旧任务上的准确率远低于“Mt⊥ → Bt”和我们的 InfLoRA。这意味着这两种变体未能消除新任务对旧任务的干扰,导致模型的稳定性较低。相反,“Mt⊥ → Bt”在新任务上的表现最差。这意味着“Mt⊥ → Bt”忽略了模型的可塑性。我们的方法在大多数任务上优于所有变体。这表明我们的方法能够消除新任务对旧任务的干扰,并在稳定性和可塑性之间取得更好的平衡。

预训练模型的变化

我们还遵循现有方法 [40],使用两种不同的自监督方法(包括 DINO [5] 和 iBOT [50])预训练的 ViT-B/16 进行实验。除了预训练模型的选择外,所有实验设置均与第 4.1 节中概述的细节保持一致。

表 4 展示了不同方法在使用各种自监督预训练模型时在 ImageNet-R 上的结果。将这些结果与表 1 中的结果进行比较,我们可以发现,所有使用自监督预训练模型的方法的性能均低于使用监督预训练模型的相应方法。然而,我们的方法仍然优于所有其他方法。

与分类器对齐结合

慢学习者与分类器对齐(SLCA)[48] 利用特征统计量对齐分类器,展示了优于未对齐分类器方法的性能。我们的 InfLoRA 可以与分类器对齐(CA)结合以获得更好的性能。具体来说,在学习第 t 个任务并更新参数 At 和 Bt 以及损失函数 (10) 后,我们收集第 t 个任务的特征 Ft={ri,t}i=1nt。这里,ri,t=f(xi,t) 表示主干 fΘ(⋅) 提取的特征。然后,计算并保存每个类别特征的均值和协方差。之后,对于模型在持续学习过程中见过的每个类别 c,从高斯分布 N(μc,Σc) 中采样 S 个样本。这里,μc 和协方差 Σc 分别表示类别 c 的均值和协方差。最后,我们使用标准交叉熵和这些样本对齐分类器。有关该实验的详细信息,请参阅补充材料。

表 5 展示了我们的方法 InfLoRA+CA 优于 SLCA。需要注意的是,SLCA 微调模型的所有参数,而我们的方法 InfLoRA 仅微调 At 中的参数。因此,我们的 InfLoRA+CA 比 SLCA 更加高效。

5. 结论

在本工作中,我们提出了一种新的方法,称为无干扰低秩适应(InfLoRA),用于持续学习。InfLoRA 注入少量参数以重新参数化预训练权重,并表明微调这些注入的参数等价于在子空间中微调预训练权重。此外,InfLoRA 设计该子空间以消除新任务对旧任务的干扰,从而在稳定性和可塑性之间取得良好的平衡。实验结果表明,InfLoRA 在多个数据集上优于现有的最先进的持续学习方法。

致谢

本工作得到了国家自然科学基金(No.62192783)、国家重点研发计划(No.2020YFA0713901)和中央高校基本科研业务费专项资金(No.020214380108)的支持。

上次更新: 2025/06/25, 11:25:50
APER
MOS

← APER MOS→

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