APART
Adaptive Adapter Routing for Long-Tailed Class-Incremental Learning
0. 摘要
在我们的不断变化的世界中,新数据呈现出长尾分布,例如不同类别的新图像数量不同。这就需要在不遗忘的情况下持续对不平衡数据进行模型学习,解决长尾类别增量学习(LTCIL)的挑战。现有方法通常依赖于用以前数据重新训练线性分类器,这在现实世界设置中是不切实际的。在本文中,我们利用预训练模型的强大表示能力,引入了自适应适配器路由(Apart)作为 LTCIL 的无样本解决方案。为了对抗遗忘,我们训练插入的适配器,冻结预训练的权重以进行更深入的适应,并在顺序模型更新期间维护适配器池以供选择。此外,我们提出了一个辅助适配器池,专门设计用于有效泛化,特别是在少数类别上。自适应实例路由跨这些池捕获关键相关性,促进了所有类别的全面表示。因此,Apart 在统一框架内解决了不平衡问题和灾难性遗忘问题。广泛的基准实验验证了 Apart 的有效性。代码可在:https://github.com/vita-qzh/APART (opens new window) 获取。
关键词:长尾类别增量学习,预训练模型,灾难性遗忘,类别增量学习
1. 引言
传统的机器学习算法通常假设一个封闭世界场景,其中数据来自静态、平衡的分布 [Ye et al., 2024]。然而在现实中,数据经常呈现出长尾流模式,例如图片不断出现,但在类别和数量上有所不同。这就要求从长尾数据中进行增量学习,称为长尾类别增量学习(LTCIL)[Liu et al., 2022]。在 LTCIL 中,一个重大挑战是灾难性遗忘 [French, 1999],模型在学习过程中倾向于丢失旧数据的知识。此外,固有的数据不平衡导致模型对少数类别的表示不足,导致对多数类别的偏见 [Zhang et al., 2023]。这些相互关联的挑战在机器学习社区中构成了一个重大问题。因此,已经开发了几种算法来解决这些问题。例如,LWS[Liu et al., 2022] 通过从新数据和保留的旧数据中采样平衡数据集来重新平衡分类器。类似地,GVAlign[Kalla and Biswas, 2024] 通过重放生成的伪增强样本来增强表示的鲁棒性并校准分类器。这些方法虽然提高了性能,但依赖于以前类别的样本存储。
在 LTCIL 中保留样本对于防止遗忘至关重要,但由于存储限制 [Kremp et al., 2014] 和隐私问题 [Chamikara et al., 2018],这种方法经常在现实世界应用中失败。然而,预训练模型(PTMs)的最新进展 [Han et al., 2021] 表明,由于其强大的表示能力,它们在不依赖样本的情况下也有效。PTMs 不仅在类别增量学习 [Wang et al., 2022] 中越来越受欢迎,而且在长尾学习 [Shi et al., 2024] 中也挑战了传统的“从零开始训练”范式。它们能够提供强大的基础知识,通过广泛的预训练数据集得到加强,确保了对下游任务的惊人适应性。这种适应性在处理少数类别的数据稀缺性和维护旧任务性能方面特别有益。因此,利用 PTMs 已成为这些领域实现卓越性能的主要策略。在本文中,我们探索将 PTMs 整合到 LTCIL 中,以“无样本”的方式克服其挑战。
LTCIL 提出了两个关键挑战,即灾难性遗忘和数据不平衡。灾难性遗忘发生在新信息取代旧知识时,导致现有特征被覆盖和整体性能下降。另一方面,数据不平衡使得学习过程偏向多数类别,忽视了少数类别。因此,多数类别和少数类别之间的边界是有偏见的,使模型更有可能将样本分类为多数类别。在学习过程中,这两个问题紧密耦合,增加了 LTCIL 的难度。
一个能够持续从长尾数据流中学习的理想的模型应该是节俭和全面的。节俭意味着模型,特别是基于 PTMs 的模型,可以充分利用其潜力来学习新类别。因此,模型更新机制应该精心设计,以抵抗学习过程中的灾难性遗忘。同时,全面意味着模型采用特定的学习策略来捕获更多的少数类别,为所有类别提供全面和独特的表示。通过协调这些节俭和全面方面,模型可以熟练地应对 LTCIL 的挑战,为提高性能铺平道路。
在本文中,我们提出了自适应适配器路由(Apart)来解决上述 LTCIL 中的挑战。为了使模型节俭,我们冻结了 PTMs 的大部分参数,并在每一层使用可训练的适配器。此外,我们将一组适配器扩展到包含多个组的池中。每次新数据到来时,我们检索最相关的适配器组并更新它。此外,我们引入了一个专门针对少数类别的辅助池。在推理期间,我们动态地结合这两个池以获得全面表示。与使用固定阈值过滤训练数据以供辅助池使用的方法不同,我们的方法自适应地学习实例路由,以数据驱动的方式编码任务信息。这反映了辅助池与少数类别的相关性,使所有类别都能全面了解。上述统一框架以端到端的方式进行训练,实现了数据驱动的自动路由学习。我们通过在几个基准数据集上进行大量实验来广泛验证 Apart 的有效性。Apart 的主要贡献可以总结如下:
- 在多个选择中选择用于预训练模型深层适应的层级适配器,减少了在转移到下游任务时的遗忘。
- 为少数类别特别设计的辅助池,补偿了数据的不足。在训练辅助池时数据的不平衡大大减少,从而全面表示少数类别。
- 自适应路由被学习以自动以数据驱动的方式捕获数据和辅助池之间的相关性,减少了在定义少数类别时对手动阈值的依赖。
本文的组织如下。第 2 节回顾了主要相关工作。第 3 节阐述了研究问题并介绍了基线方法。第 4 节描述了 Apart 并详细说明了其每个元素。第 5 节介绍了实证评估和进一步分析。之后,我们在第 6 节总结本文。
2. 相关工作
长尾学习:旨在从高度不平衡的数据中学习 [Zhang et al., 2023],其中少数类别(多数类别/头部类别)拥有大量数据,而其余类别(少数类别/尾部类别)数据有限。当前算法大致可分为三组。第一组考虑重新采样数据集以形成平衡的训练集 [Chawla et al., 2018] 或重新加权损失项以支持尾部类别 [Cui et al., 2019; Lin et al., 2017]。第二组考虑从头部类别向尾部类别转移知识 [Wang et al., 2017] 和自训练 [Rosenberg et al., 2005; Wei et al., 2021] 以增强尾部类别的识别能力。第三组设计技术通过表示学习 [Huang et al., 2016]、解耦训练 [Kang et al., 2020] 和集成学习 [Zhou et al., 2020] 来改进表示或分类器模块。
类别增量学习(CIL):旨在顺序学习新任务,不忘旧知识 [Zhou et al., 2024; Wang et al., 2023]。为了缓解困境,提出了大量工作,主要分为三类。第一组通过知识蒸馏将旧模型的知识转移到新模型 [Hinton et al., 2015],在更新时 [Li and Hoiem, 2017; Douillard et al., 2020]。第二组基于以前任务保留的样本,并重放它们以维护旧知识 [Zheng et al., 2024; Rebuffi et al., 2017; Hou et al., 2019a; Castro et al., 2018]。第三组扩展网络 [Yan et al., 2021; Wang et al., 2022; Zhou et al., 2023] 以满足随数据增加而产生的模型容量需求。随着预训练模型的流行,出现了更多基于 PTMs 的方法 [Zhou et al., 2024; Wang et al., 2022; Seale Smith et al., 2022; Zhou et al., 2024; Wang et al., 2022; Zhou et al., 2024]。这些方法主要设计轻量级模块,以参数高效的方式适应 PTMs。长尾类别增量学习(LTCIL):最近提出,旨在从长尾流数据中学习。LWS[Liu et al., 2022] 从新数据和保留的旧数据中采样平衡数据集,以重新加权分类器以获得更好的性能。此外,GVAlign[Kalla and Biswas, 2024] 通过重放生成的伪增强样本来增强表示的鲁棒性并校准分类器。这些方法都遵循两阶段策略,在第二阶段使用平衡数据集纠正模型的输出。相比之下,我们的目标是在不访问旧数据的情况下实现更好的增量性能。
3. 预备知识
在本节中,我们首先描述 LTCIL 的设置,然后介绍基线方法及其局限性。
3.1 长尾类别增量学习
在类别增量学习中,模型从顺序任务中学习。当任务
在 LTCIL 中,我们用
3.2 用于 CIL 的预训练模型
目前,预训练模型在 CIL 领域越来越受欢迎。视觉识别任务中最有代表性的 PTM 是视觉变换器(ViT)[Dosovitskiy et al., 2020],它在大规模数据集(例如,ImageNet[Russakovsky et al., 2015])上预训练,作为主干
L2P[Wang et al., 2022] 是第一个在 CIL 中使用预训练 ViT 的方法。为了有效地适应下游任务,它采用了视觉提示调整 [Jia et al., 2022],这是一种参数高效的微调技术。提示可以看作是输入的水平扩展。在训练期间,它冻结了整个主干,并在实例的嵌入前添加提示
其中
讨论:虽然方程 1 为在提示中编码任务特定信息提供了有效方式,但 L2P 在 LTCIL 中并未获得预期的性能。主要有两个原因。首先,可学习的提示只添加到输入级别,因此当整个主干被冻结时,其影响有限。这限制了模型在面对多样化的下游任务时的表示能力。其次,当数据分布变得长尾时,需要更具体的措施来补偿少数类别以获得全面的特征。在训练期间,提示不可避免地偏向多数类别,并且不能像预期的那样存储精确的知识。因此,方程 1 抵抗遗忘的能力被削弱了。
4. 自适应适配器路由用于 LTCIL
鉴于 PTMs 的潜力,我们尝试以无样本的方式将 PTMs 整合到 LTCIL 中。为了使模型具有可用性,我们在每一层中插入适配器,而不是在第一层中预置提示,垂直扩展冻结的PTM,并进行更深层次的适配。另一方面,为了使模型全面,提出了一个独特的机制,专门针对少数类别。为了加强与少数类别的相关性,实例路由自适应地以数据驱动的方式学习。在本节中,我们首先介绍促进长尾学习的技术,然后讨论路由策略。我们在最后总结训练流程。
4.1 辅助适配器池
适配器是 PTMs 的垂直扩展,增加了转移到下游任务的可转移性,同时消耗的参数有限。与提示相比,适应发生在结构中而不是输入中,因此在视觉识别任务上表现更好。在本文中,我们遵循 [Chen et al., 2022] 在 ViT 的每个transformer block中插入适配器。适配器是一个瓶颈结构,由一个下投影层
其中
其中
其中
辅助适配器池:由于不平衡分布使模型有偏见,并且对少数类别的学习不足,为了补偿不足,在没有多数类别的干扰下特别训练少数类别是直观的方法。在没有多数类别的情况下,少数类别之间的不平衡比率要小得多,这使得提供更准确的表示成为可能。因此,我们提出学习一个辅助池
其中
其中
辅助适配器池的效果:方程 4 引入了辅助池并汇总了损失,如图 1 中间部分所示。第一项强制适配器从当前任务中学习并更新存储的知识,第二项强制辅助池仅从少数类别中学习。通过优化方程 4,在充分学习多数类别的基础上,辅助池在少数类别上泛化。因此,对少数类别的识别偏见和持续学习中的遗忘被减轻。

4.2 自适应路由
函数
其中
为了用更多数据信息指导路由,原始的步骤函数权重格式可以作为最初几个周期的参考。然后,我们通过添加正则化项避免权重在训练时趋于 0:
其中
自适应适配器路由的效果:方程 5 学习了辅助损失的实例权重,如图 1 左半部分所示。它结合了实例和类别的信息。方程 6 中的替换显示在图 1 的右半部分。与启发式权重相比,自适应可学习的权重以数据驱动的方式调节单个实例的重要性。因此,辅助池可以编码更多特定于实例的知识,并给出更全面的表示。
4.3 Apart 的总结
我们在算法 1 中给出了 Apart 的伪代码。在每个小批量中,我们首先分别计算适配器池产生的损失,如方程 3 所示。然后我们学习辅助损失的权重,遵循方程 5,并将它们加起来进行反向传播,即

5. 实验
在本节中,我们将 Apart 与基准 LTCIL 数据集上的最先进方法进行比较。消融研究验证了 Apart 的每个部分的有效性,进一步的分析和可视化用于探索 Apart 的内在特性。
5.1 实施细节
数据集:按照 [Liu et al., 2022],我们首先在数据集 CIFAR100[Krizhevsky et al., 2009] 上进行实验。由于 PTMs 主要在 ImageNet21k[Russakovsky et al., 2015] 上预训练,像 ImageNet-Subset 这样的 100 类数据集由于重叠而不适合评估。按照 [Wang et al., 2022; Zhou et al., 2024],我们选择了另外两个数据集 ImageNet-R[Hendrycks et al., 2021] 和 ObjectNet[Barbu et al., 2019] 作为 PTMs 适应的具有挑战性的下游任务。其中,CIFAR100 包含 60,000 张图片,分为 100 类。ImageNet-R 包含 30,000 张图片,分为 200 类。ObjectNet 包含约 33,000 张图片,分为 200 类。为了模拟 LTCIL 场景,我们对这些数据集进行了采样。按照 [Liu et al., 2022],我们通过参数
设置:按照 [Liu et al., 2022],我们进行了两种 LTCIL 场景,即有序 LTCIL 和无序 LTCIL。前者通过任务遵循长尾分布,而后者首先随机打乱衰减数字,然后为每个类别分配频率。在有序 LTCIL 中,跨任务的不平衡比率保持不变,而无序 LTCIL 可以看作是一个通用场景,允许不同任务中有不同的比率。
数据集分割:首先,我们采用 [Liu et al., 2022] 中的分割,从包含一半类别的基础任务开始,然后将其他类别分成 5 个任务或 10 个任务。为了简单起见,我们将分割表示为“B{m}-{n}”的格式,其中
比较方法:由于我们的方法基于 PTMs,我们主要将其与基于 PTMs 的 CIL 方法进行比较,即 L2P[Wang et al ., 2022]、DualPrompt[Wang et al., 2022]、CODA-Prompt[Seale Smith et al., 2022]、SimpleCIL[Zhou et al., 2024] 和 ADAM-Finetune[Zhou et al., 2024]。此外,我们还重新实现了需要样本的 LUCIR[Hou et al., 2019b] 和 LUCIR+LWS 进行比较。最后,我们还与经典 CIL 算法 LwF[Li and Hoiem, 2017] 和基线方法 Finetune 进行了比较,后者不保存样本。
训练细节:按照 [Wang et al., 2022],我们对所有比较的方法使用相同的主干 ViTB/16-IN1K,该主干在 ImageNet21K 上预训练,并在 ImageNet1K 上额外微调。主干的选择决定了
评估协议:按照 [Rebuffi et al., 2017],我们在每个任务
5.2 基准比较
在本节中,我们报告了在基准数据集 CIFAR100、ImageNet-R 和 ObjectNet 上的准确度,分别是在无序 LTCIL 和有序 LTCIL 下的表 1、表 2,并在图 2 中展示了增量性能。具体来说,图 2 清楚地显示了 Apart 的优越性能。我们可以推断出,传统方法(例如,LwF)有明显的下降趋势,表明它们受到灾难性遗忘的影响。相比之下,LUCIR 和 LWS 的下降相对较小,这归功于样本的帮助。与大多数基于参数高效的微调技术(例如,L2P、DualPrompt 和 CODA-Prompt)相比,我们发现第一项任务的性能存在差距。差距清楚地表明了使用辅助适配器池在训练期间补偿少数类别的有效性。


此外,Apart 在基准数据集上的比较方法中表现优于表 1、表 2 中的其他方法。传统 CIL 方法的不佳表现,即 LwF,表明长尾数据放大了 CIL 问题的难度,即使是具有强大泛化能力的基于 PTMs 的也是如此。表示能力由 SimpleCIL 的性能证明,它完全依赖于冻结的 PTMs。然而,在 LTCIL 中,来自 PTMs 的好处是有限的,需要更多的任务特定特征来提高性能。同样,Apart 通过甚至 8% 在无序场景中和 9% 在有序场景中超过了大多数基于提示的方法。它揭示了,尽管提示有助于抵抗传统 CIL 中的遗忘,但存储在提示中的知识不可避免地受到不平衡的干扰。LWS 是为 LTCIL 中的卷积网络设计的,并提高了与 LUCIR 结合的性能。然而,正如报告的那样,当我们用预训练的 ViT 替换 ResNet 时,重新加权分类层的改进是有限的。尽管有平衡的数据集,LWS 仍然无法解决有偏见的表示。它表明,在长尾数据流中,表示中的偏见比分类中的偏见更有害。因此,Apart 中的辅助池更多地从少数类别中学习,消除了表示的潜在偏见,获得了比 LUCIR 和 LUCIR+LWS 更好的性能,表明专门用于少数类别的辅助池的优越性。总之,Apart 超越了基于提示和基于样本的方法,验证了其有效性。
5.3 消融研究
在本节中,我们进行消融研究,分析 Apart 的三个组成部分的重要性,并探索适配器池数量的影响。在表 3 中,结果清楚地显示了每个组成部分的有效性。

当我们放弃两个池之间的自适应路由时,我们按照方程 4 训练两个池,其中实例的分布很大程度上依赖于固定阈值。相比之下,自适应和动态边界可以获得辅助池的改进。此外,消融辅助池意味着只使用一个池进行训练,导致没有独特的机制来处理不平衡的数据。因此,我们发现一个池不能为所有类别生成全面的表示,对少数类别的学习不足导致下降。此外,我们将适配器池替换为单个适配器。由于容量不足,模型遭受遗忘。平均准确度的下降高达 4%,最后一次准确度的下降接近 9%,显示了在顺序任务学习中多个适配器的必要性。从上述消融中,我们发现一个更多的适配器池可以带来性能提升。然而,这是否意味着更多的适配器池一定会带来更好的性能呢?表 4 显示了应用多个池时准确度的变化。增加的池被用来在相同规则下捕获更多来自少数类别的信息。从表中,我们观察到,最初,额外的池带来了准确度的增加。模型大小随着池的增加而线性增长,但改进是有限的。当池的数量增加到 6 时,出现了下降。结果表明,参数的增加并不一定保证性能的提高。根据实验,我们将大小设置为 2,以在性能和模型大小之间取得平衡。
表 4 不同适配器池数量在有序 CIFAR100 B50-5 上的性能。

5.4 进一步分析
子组措施:按照 [Liu et al., 2019],我们可以根据实例数量将所有类别分为三组,并报告这些分割类别在 CIFAR100 上的的性能。具体来说,我们在表 5 中报告了 CIFAR100 的三组类别的准确度,即多样本(有≥100 个实例)、中等样本(20∼100 个实例)和少样本(≤20 个实例)。“Overall”表示
可视化分配器权重:在本节中,我们展示了分配器在图 3 中学习到的权重,即方程 5。它揭示了学习到的权重
表 5 无序 CIFAR100 B50-5 上的组准确度。Apart 在不同类别上表现出全面的优势。

“实例级”报告了一个实例的权重,“频率级”报告了相同类别频率的平均权重。从图中,不同类别产生不同的权重,揭示了学习到的路由以数据驱动的方式编码任务特定信息。此外,对于实例数量较多的类别,学习到的权重总体呈下降趋势。结果意味着自适应权重有助于辅助池更多地从少数类别中学习。因此,它加强了辅助池与少数类别之间的相关性,并修改了表示。
表 6 在 ImageNet-R 上的公平比较。

公平比较:Apart 不保存样本,但需要调整参数。由于内存由参数和样本组成,我们在相同的内存预算下进行公平比较,如 [Zhou et al., 2023] 中所述。一个使用相同主干 ViTB/16-IN1K 重新实现的基于复习的方法 iCaRL[Rebuffi et al., 2017] 被比较。即使基于样本,使用随机初始化的 ResNet 实现的 iCaRL 也较弱。为了对齐内存空间,我们计算了 iCaRL 对应的样本内存。Apart 的内存由三部分组成:一个冻结的主干以获得 [CLS] 标记,一个主干用于微调,以及方法相关的参数。对于 iCaRL,内存由三部分组成:一个旧主干用于知识蒸馏,一个主干用于训练,以及样本内存。样本的内存应该与方法相关参数的内存一致,包括池、嵌入和分类器。保存一个 ImageNet-R 图像需要 3×224×224 个整数(int),而 Apart 需要 12,231,953 个方法相关参数(float)。为了对齐内存预算,iCaRL 需要保存大约 352 个实例。表 6 中的比较显示,在与 iCaRL-352 相同的内存空间下,Apart 实现了更好的性能,后者存储了 352 个样本。即使样本数量增加到 2000,iCaRL 也无法击败 Apart。结果表明,样本的成本更高。
6. 结论
在我们的动态世界中,数据经常以不平衡的流方式出现,要求模型解决长尾类别增量学习问题。本文提出了 Apart 以应对 LTCIL,它通过实例特定选择学习适配器池,以克服预训练模型的遗忘问题。为了补偿尾部类别,我们学习了一个辅助适配器池以实现统一的特征表示。此外,我们设计了一种自适应适配器路由策略,以自动选择适当的池使用,以数据驱动的方式追踪长尾分布。广泛的实验验证了 Apart 的卓越性能。
附录
A 实施细节
在本节中,我们讨论了比较的方法和基准数据集的详细信息。
A.1 比较的方法
本文中比较的方法如下:
- Finetune:直接用新数据集训练模型,不解决灾难性遗忘问题;
- LwF:Li and Hoiem (2017) 利用知识蒸馏将知识从旧的冻结模型转移到新的模型,同时微调新任务;
- LUCIR:Hou et al. (2019b) 是一种基于样本的方法,它学习与旧的不同的正常化余弦分类器;
- LWS:Liu et al. (2022) 是一种最先进的基于样本的 LTCIL 方法。它在两阶段框架中用保留的样本和新任务数据重新训练线性分类器。它可以与其他基于样本的方法结合使用;
- L2P:Wang et al. (2022) 是一种最先进的基于提示的 CIL 方法。它冻结了预训练模型,并添加提示以适应新任务。提示池以“键值”对构建。在更新时,从池中检索最适宜的提示;
- DualPrompt:Wang et al. (2022) 是一种最先进的基于提示的 CIL 方法。它将 L2P 中的提示扩展到每个层中插入的提示,称为通用提示和专家提示。前者学习跨任务的知识,后者遵循检索策略学习任务特定知识;
- CODA-Prompt:Seale Smith et al. (2022) 是一种最先进的基于提示的 CIL 方法。它将提示分解为加权和格式,并引入了可学习的注意力机制来提示匹配;
- SimpleCIL:Zhou et al. (2024) 是一种最先进的基于 PTMs 的 CIL 方法。它将从冻结的 PTMs 提取的原型特征设置为分类器,无需额外训练即可完成下游任务;
- ADAM:Zhou et al. (2024) 是一种最先进的基于 PTMs 的 CIL 方法。它通过在第一项任务上高效调整来适应下游任务,并通过提取连接的原型分类器与原始冻结模型合并。
所有这些方法都使用相同的主干,即 ViT-B/16-IN1K。
A.2 数据集
按照 [Zhou et al., 2024],我们选择了三个基于预训练模型的数据集进行比较。为了模拟长尾分布,我们按照参数化的指数衰减从原始数据集中采样。ρ是最少频繁类别与最频繁类别数量之间的比率,即
- CIFAR100:Krizhevsky et al. (2009) 包含 60,000 张图像,分为 100 类,其中 50,000 张是训练实例,10,000 张是测试实例,分布均匀。我们用
和 对其进行采样; - ImageNet-R:Hendrycks et al. (2021) 被 Wang et al. (2022) 引入 CIL。它包含 30,000 张不同风格的图片,其中 24,000 张是训练实例,6,000 张是测试实例。由于它遵循长尾分布,
和 为 200 类,我们在不进行额外处理的情况下对其进行实验; - ObjectNet:Barbu et al. (2019) 被 Zhou et al. (2024) 引入 CIL。它包含有控制变化的图片。选择了约 32,000 张实例的 200 类子集进行评估,其中 26,509 张是训练实例,6,628 张是测试实例。我们用
和 对其进行采样。
由于我们从数据集中采样以模拟长尾分布,我们在图 4 中提供了分布。
附录 B 额外的实验评估
在本节中,我们分析了 Apart 的更多超参数,除了本文中提到的池数量。
B.1 池大小的影响
我们在表 6 中展示了不同池大小的结果。池大小
表 6 不同池大小在无序 CIFAR100 B50-5 上的性能。
B.2 权重尺度的影响
我们探索了参数
表 7 不同