查看原文
其他

GLFC:基于动态联邦的类别增量学习模型

huan 隐私计算研习社 2022-12-10


本次分享一篇来自CVPR-2022的论文,《GLFC 基于动态联邦的类别增量学习模型》:主要提出了一种实用的联邦分类增量学习问题,并提出了一种新的全局-局部遗忘补偿模型来解决联邦类增量学习中的局部和全局灾难性遗忘问题。



1

背景与引言
现有联邦学习(FL)方法大多数假设整个联邦学习系统的对象类别分布随着时间的推移是固定的,但这往往是不切实际的。具体而言,在现实世界中,本地客户端以在线方式接收新类别数据,现有FL方法通常需要在本地客户端存储旧类的所有训练数据,以便获取FL全局模型,但是往往会导致过高的存储能耗和计算开销。

由于本地客户端经常收集新类数据并且对于旧类的存储空间非常有限,这使得FL全局模型在实际场景中遭受到灾难性遗忘问题。此外,带有新类别数据的新参与客户端可能会参与到FL全局模型训练过程,这将进一步加剧灾难性遗忘问题。


为了解决这些实际情况,本文提出了一个具有挑战性的问题,称为联邦类增量学习(Federated Class-Incremental Learning: FCIL)。基于FCIL设置中,每个本地客户端都根据自己的喜好收集训练数据,而带有新类别数据的新参与客户端可以随时加入FL训练,即当前客户端和新增客户端上的数据分布是非独立同分布的(non-iid)。FCIL目标是通过本地客户端协作训练一个全局模型,以在隐私保护和有限存储能力的限制下持续学习新类别


在FCIL设置中不断处理新类别数据,一个直观的想法是简单地将FL和增量学习整合在一起。然而,这种策略需要中央服务器知道新类别数据到达的时间和位置相关信息(隐私敏感信息),但是这违反了FL对隐私保护的要求。此外,由于数据之间的non-iid特性可能导致不同客户端上的异构性遗忘,并且进一步加剧对于旧类别的异构性全局灾难性遗忘。 


为了应对FCIL相关挑战,本文提出了一种全局-局部遗忘补偿(GLFC)模型,该模型有效地解决了本地客户端发生的局部灾难性遗忘和跨客户的全局灾难性遗忘问题:通过设计了一个类感知梯度补偿损失来平衡不同旧类的遗忘,从而缓解本地客户端的类别不平衡带来的局部遗忘;提出了一种类语义关系蒸馏损失来提炼不同增量任务间一致的类间关系信息;此外,为了解决全局灾难性遗忘问题,本文设计了一个代理服务器来选择最佳的历史全局模型,用于在本地进行类语义关系蒸馏。

本文主要贡献如下:1)解决了一个实际的FL问题(FCIL),其主要挑战是缓解本地客户端的类别不平衡以及跨客户端的non-iid分布带来的对旧类的灾难性遗忘问题;2)提出了一种新的全局-局部遗忘补偿(GLFC)模型来解决FCIL问题,同时有效的缓解了局部和全局的灾难性遗忘问题;3)通过设计类感知梯度补偿损失和类语义关系蒸馏损失来解决局部遗忘问题,并基于代理服务器选择最好的旧模型在本地客户端上进行类语义关系提炼从而有效缓解全局遗忘问题。


2


相关工作

联邦学习(FL):联邦学习(FL)是一种分布式学习框架,它可以通过聚集局部模型参数来训练全局模型。为了协作学习全局模型,通过权重机制聚合局部模型,现有方法主要关注于:局部模型逼近全局模型以加速收敛、或基于服务器策略减少计算开销。然而由于本地客户端存储旧类数据的内存有限,现有FL方法并不能有效持续地学习新类别。


增量学习(CIL):CIL旨在不断学习新类别,同时解决对旧类别能力的遗忘。增量学习主要使用调节器来平衡损失以及使用知识蒸馏来克服灾难性遗忘,因此新旧类之间的类不平衡设计是其面临的一个关键挑战。但是由于新类别数据的相关信息无法获取(隐私保护需求),因此现有的CIL方法并不能用于解决本文提出的FCIL问题。


3


GLFC模型设计

关于GLFC模型整体概述图如下图1所示,为了解决FCIL问题,GLFC模型通过类感知梯度补偿损失和类语义关系蒸馏损失来解决局部遗忘,同时通过代理服务器为本地客户端选择最佳的旧模型从而解决全局遗忘问题。


局部灾难性遗忘补偿:在第t个增量任务中,给定第l个本地客户端Sl并具有新类别的训练数据Tlt以及存储旧数据Ml,基于小批量进行交叉熵损失函数:

其中b是批量大小,是第t个任务的第r个全局迭代的分类模型(从全局服务器传输到本地客户端)。如上所述,在本地客户端的新旧类()之间的类不平衡迫使局部训练在旧类上遭受显著的性能退化(局部灾难性遗忘问题)。为了防止局部遗忘,为本地客户端开发了类感知梯度补偿损失和类语义关系蒸馏损失,以纠正不平衡的梯度传播,并确保增量任务的类间语义一致性。

1) 类感知梯度补偿损失:当分类模型被分配给本地客户端后,本地客户端的类不平衡分布会导致中最后一个输出层的不平衡梯度被反向传播,其迫使本地模型在经过本地训练后,在新类别上执行不同的学习步长,在旧类别中执行不同的遗忘步长。为此,我们设计出一种类感知梯度补偿损失,通过重新加权梯度来分别归一化新类的学习速度和旧类的遗忘速度。具体而言,对于单个样本{xtli,ytli},我们获得中最后一个输出层关于的梯度测量结果

为了规范新类的学习速度和旧类的遗忘速度,考虑分别对新旧类进行单独的梯度归一化,并重新加权损失函数,给定一个小批量数据{,}(i从1到b),定义如下:

作为新旧类的梯度均值,其中I(·)是指示函数,如果下标条件为真则为1,反之为0。因此重新加权后的损失函数如下:

通过加权后的损失函数,即可以纠正不平衡的梯度传播速度,从而缓解本地客户端的局部遗忘问题。 

2)类语义关系蒸馏损失客户端局部模型被初始化为当前全局模型,而预测的概率则表示为类间语义相似关系。为了确保跨不同增量任务的类间语义一致性,通过考虑新旧类之间的潜在关系设计了类语义关系蒸馏损失。具体而言,我们分别将一个小批量数据集{,}传输到存储的旧模型和当前局部模型中,得到对应的预测概率(旧类别)和Ptl(新类别)。这些概率反映了新旧类之间的类间关系,与现有的知识蒸馏策略仅确保旧类的语义一致性不同的是,本文通过优化同时考虑新旧类之间的类间关系。通过对新类别标签进行平滑处理,可以有效地表示新旧类的类间语义相似关系,因此公式如下:

总得来说,第l个本地客户端的本地优化目标如下(其中λ1, λ2是超参数):

全局灾难性遗忘补偿:虽然通过类感知梯度补偿损失和类语义关系蒸馏损失可以解决局部由于类不平衡带来的局部灾难性遗忘,但是无法解决来自其他本地客户端的异构性遗忘(即全局灾难性遗忘)。换句话说,由于跨本地客户的non-iid分布导致的全局灾难性遗忘将会进一步恶化本地灾难性遗忘问题。因此,有必要从全局角度解决客户端之间的异构遗忘问题。 


先前需要一个存储好的旧分类模型来提取类间关系,更好的分类模型可以全局增加先前任务的蒸馏增益,从而在全局视图中增强旧类的记忆。因此,关于的选择在全局灾难性遗忘补偿中起着重要作用,然而由于隐私保护,可能很难选择出最佳的。为此,本文使用代理服务器从全局角度为所有客户端选择最佳的模型。具体来说,当本地客户端识别出新类时,本地客户端将通过基于原型梯度的通信机制将新类的数据原型样本传输给代理服务器,接收到这些梯度后重构原型样本并利用它们来测试全局模型的性能,直到找到最佳模型。因此,当执行下一个任务(t+1)时,SP将最佳全局模型分配给本地客户端,本地客户端将其作为最佳旧模型执行来提取类间关系。 

进一步而言,我们需要构建扰动后的原型样本(来自于本地客户端的新类别数据),对这些原型样本添加扰动可以更好的实现隐私保护,即使攻击者可以重建数据,但也只能获得很少的有用信息。具体来说,给定一个原型样本 {,},我们将其转发到已经在本地训练后(公式6)的客户端局部模型上,然后应用反向传播来更新这个样本。为了产生扰动的原型样本,我们将高斯噪声引入原型样本的潜在特征中,然后更新}:

此外,根据经验设置γ = 0.1来控制本文中高斯噪声的影响,一些添加扰动重建后的原型样本如下图2所示。


4


实验部分

实验细节与设置:在实验中使用了三个数据集(CIFAR-100, ImageNetSubset, 以及TinyImageNet)。为了与FCIL设置中的基线类增量学习方法(SS-IL, iCaRL, PODNet, DDE, GeoDL, BiC)进行公平比较,整体实验使用相同的协议来设置增量任务,并且使用相同的骨干网络ResNet18。对于所有任务,使用学习率为2.0的SGD优化器对所有模型进行训练,每个客户端的样本存储器M1被设置为2000。对于本地客户端,使用学习率为0.1的SGD优化器构建扰动样本,使用学习率为1.0的L-BFGS优化器为代理服务器重建原型样本。在初始的增量任务中,将本地客户端的数量初始化为30个,随着学习任务的连续到达,再引入另外10个新的本地客户端。在每一轮全局迭代过程中,随机选择10个客户端进行20个轮次的本地训练,每个客户端随机接收60%的类别数据。最后,实验基于3个随机种子2021/2022/2023运行了3次实验,报告了平均结果。


性能比较:如下表1,2,3所示,充分说明了本文提出的GLFC模型的有效性,其中△代表本文GLFC模型与其他方法相比的改进程度。我们可以观察到,在FCIL设置下,本文的GLFC模型比现有的类增量方法在平均准确率方面提高了4.4%∼15.1%,其充分验证了本文模型可以使本地客户端协作训练一个全局的联邦类增量模型。此外,与其他方法相比,GLFC模型对于所有增量任务都有稳定的性能提升,这验证了其在解决FCIL遗忘问题上的有效性



消融实验:如上表1,2,3所示,通过消融实验来研究模型中每个模块的影响,其中Ours-w/oCGC, Ours-w/oCRD和Ours-w/oPRS分别表示GLFC模型在不使用LGC、LRD和代理服务器SP的情况下的性能。与GLFC模型相比,Ours-w/oCGC, Ours-w/oCRD和Ours-w/oPRS的性能明显下降(降幅为1.1%∼10.1%),这表明所有模块对于训练全局类增量模型都是必不可少的,代理服务器对于通过评估重建样本来选择最佳旧模型也是必不可少的。


增量任务的定性分析:如下图3和4所示,通过对基准数据集上的各种增量任务(T=5,10,20)进行定性分析以验证GLFC模型的卓越性能。我们可以观察到,在不同任务数量设置下,GLFC模型比其他基线方法表现得更好,这表明GLFC模型可以使多个本地客户端以流的方式学习新类,同时解决局部和全局遗忘问题。


关于样本存储器Ml的定性分析:如表4所示,研究了不同样本存储器对GLFC模型性能的影响。我们可以观察到,样本存储器Ml的大小越大,GLFC模型以流的方式学习新类的性能越好。实验结果表明,在本地客户端存储更多的旧类训练数据可以增强GLFC模型对旧类的记忆能力。此外,所呈现的结果还说明了GLFC模型在通过任务转换检测机制识别新类和更新数据内存方面的有效性。


5

总结归纳
本文提出了一种实用的联邦分类增量学习问题(FCIL),并提出了一种新的全局-局部遗忘补偿模型来解决联邦类增量学习中的局部和全局灾难性遗忘问题。具体地说,设计了类感知梯度补偿损失和类语义关系蒸馏损失,通过纠正不平衡的梯度传播和确保任务间一致的类间关系来解决局部灾难性遗忘;通过代理服务器选择最好的旧模型来保存旧类的记忆,从而解决全局遗忘问题。在基准数据集上的大量实验也证明了GLFC模型的有效性以及对于FCIL问题的适用性。 

此外,对于本文个人认为:1)数据隐私保护:本文中不直接传输数据,而是对于数据添加高斯噪声扰动来传输扰动后的原型数据,通过梯度加密和梯度重构可以更好的实现隐私保护;2)动态联邦设置:关于动态联邦学习,可能存在更多情形(例如: 无标签的新数据加入到全局数据中去、在线or离线方式训练FL全局模型),特别是本文使用代理服务器为所有客户端选择最佳的历史模型对于以后的动态联邦学习训练方式具有一定启发性。


相关链接

Paper:

https://openaccess.thecvf.com/content/CVPR2022/papers/Dong_Federated_Class-Incremental_Learning_CVPR_2022_paper.pdf

Code: 

https://github.com/conditionWang/FCIL

Publisher: 

IEEE / CVF Computer Vision and Pattern Recognition Conference (CVPR) 2022


END



作者简介:

huan,西安电子科技大学硕士在读,计算机科学与技术专业。研究方向为联邦学习,模型压缩方向。


往期推荐


论文笔记:Model-Contrastive Federated Learning (MOON) 联邦学习撞上对比学习

一种基于 TrustZone 的内生可信执行环境构建方法

课程笔记:全同态加密的理论与构造-下篇

联邦学习顶会论文及开源框架汇总




欢迎投稿
邮箱:pet@openmpc.com
参与更多讨论,请添加小编微信加入交流群

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存