EASE
Expandable Subspace Ensemble for Pre-Trained Model-Based Class-Incremental Learning (opens new window)
个人总结
为了捕获新任务的特征,从提示池中选择和优化特定于实例的提示不可避免地会重写以前任务的提示,进而导致了新旧任务之间的冲突,引发灾难性遗忘。为了解决这些问题,EASE基于Adapter为每个增量任务学习任务特定子空间,以减轻跨任务冲突。此外,为了补偿现有分类器和扩展特征之间的维度不匹配,EASE提出了基于语义引导的原型补充策略,通过利用共现空间中的类别相似性来指导目标空间中的分类器映射。
- 基于Adapter的子空间扩展

- 基于语义引导的原型补充

本质上在根据已见类别,逐步完善矩阵上三角:当学得
: : :
- 推理


根据作者提供的代码,推理时,每个增量阶段都选择其对应的Adapter作为“主”Adapter,比如学到了
0. 摘要
类增量学习(Class-Incremental Learning, CIL)要求学习系统在不遗忘旧类别的情况下不断学习新类别。尽管预训练模型(Pre-Trained Models, PTMs)在 CIL 中表现出色,但一个关键问题仍然存在:学习新类别往往会导致旧类别的覆盖。对网络的过度修改会导致遗忘,而最小的调整又会导致对新类别的不充分拟合。因此,我们希望找到一种在不损害先前知识的情况下有效更新模型的方法。在本文中,我们提出了一种基于可扩展子空间集成的预训练模型增量学习(ExpAndable Subspace Ensemble, EASE)方法。为了实现无冲突的模型更新,我们为每个新任务训练一个独特的轻量级适配器模块,目标是创建特定于任务的子空间。这些适配器跨越高维特征空间,使得能够在多个子空间中进行联合决策。随着数据的发展,扩展的子空间使得旧类别分类器与新阶段空间不兼容。相应地,我们设计了一种语义引导的原型补充策略,该策略可以在不使用任何旧类别实例的情况下合成旧类别的新特征。在七个基准数据集上的广泛实验验证了 EASE 的最先进的性能。代码可在:https://github.com/sun-hailong/CVPR24-Ease (opens new window) 获取。
1. 引言
深度学习的发展使得深度神经网络在现实世界的应用中表现出色 [7, 9, 11, 41, 66]。然而在开放世界中,数据通常以流格式出现,要求学习系统能够增量地吸收新类别知识,这被称为类增量学习(Class-Incremental Learning, CIL)[46]。CIL 面临的一个主要障碍是:学习新类别往往会覆盖先前获得的知识,导致对现有特征的灾难性遗忘 [18, 19]。相应的,最近的预训练 [24] 进展激发了社区利用预训练模型(PTMs)来减轻遗忘 [61, 62]。PTMs 使用庞大的数据集和大量资源进行预训练,天生就能产生可泛化的特征。因此,基于 PTM 的 CIL 已经显示出优越的性能,为实际应用开辟了道路 [44, 49, 54, 60]。
有了可泛化的 PTM 作为初始化,算法倾向于冻结预训练权重并附加最小数量的额外参数(例如,提示 [31])来适应增量任务 [49, 60–62]。由于预训练权重被冻结,网络的泛化能力将在整个学习过程中得以保持。然而,为了捕获新任务的特征,从提示池中选择和优化特定于实例的提示不可避免地会重写以前任务的提示。因此,这导致了新旧任务之间的冲突,引发灾难性遗忘 [32]。
在 CIL 中,学习新知识与保留旧信息之间的冲突被称为稳定性 - 可塑性困境 [23]。因此,学习新类别不应该破坏现有类别。几个非 PTM-based 的方法,即扩展网络 [10, 17, 56, 64],通过为每个新任务学习一个独特的主干来解决这个问题,从而创建特定于任务的子空间。它确保优化新主干不会影响其他任务,并且当这些主干被连接时,它们有助于在包含所有特定于任务的特征的高维空间中进行全面决策。为了将连接的特征映射到相应的类别,使用示例(即以前类别的实例)优化大型分类器。扩展网络抵抗跨任务特征冲突,尽管如此,它们需要大量的资源分配用于主干存储,并且需要使用示例进行统一分类器学习。相比之下,提示学习使 CIL 无需示例即可进行,但在遗忘以前的提示方面存在困难。这激发了我们的问题,是否可能构建低成本的任务特定子空间,以克服跨任务冲突而不依赖于示例。
实现这一目标有两个主要挑战。1)构建低成本、任务特定的子空间。由于调整 PTMs 需要无数资源,我们需要使用轻量级模块而不是整个主干来创建和保存任务特定子空间。2)开发一个能够将不断扩展的特征映射到相应类别的分类器。由于以前阶段的示例不可用,以前阶段的分类器与持续扩展的特征不兼容。因此,我们需要利用类别间关系作为语义指导来合成以前学习类别的分类器。
在本文中,我们提出了 ExpAndable Subspace Ensemble (EASE) 来应对上述挑战。为了减轻跨任务冲突,我们为每个增量任务学习任务特定子空间,使学习新类别不会损害以前的类别。这些子空间是通过在冻结的 PTM 上添加轻量级适配器来学习的,因此训练和内存成本可以忽略不计。因此,我们可以通过连接 PTM 的每个适配器的特征来聚合来自多个子空间的信息,以做出全面决策。此外,为了补偿现有分类器和扩展特征之间的维度不匹配,我们利用共现空间中的类别相似性来指导目标空间中的分类器映射。因此,我们可以在不使用示例的情况下合成以前阶段的分类器。在推理过程中,我们通过特征和原型之间的兼容性重新加权预测结果,并构建一个考虑所有子空间对齐的鲁棒集成。如图 1 所示,EASE 以有限的内存成本展现了最先进的性能。
2. 相关工作
类增量学习(Class-Incremental Learning, CIL):要求学习系统不断吸收新类别知识而不遗忘现有的 [13, 14, 20, 22, 38, 57, 59, 74, 81, 82],大致可分为几类。数据复现方法 [3, 6, 37, 45, 75] 在学习新类别时选择并重放以前类别的示例以恢复以前的知识。知识蒸馏方法 [12, 16, 36, 46, 48, 52, 71] 通过知识蒸馏 [27] 在前后阶段模型之间建立映射。映射的 logits/特征帮助增量模型在更新过程中反映以前的特征。参数正则化方法 [1, 2, 34, 68] 在模型更新过程中对重要参数的漂移施加正则化项以维持以前的知识。模型校正方法 [5, 43, 47, 63, 67, 73] 纠正增量模型的归纳偏差以实现无偏预测。最近,扩展网络 [10, 17, 29, 30, 56, 64] 在其他竞争者中表现出色。面对新的增量任务时,它们保持先前的骨干在内存中,并初始化一个新的骨干来捕获这些新特征。至于预测,它们连接所有的骨干以获得大的特征图,并使用额外的示例学习相应的分类器来校准所有类别。有两个主要原因阻碍了基于模型扩展的方法在预训练模型基础上的 CIL 中的部署,即大型预训练模型的巨大内存成本和示例的要求。
基于预训练模型的 CIL:现在是当今 CIL 领域的热门话题 [39, 58, 79]。随着预训练技术的繁荣,直观地将 PTMs 引入 CIL 以获得更好的性能。相应地,大多数方法 [49, 60–62] 学习一个提示池以适应性地选择特定于实例的提示 [31] 进行模型更新。随着预训练权重的冻结,这些方法可以编码新特征到提示池中。DAP[32] 进一步扩展了提示选择过程,增加了一个提示生成模块。除了提示调整,LAE[21] 提出了基于 EMA 的模型更新,具有在线和离线模型。SLCA[70] 将以前类别的高斯建模扩展到 [80] 以在校正期间调整分类器。此外,ADAM[78] 表明原型分类器 [50] 是一个强大的基线,RanPAC[40] 探索了随机投影在此设置中的应用。
3. 预备知识
在本节中,我们介绍了类增量学习和预训练模型的背景,基线及其局限性。
3.1 类增量学习
CIL 是模型不断学习分类新类别以构建统一分类器的学习场景 [46]。给定一系列 B 个训练集,记作
其中
3.2 类增量学习中的基线
使用预训练模型进行学习:在 PTM 时代,许多工作 [32, 49, 60–62] 寻求轻微修改 PTM,以维持预训练知识。通常的想法是冻结预训练权重并训练可学习的提示池(记作 Pool)以影响自注意力过程并编码任务信息。提示是可学习的标记,其维度与图像块嵌入相同 [15, 31]。目标公式化为:
其中
其中 E 是包含以前类别实例的示例集(在当前设置中不可用)。方程 3 描述了一种为新类别学习新特征的方法。假设第一任务包含“猫”,旧嵌入将因模型容量有限而量身定制于提取胡须和条纹等特征。如果新任务包含“鸟”,则不是擦除
4. EASE: 可扩展子空间集成
观察到子空间扩展有可能减轻 CIL 中的跨任务冲突,我们的目标是在不使用示例的情况下实现这一目标。因此,我们首先为顺序任务创建轻量级子空间以控制总预算和计算成本。适配模块应该反映任务信息,提供特定于任务的特征,以便学习新任务不会损害以前的知识。另一方面,由于我们没有示例,我们无法训练分类器来处理不断扩展的特征。因此,我们需要合成并完成扩展的分类器,并在不同任务之间校准预测,而不使用历史实例。相应地,我们尝试利用语义引导映射来完成后期子空间中的以前类别。之后,模型可以享受预训练模型的强大泛化能力以及在统一的高维决策空间中的各种任务特定特征,并全面进行预测,而不会忘记现有的类别。我们首先介绍子空间扩展过程,然后讨论如何完成分类器。我们在最后一部分用伪代码总结推理函数。
4.1 适配器的子空间扩展
在方程 3 中,通过完全微调先前模型获得新的嵌入函数。然而,这需要大量的计算成本和内存预算来微调和保存所有这些主干。相比之下,我们建议通过轻量级适配器调整来实现这一目标 [8]。设预训练模型中有 L 个变换器块,每个块包含一个自注意力模块和一个 MLP 层。遵循 [8],我们为 MLP 学习一个旁路适配器模块。具体来说,适配器是一个瓶颈模块,包含一个下投影层
其中
优化方程 5 使我们能够将任务特定信息编码到这些轻量级适配器中,并创建任务特定子空间。相应地,我们共享冻结的预训练主干,并为每个新任务学习可扩展的适配器。在学习任务 b 的过程中,我们初始化一个新的适配器

可扩展适配器的效果:图 2(左和中)说明了适配器扩展过程。由于我们只针对相应任务调整任务特定适配器,训练新任务不会损害旧知识(即,以前的适配器)。此外,在方程 6 中,我们结合预训练嵌入和各种任务特定适配器以获得最终表示。嵌入包含各个任务特定信息在各个子空间中,可以进一步集成以进行全面预测。此外,由于适配器仅是轻量级分支,它们需要的参数比完全微调主干少得多。保存这些适配器的参数成本为
其中 N 是类别 i 的实例数量。方程 7 表示相应类别在相应嵌入空间中最有代表性的模式,我们可以使用所有适配器嵌入空间中原型的连接
4.2 语义引导的原型补充
方程 7 构建了具有代表性原型的分类器。然而,当新任务到来时,我们需要用新适配器学习新子空间。这需要重新计算所有类别原型以使原型与增加的嵌入对齐,而我们没有任何示例来估计旧类别的原型。例如,我们用第一个数据集
其中索引 i 表示第 i 个类别的原型。在方程 8 中,我们测量旧类别原型与同一子空间中的新类别原型之间的语义相似性,并得到相似性矩阵。我们进一步通过 softmax 归一化相似性:
原型补充的效果:图 2(右)描述了原型合成过程。有了方程 9,我们可以在没有任何以前的示例的情况下恢复最新子空间中的旧类别原型。在学习每个新适配器后,我们使用方程 9 在最新子空间中重构所有旧类别原型。补充过程无需训练,使学习过程高效。
4.3 通过子空间重加权的子空间集成
到目前为止,我们已经介绍了新适配器的子空间扩展和原型补充以恢复旧类别原型。在学习适配器扩展和原型补充之后,我们可以得到一个完整的分类器(原型矩阵):
注意,主对角线上方的项目是通过方程 9 估计的。在推理过程中,任务 b 的 logit 由以下公式计算:
这等于不同子空间中多个(原型 - 嵌入)匹配 logit 的集成。在方程 11 中,只有适配器
其中α是权衡参数,在我们的实验中设置为 0.1。重新加权 logits 使我们能够突出决策中核心特征的贡献。EASE 的总结:我们在补充材料中总结了 EASE 的训练流程。我们为每个新任务初始化和训练一个适配器以编码任务特定信息。之后,我们提取当前数据集的所有适配器的原型,并合成以前类别的原型。最后,我们构建完整的分类器,并重新加权 logit 以进行预测。由于我们使用基于原型的分类器进行推理,方程 5 中的分类器 W 将在每个学习阶段后被丢弃。
5. 实验
在本节中,我们在七个基准数据集上进行实验,并将 EASE 与其他最先进的算法进行比较,以展示增量学习能力。此外,我们提供了消融研究和参数分析,以调查我们提出方法的鲁棒性。我们还分析了原型合成的效果,并提供了可视化以展示 EASE 的有效性。更多的实验结果可以在补充材料中找到。
5.1 实现细节
数据集:由于预训练模型可能拥有上游任务的广泛知识,我们遵循 [62, 78] 在 CIFAR100[35]、CUB200[55]、ImageNet-R[25]、ImageNet-A[26]、ObjectNet[4]、Omnibenchmark[72] 和 VTAB[69] 上评估性能。这些数据集包含典型的 CIL 基准和与 ImageNet(即预训练数据集)具有较大领域差异的分布外数据集。VTAB 中有 50 个类别,CIFAR100 中有 100 个类别,CUB、ImageNet-R、ImageNet-A、ObjectNet 中有 200 个类别,OmniBenchmark 中有 300 个类别。更多细节报告在补充材料中。数据集分割:遵循基准设置 [46, 62],我们使用‘B-m Inc-n’来表示类别分割。m 表示第一阶段中的类别数量,n 代表每个增量阶段的类别数量。对于所有比较的方法,我们遵循 [46] 在数据分割前随机打乱类别顺序,随机种子为 1993。我们保持训练和测试集与 [78] 中的相同,以进行公平比较。比较方法:我们选择了最先进的基于 PTM 的 CIL 方法进行比较,即 L2P[62]、DualPrompt[61]、CODA-Prompt[49]、SimpleCIL[78] 和 ADAM[78]。此外,我们还将在相同预训练模型基础上实现的典型 CIL 方法与我们的方法进行比较,例如 LwF[36]、SDC[67]、iCaRL[46]、DER[64]、FOSTER[56] 和 MEMO[77]。我们报告了作为基线方法的顺序微调 PTM 的 Finetune。我们用相同的 PTM 实现所有方法。训练细节:我们在 NVIDIA 4090 上运行实验,并使用 PyTorch[42] 和 Pilot[51] 复现其他比较方法。遵循 [62, 78],我们考虑两个代表性模型,即 ViT-B/16-IN21K 和 ViT-B/16-IN1K 作为预训练模型。它们是通过在 ImageNet21K 上预训练得到的,而后者进一步在 ImageNet1K 上微调。在 EASE 中,我们使用 SGD 优化器训练模型,对于 20 个周期,批量大小为 48。学习率从 0.01 开始,通过余弦退火衰减。我们将适配器中的投影维度 r 设置为 16,权衡参数α设置为 0.1。评估指标:遵循基准协议 [46],我们使用 Ab 代表模型在第 b 阶段后的准确性。具体来说,我们采用 AB(最后阶段后的性能)和
5.2 基准比较
在本节中,我们在七个基准数据集和不同的骨干权重上比较 EASE 与其他最先进的方法。表 1 报告了不同方法使用 ViT-B/16-IN21K 的比较。我们可以推断 EASE 在所有七个基准中都取得了最佳性能,显著优于当前的 SOTA 方法,即 CODA-Prompt 和 ADAM。我们还报告了不同方法在 ViT-B/16-IN1K 上的增量性能趋势,如图 3 所示。正如每个图像末尾注释的那样,我们发现 EASE 在 ImageNet-R/A、ObjectNet 和 VTAB 上的性能比亚军方法高出 4%∼7.5%。
除了表 1 和图 3 中的 B0 设置外,我们还在花瓶基类别上进行了实验。如图 4 所示,EASE 在各种数据分割设置中仍然具有竞争力。此外,我们还将 EASE 与传统的 CIL 方法进行了比较,这些方法基于相同的预训练模型实现,在表 2 中。必须注意的是,传统 CIL 方法需要保存示例以恢复以前的知识,而我们的不需要。我们遵循 [46] 为这些方法设置了每个类别 20 个示例。令人惊讶的是,我们发现 EASE 与这些基于示例的方法相比仍然具有竞争力。
最后,我们调查了不同方法的参数数量,并在图 1 中报告了 ImageNet-R B100 Inc50 上的参数 - 性能比较。如图所示,EASE 使用的参数规模与其他基于提示的方法相同,例如 L2P 和 DualPrompt,同时在所有竞争者中取得了最佳性能。广泛的实验验证了 EASE 的有效性。
5.3 消融研究
在本节中,我们进行消融研究以调查 EASE 中每个组件的有效性。具体来说,我们报告了不同变体在 ImageNet-R B0 Inc20 上的增量性能,如图 5 所示。在图中,“Vanilla PTM”表示使用预训练图像编码器的原型分类器进行分类,它代表了基线。为了增强特征多样性,我们的目标是通过可扩展适配器(方程 6)为 PTM 配备。由于我们没有示例,我们报告了“w/ Task-Specific Adapters”的性能,仅使用方程 10 中的对角线组件。与“Vanilla PTM”相比,我们发现尽管预训练模型具有可泛化的特征,但适应下游任务以提取特定于任务的特征也是 CIL 中的一个重要步骤。此外,我们可以通过语义映射(方程 9)完成分类器,并使用完整的分类器而不是对角线组件进行分类。我们称这种格式为“w/ Prototype Complement”。如图 5 所示,原型补充进一步提高了性能,表明跨任务的语义信息可以帮助推理。最后,我们通过方程 12 重新加权不同组件的重要性(记作“w/ Subspace Reweight”),进一步改进了性能。消融验证了 EASE 中的每个组件都能提升 CIL 性能。
5.4 进一步分析
可视化: 在本文中,我们期望不同的适配器能够学习特定于任务的特征。为了验证这一假设,我们使用 ImageNet-R B0 Inc5 进行实验,并使用 t-SNE[53] 在图 6 中可视化不同适配器空间中的嵌入。我们考虑两个增量阶段(每个包含五个类别),并为这些任务学习两个适配器 A1、A2。我们用点表示第一阶段的类别,用三角形表示第二阶段的类别。如图 6a 所示,在适配器 A1 的嵌入空间中,第一阶段的类别(点)明显分离,而第二阶段的类别(三角形)则不是。我们可以在图 6b 中观察到类似的现象,其中适配器 A2 可以区分第二阶段的类别。因此,我们主要应该依赖适配器来对相应任务的类别进行分类,如方程 12 中所制定的那样。
参数鲁棒性: EASE 中有两个超参数,即适配器中的投影维度 r 和方程 12 中的权衡参数α。我们在 ImageNet-R B0 Inc20 上进行实验,通过改变这些参数来调查鲁棒性。具体来说,我们选择 r 在{8, 16, 32, 64, 128}中,α在{0.01, 0.05, 0.1, 0.3, 0.5}中。我们在图 7a 中报告平均性能。如图 7a 所示,性能随着这些参数的变化而保持鲁棒,我们建议其他数据集的默认值为 r = 16,α = 0.1。原型补充: 除了方程 9 中的基于相似性的映射外,还有其他方法可以学习映射并完成原型矩阵,例如线性回归(LR)和最优传输(OT)[33, 65]。因此,我们还在图 7b 中比较了基于相似性的补充策略与这些变体。在其他设置相同的情况下,我们发现当前的补充策略在这些变体中是最好的。
6. 结论
增量学习是现实世界学习系统所需的能力。本文提出了一种用于类增量学习的可扩展子空间集成(EASE)方法,该方法基于预训练模型。具体来说,我们通过轻量级适配器为 PTM 配备了多样化的子空间。聚合历史特征使模型能够在不遗忘的情况下提取全面嵌入。此外,我们利用语义信息在后续子空间中合成以前类别的原型,而无需示例的帮助。广泛的实验验证了 EASE 的有效性。局限性和未来工作:尽管适配器是轻量级模块,仅消耗有限的参数(占总主干的 0.3%),但可能的局限性包括保存这些适配器的额外模型大小。未来的工作包括设计算法来压缩适配器。
Supplementary Material
I. 进一步分析
在这部分,我们对 EASE 的组件进行进一步分析,以研究它们的有效性,例如语义引导映射和适配器跨越的子空间。我们还包括了关于随机种子、运行时间和上限结果的比较。
I.1. 原型 - 原型相似性与原型 - 实例相似性
在主要论文中,我们将原型补充任务表述为:给定两个子空间(旧的和新的)和两个类别集合(旧的和新的),目标是使用旧子空间中的 Po,o 和 Pn,o(我们称之为共现空间)以及新子空间中的 Pn,n 来估计新子空间中的旧类别原型
然后利用它在新子空间中通过类别相似性重建原型:
然而,由于我们手头有当前数据集 Db,除了类别间相似性外,我们还可以测量旧类别原型和新类别实例之间的相似性。
不同于方程 1 中的原型到原型相似性,方程 3 在同一子空间内测量旧类别原型与新类别实例之间的相似性。在实现中,我们可以选择 xj 的子集,其中包含 k 个实例,并获得一个|Yold|×k 的相似性矩阵。这些 k 个实例的选择基于相对相似性。类似于方程 2 中的重建过程,我们可以通过以下方式构建原型补充过程:
我们称基于原型 - 实例相似性的补充过程为 PIS(prototype-instance similarity),而将基于原型 - 原型相似性的补充过程称为 PPS(prototype-prototype similarity)。在本节中,我们在 CIFAR100 和 ImageNet-R 上进行实验,比较这些变体。我们使用 ViT-B/16-IN21K 作为主干,并保持其他设置不变。我们在 PIS 中选择 k 在{1, 5, 20, 50, 100, 200}中。我们在图 1 中报告实验结果。如图所示,使用更多实例(即更大的 k)显示出更好的性能。然而,我们发现使用原型 - 实例相似性不如使用原型 - 原型相似性有效,即使消耗了更多资源。
I.2. 适配器与 VPT
在主要论文中,我们通过适配器调整构建特定任务的子空间。然而,除了适配器调整外,还有其他方式以参数高效的方式调整预训练模型,例如视觉提示调整(VPT)。在本节中,我们将 EASE 与不同的子空间构建技术结合起来,分别将 EASE 与适配器和 VPT 结合起来。我们在 CIFAR100 和 ImageNet-R 上进行实验。我们保持其他设置不变,只改变子空间构建的方式,并在图 2 中报告结果。如图所示,使用适配器构建子空间比使用 VPT 表现更好,在这些数据集上超过它 2-3%。主要原因在于 VPT 和适配器之间的差异,适配器调整被证明是预训练模型的更强调整方法。因此,我们选择适配器调整作为 EASE 中构建子空间的方式。
I.3. 与上限比较
在主要论文中,我们使用完成的原型进行推理。然而,如果我们能够保存以前类别的子集 E 的样本,我们就不需要完成以前类别的原型,而可以直接通过以下方式计算它们:
我们将这种计算过程称为上限,因为通过方程 5 计算的原型是对类别中心的准确估计。在本节中,我们将 EASE 与上限进行比较,以显示其有效性,并在表 1 中报告结果。如图所示,EASE 显示出与上限相当的性能,不使用任何样本就实现了几乎相同的结果。结果验证了使用语义信息进行原型补充的有效性。
I.4. 多次运行
在主要论文中,我们在不同数据集上进行实验,并遵循 [46] 用随机种子 1993 洗牌类别顺序。在本节中,我们还使用不同的随机种子,即{1993,1994,1995,1996,1997},多次运行实验。因此,我们可以获得不同方法的五个增量结果,并在图 3 中报告平均值和标准方差。
如图所示,EASE 在不同的随机种子下一致性地以相当大的优势超越其他方法。
I.5. 运行时间比较
在本节中,我们报告不同方法的运行时间比较。我们使用单个 NVIDIA 4090 GPU 运行实验,并在图 4 中报告结果。如图所示,EASE 需要的运行时间少于 CODA-Prompt、L2P 和 DualPrompt,同时具有最佳性能。实验结果验证了 EASE 的有效性。
II. 比较方法介绍
在本节中,我们介绍主要论文中采用的比较方法的详细信息。所有方法都基于相同的预训练模型,以进行公平比较。它们包括:
- Finetune:以预训练模型作为初始化,对每个新任务使用交叉熵损失对 PTM 进行微调。因此,它对以前任务遭受严重的灾难性遗忘。
- LwF [36]:旨在利用知识蒸馏 [27] 来抵抗遗忘。在每个新任务中,它构建了最后阶段模型和当前模型之间的映射,以反映当前模型中的旧知识。
- SDC [67]:使用基于原型的分类器。在模型更新过程中,特征漂移,旧原型无法代表以前的类别。因此,它使用新类别实例来估计旧类别的漂移。
- L2P [62]:是第一个将预训练的视觉变换器引入持续学习的工作。在模型更新过程中,它冻结了预训练的权重,并使用视觉提示调整 [31] 来追踪新任务的特征。它使用提示池构建特定于实例的提示,提示池是通过键值映射构建的。
- DualPrompt [61]:是 L2P 的扩展,将提示扩展为两种类型,即一般和专家提示。其他细节与 L2P 相同,即使用提示池构建特定于实例的提示。
- CODA-Prompt [49]:注意到特定于实例的提示选择的弊端,它旨在通过提示重新加权消除提示选择过程。提示选择过程被替换为基于注意力的提示重组。
- SimpleCIL [78]:探索了基于原型的分类器和普通的预训练模型。以 PTM 作为初始化,它为每个类别构建原型分类器,并使用余弦分类器进行分类。
- ADAM [78]:通过聚合预训练模型和调整模型扩展 SimpleCIL。它将第一个增量阶段视为唯一的调整阶段,并调整 PTM 以提取特定于任务的特征。因此,模型可以在统一框架中统一一般性和适应性。
以上方法都是无需样本的,不需要使用样本。然而,我们还在主要论文中比较了一些基于样本的方法,如下:
- iCaRL [46]:利用知识蒸馏和样本重放来恢复以前的知识。它还使用最近中心均值分类器进行最终分类。
- DER [64]:探索了类别增量学习中的网络扩展。面对新任务,它冻结了之前的主干以保持在内存中,并初始化了一个新的主干来提取新任务的新特征。有了所有历史主干在内存中,它使用连接作为特征表示,并学习一个大的线性层作为分类器。线性层将连接的特征映射到所有见过的类别,需要样本进行校准。DER 在类别增量学习中显示出令人印象深刻的结果,同时它需要大量的内存成本来保存所有历史主干。
- FOSTER [56]:为了减轻 DER 的内存成本,它提出了通过知识蒸馏压缩主干。因此,整个学习过程中只保持一个主干,并且它以低内存成本实现特征扩展。
- MEMO [77]:旨在从另一个方面减轻 DER 的内存成本。它将网络结构解耦为专门化(深)和泛化(浅)层,并基于共享的泛化层扩展专门化层。因此,网络扩展的内存成本从整个主干降低到泛化块。在实现中,我们遵循 [77] 将视觉变换器在最后一个变换器块处解耦。在实验中,我们根据它们的源代码和 PyCIL [76] 重新实现了上述方法。
III. 全部结果
在本节中,我们展示了不同方法的更多实验结果。具体来说,我们在图 5 中报告了不同方法在 ViT-B/16-IN21K 上的增量性能。如图所示,EASE 在不同数据集上一致性地以相当大的优势超越其他方法。
IV. 伪代码
我们总结了 EASE 的训练流程在算法 1 中。我们为每个新任务初始化和训练一个适配器以编码特定于任务的信息(第 4 行)。之后,我们为所有适配器提取当前数据集的原型,并合成以前类别的原型(第 6 行)。最后,我们构建完整的分类器并重新加权逻辑以进行预测(第 8 行)。由于我们使用基于原型的分类器进行推理,因此在每个学习阶段之后,方程 5 中的分类器 W 将被丢弃。