PILoRA
0. 摘要
现有的联邦学习方法在涉及数据隐私和非独立同分布(Non-IID)数据的场景中,已经有效地处理了去中心化学习问题。然而,在实际情况下,每个客户端动态学习新类,要求全局模型能够对所有已见类别进行分类。为了在低通信成本下有效缓解灾难性遗忘和数据异质性问题,我们提出了一种简单而有效的方法,称为 PILoRA。一方面,我们采用原型学习来学习更好的特征表示,并利用原型与类别特征之间的启发式信息设计了一个原型重加权模块,以解决由数据异质性引起的分类器偏差,而无需重新训练分类器。另一方面,我们将增量学习视为学习不同任务向量的过程,并将其编码在不同的 LoRA 参数中。因此,我们提出了增量 LoRA 来缓解灾难性遗忘。标准数据集的实验结果表明,我们的方法显著优于现有技术。更重要的是,我们的方法在不同的设置和数据异质性程度下表现出强大的鲁棒性和优越性。代码可在 https://github.com/Ghy0501/PILoRA 获取。
关键词:联邦学习·类别增量学习
1. 引言
联邦学习(FL)[1] 是一种新颖的分布式机器学习范式,允许多个数据所有者在不泄露本地数据隐私的情况下协作训练一个共享模型。近年来,随着社会对数据隐私的日益重视以及相关法规的完善 [2],联邦学习得到了快速发展,并广泛应用于各种实际场景 [3–5,80,81]。
现有的联邦学习方法 [1,7,8] 通常依赖于封闭世界假设 [6,77,82],即模型在训练和测试阶段所见类别的数量保持不变。然而,现实世界是动态且不断变化的,本地客户端通常需要接收新数据来不断更新全局模型。因此,联邦类别增量学习(FCIL)[12,13] 被提出以处理动态场景中的联邦学习任务。具体来说,每个本地客户端在每个阶段只能使用新类别数据更新模型,并将模型参数上传到全局服务器进行聚合,而全局模型需要保持对所有已见类别的判别能力。此外,本地数据的数据分布遵循非独立同分布(Non-IID)假设 [16]。
FCIL 为实际应用提供了更现实的设置,但也带来了更大的挑战,因为 FCIL 需要同时解决灾难性遗忘 [10,11] 和由 Non-IID 引起的数据异质性问题。在现有研究中,一种方法是存储旧类别数据的子集,并在学习新任务时一起训练 [13,15],但由于隐私保护要求,存储的旧数据量严格受限。另一种方法是利用生成模型生成旧数据的伪样本 [14,31],从而保留对旧类别的分类能力。然而,训练一个好的生成器会导致更大的计算开销,并且生成器本身也会面临灾难性遗忘问题。另一个方向是使用预训练模型进行微调 [34,35],这些方法通过维护一个模块池来存储不同阶段的知识,并在推理时根据输入数据与模块的相似性插入相应的模块。然而,存储这些模块会占用额外的内存空间。尽管这些方法为解决 FCIL 提供了不同的视角,但仍存在大量未探索的空间,特别是在不同 Non-IID 设置和不同数据异质性程度下的模型性能。为了更好地解决这一问题,我们首先回答一个基本问题:处理 CIL 和 FL 的万能药是什么?
换句话说,如果我们在处理 CIL 和 FL 时能找到共同点,将对解决 FCIL 问题大有帮助。具体来说,我们观察到:1)在特征表示层面,FL 和 CIL 任务都要求模型学习类内紧凑且类间可分离的特征表示。一方面,对于 CIL 任务,这种特征表示有助于减少新旧类别特征在深度特征空间中的重叠,从而缓解旧知识的遗忘。为此,PASS[24] 引入了自监督学习来辅助特征表示的学习。另一方面,在 FL 任务中,FedProto[68] 对属于同一类别的样本的深度特征施加了约束,确保这些特征接近其各自类别的全局原型。2)在分类器层面,分类器漂移是两者的共同敌人。在 CIL 中,当学习新类别时,从旧类别学习到的决策边界可能会被严重破坏,导致分类层出现显著偏差 [24,25]。为了解决这一问题,一些方法 [37,54,55] 通过直接保留部分旧类别数据与新数据一起训练模型来缓解偏差。其他方法 [24,25] 通过保留旧类别的伪特征来辅助训练分类层;在 FL 中,CCVR[26] 评估了在数据异质性下本地模型中不同层之间的相似性,并发现分类器的相似性最低。这表明每个客户端模型的分类器严重偏向本地数据。与 CIL 类似,[26,57] 利用本地特征的统计信息在全局服务器上重新训练分类器以缓解分类器偏差。
图 1 展示了客户端 1 和客户端 2 的本地数据是非独立同分布的。Resnet50(第一行)更关注本地模式,在数据异质性情况下学习到的模式显著不同,导致平均模型丢失了一些重要信息(如鱼鳍)。然而,ViT(第二行)受数据异质性的影响较小,平均模型基本上保留了本地模型学习到的所有信息。受上述发现的启发,本文提出了一种**原型指导的增量 LoRA(PILoRA)**模型来解决 FCIL 问题。具体来说,我们在模型中采用原型分类器来学习类内紧凑且类间可分离的特征表示,这对 CIL 和 FL 都有益 [7,27–29]。我们使用预训练的 Transformer 模型(ViT)作为骨干网络,因为 Transformer 学习到的全局交互比 CNN 学习到的局部模式在 FL 任务中更为鲁棒 [9](图 1),并且提供了良好的特征表示。考虑到通信成本,我们在训练期间冻结整个骨干网络,并使用 LoRA(一种参数高效微调方法)来训练模型。为了解决 FCIL 中的灾难性遗忘问题,我们提出了增量 LoRA,通过正交正则化约束不同阶段的 LoRA 在相互正交的子空间中进行训练,并在推理时通过简单高效的求和获取过去学到的知识。为了解决数据异质性引起的分类器偏差,我们为全局服务器设计了一个原型重加权模块,基于原型与相应类别特征之间的启发式信息聚合本地原型。与现有的 FCIL 方法相比,我们的模型在标准数据集上取得了优异的结果。此外,我们探索了模型在不同 Non-IID 设置和数据异质性程度下的表现。实验表明,我们的方法具有鲁棒性,而其他方法在极端异质性情况下表现显著下降。

本文的主要贡献可以总结为:
- 我们提出了增量 LoRA,它在正交子空间上进行增量学习以缓解灾难性遗忘,并通过简单高效的参数求和聚合先前的知识。
- 我们提出了原型重加权模块,利用每类本地原型与相应类别特征之间的启发式信息形成全局原型。我们的方法在不重新训练的情况下有效解决了数据异质性引起的分类器偏差。
- 我们在标准数据集上进行了广泛的实验,并取得了最先进的性能。此外,在极端异质性情况下,我们的方法仍然保持鲁棒性,而所有其他方法都表现大幅下降。
2. 相关工作
联邦类别增量学习
近年来,联邦类别增量学习(FCIL)的研究引起了广泛关注。Dong 等人 [13] 首次提出了 FCIL 的概念,并在本地和全局服务器端提出了几种损失函数,以缓解本地和全局的灾难性遗忘。然而,他们的方法使用了回放缓冲区来存储和保留旧类别数据,并额外设计了一个代理服务器来选择最佳模型,导致较大的内存开销和通信成本。LGA[15] 扩展了 [13] 的工作,但它仍然属于基于回放的 FCIL。在更具挑战性的无回放 FCIL 问题中,生成模型被广泛采用以生成合成数据,旨在缓解本地和全局的灾难性遗忘 [31,32],但其性能高度依赖于合成数据的质量,并且会带来额外的计算成本。与我们的工作类似,FedSpace[33] 设计了基于原型的损失,鼓励同一类别的特征向量接近,而我们通过使用原型分类器实现了这一目标。与上述方法不同,一些最近的研究 [34,35] 将预训练模型与 FCIL 结合,并以较小的通信成本实现了更高的性能。然而,它们都采用了基于相似性的选择策略,这在推理时会导致额外的内存开销。此外,它们都使用监督预训练权重,而我们认为这可能带来隐私问题,因为下游任务的数据可能与预训练数据集重叠。
预训练模型的参数高效微调(PEFT)
随着大规模预训练模型的出现 [43-45],如何有效地微调这些模型以适应下游任务成为了关注的焦点。最近,LoRA[30]、Prompt[47] 和 Adapter[46] 成为了突出技术,并广泛应用于 CIL[20-22,53] 和 FL[48,49,69] 任务。在 FCIL 中,现有方法 [34,35] 尝试将 Prompt 和 Adapter 与预训练模型结合。具体来说,它们将每个阶段学到的知识存储在 Prompt 或 Adapter 模块的参数中,并在推理时通过特定的相似性计算选择适合当前输入的模块嵌入到模型中,从而以微小的通信成本有效缓解灾难性遗忘。然而,这种基于相似性匹配的方法无疑会引入推理延迟,因为它们需要额外的相似性计算模块(在 [34] 中,他们甚至训练了一个单独的 CNN 来计算相似性)。此外,它们需要在全局服务器上设置额外的内存空间来存储模块参数。
3. 预备知识
在 FCIL 设置中,每个客户端都有一个本地流数据集
其中
全局模型的目标是在低通信成本下正确分类所有已见类别的测试样本,并解决数据异质性问题。
4. 我们的方法
4.1 针对预训练模型的增量 LoRA
在 FCIL 中,通过 PEFT 将不同阶段的知识存储在不同模块中可以有效缓解灾难性遗忘 [34,35],但在推理时需要额外的相似性计算单元,以便根据输入选择适当的模块嵌入到模型中,这会导致推理延迟和额外的内存开销。为了在不占用额外存储空间的情况下学习一个端到端的全局模型,我们直观地认为,存储不同阶段知识的模块可以有机地组合成一个嵌入所有阶段知识的模块。因此,我们提出了增量 LoRA,以有效解决 FCIL 中的灾难性遗忘问题。一方面,LoRA 具有低推理延迟和更稳定训练的自然优势 [30];另一方面,受 [20,70] 的启发,我们引入了正交性损失,通过正交正则化约束 LoRA 在正交子空间中学习新知识,从而更好地保留旧类别的知识。
具体来说,我们定义预训练模型的初始化参数为
LoRA 假设大规模预训练模型在适应下游任务时的权重变化发生在低秩空间中:
其中

受 [70] 的启发,我们认为 LoRA 的参数可以视为存储任务梯度不同子空间的容器。因此,学习一系列增量学习任务可以视为学习一系列 LoRA 参数。那么,如何使用这些 LoRA 模块构建一个能够分类所有已见类别的模型?一个想法是根据不同模块与相应输入之间的相似性选择适当的模块嵌入模型 [34,35]。然而,计算相似性需要额外的计算资源,这会导致推理延迟。另一个想法是,由于 LoRA 本质上是两个权重矩阵,可以将阶段
其中
具体来说,权重空间中的不同方向对应于输入空间中的不同局部区域 [71]。因此,预训练权重中编码的这些不同方向的线性组合使模型能够有效区分不同的输入。在我们的方法中,不同增量任务的训练数据是互不相交的,因此直接对不同任务对应的 LoRA 参数进行求和是合理的。此外,任务算术还指出,不同任务参数向量之间的正交性有助于更好地整合不同任务。因此,我们提出正交正则化,通过约束 LoRA 参数与先前任务正交来实现这一点:
同时,正交正则化鼓励不同任务沿着正交方向学习,从而有效减少它们之间的空间重叠。这种方法将被证明在缓解灾难性遗忘方面具有优势,因为它有助于在适应新任务的同时保留从先前任务中学到的知识。
4.2 原型学习与原型重加权
原型学习:如前所述,类内可分离且类间紧凑的特征表示对 FCIL 任务有帮助。因此,模型不仅需要正确分类已知类别,还需要在特征空间中对已知类别的分布进行建模。在开放集识别中,CPN[28] 设计了判别损失和生成损失,用于原型学习,以约束特征空间中已知类别的范围,从而为来自未知类别的样本保留空间。受此启发,我们在 FCIL 中引入了原型学习。特别地,我们为每个类别设置一个原型
为了缩短类别特征与相应原型之间的距离,我们应用了基于距离的交叉熵(DCE)判别损失。给定样本
其中
通过最小化 DCE 损失,样本特征与正确原型之间的距离将小于其他错误原型。然而,仅在判别损失下学习的特征可能不够紧凑,这可能导致新旧类别之间的特征表示重叠。为了解决这个问题,我们引入了原型学习(PL)损失 [28]:
PL 损失减少了样本特征与相应正确原型之间的距离,使模型学习到更紧凑的类内分布。本质上,PL 损失是在高斯混合密度假设下对特征
原型重加权:考虑到特定类别
因此,我们利用原型与相应类别平均特征之间距离的启发式信息,设计了原型重加权模块。具体来说,在阶段
为了满足权重的归一化要求,我们对它们进行 softmax 处理,得到权重系数:
其中
我们认为,原型重加权模块使全局原型
4.3 PILoRA 的集成目标
PILoRA 的损失函数可以定义为:
其中

5. 实验
5.1 实验设置
基准数据集:为了评估提出的 PILoRA,我们在两个知名数据集上进行了实验:CIFAR-100[63] 和 TinyImageNet[64]。我们还在大规模数据集上测试了模型的性能,具体来说,我们从 ImageNet-1k[72] 中随机选择了 200 个类别作为新数据集。根据 [34] 提出的协议,我们将其分为 10 个增量阶段,并且只有当前阶段的数据可用。此外,为了挑战我们的方法,每个客户端的本地数据集遵循两种 Non-IID 设置:基于数量的标签不平衡和基于分布的标签不平衡 [16],我们分别用
对比方法:我们将我们的方法与现有的 FCIL 方法进行了对比:TARGET[14]、GLFC[13]、LGA[15]。我们还采用了多种 CIL 方法:EWC[10]、LwF[67]、iCaRL[37]、L2P[20] 和 FL 方法 FedNCM[75] 在 FCIL 设置下的表现。此外,我们比较了在训练期间使用交叉熵损失进行优化并在推理期间使用类别均值作为分类器的方法,我们将其命名为 FedCLM。我们探索了它们在不同 Non-IID 设置和数据异质性程度下的性能。为了公平比较,我们调整所有方法使用与我们相同的预训练模型,并使用 LoRA 进行微调。
实现细节:考虑到隐私问题,我们使用自监督预训练权重(Dino[65])对 ViT-B/16[18] 进行评估,这种设置也广泛用于 CIL 任务 [62,78,79]。考虑到性能和参数数量的权衡,我们仅在模型的第一个块中插入 LoRA 模块(见附录 B.1),并设置
5.2 对比结果
我们报告


CIL 方法在 FCIL 设置下也受到数据异质性的影响,其中 L2P+FL 表现最为明显。我们认为这主要有两个原因:首先,L2P 的性能依赖于监督预训练权重(如 ImageNet-1k[72]),当使用自监督预训练权重时,其性能显著下降 [62]。其次,L2P 需要根据输入与不同模块的相似性计算选择合适的 Prompt 嵌入模型。然而,在极端异质性情况下,即使在同一阶段,每个客户端学习到的内容也存在显著差异,这阻碍了统一 Prompt 的选择。相比之下,我们的方法通过直接对 LoRA 参数求和,绕过了冗余的相似性计算或知识蒸馏 [67],从而有效缓解了灾难性遗忘。此外,我们将 FedNCM 中的 HeadTune 与我们的原型分类器结合,通过 HeadTune 提供的更好初始化,进一步提高了模型的性能。这表明,现有方法在解决 FCIL 中的数据异质性问题上仍有很大的改进空间。
原型重加权分析:我们提出的原型重加权模块的核心思想是在不泄露本地数据信息的情况下,以最接近客户端真实数据分布的方式聚合原型。在图 3a 中,我们展示了同一类别数据在不同客户端中的真实比例,并观察到通过重加权模块计算出的权重与不同客户端之间的数据分布一致。因此,全局原型有效保留了所有客户端学习到的原型信息。相比之下,其他方法通常直接对分类层进行平均,这会导致在数据异质性较高时,分类器中融合了大量无关信息,从而导致分类器偏差。在图 3b 中,我们比较了通过原型重加权和平均计算得到的全局模型原型与测试数据深度特征之间的距离。可以看出,我们提出的原型重加权方法有效“择优”所有客户端上传的原型,使全局原型更好地适应相应类别的特征,而平均后的正确原型与相应类别的特征相距较远,特别是在数据非常异质的情况下。

5.3 消融实验
为了评估 PILoRA 中每个组件的作用,我们在 CIFAR-100 上进行了消融实验,结果如表 3 所示。我们可以观察到,在没有原型重加权(PR)的情况下,模型的分类准确率

为了更好地展示 LoRA 的贡献,我们在
5.4 进一步分析
内存使用分析:对于我们的 PILoRA,除了每个客户端的模型外,我们还存储了当前阶段
增加本地客户端数量(K):如图 4 所示,我们通过分别设置

6. 结论
在本文中,我们提出了一种简单而有效的 PILoRA 方法来解决 FCIL 问题。PILoRA 基于预训练的 ViT 模型,并使用 LoRA 对少量参数进行微调。为了解决 FCIL 中的灾难性遗忘问题,我们提出了增量 LoRA,它可以通过对正交 LoRA 参数空间求和高效地结合不同的增量任务;为了应对数据异质性引起的分类器偏差,我们采用了原型学习并提出了原型重加权,利用原型与特征之间的启发式信息对全局原型进行加权聚合。实验结果表明,我们的方法在标准数据集上取得了最先进的结果,并在极端数据异质性下保持了鲁棒性。