摘要
- 数据异质性的挑战:在联邦学习(FL)中,客户端间分布的数据异质性限制了全局模型的性能,尤其是在本地数据集类别分布高度不平衡的情况下。
- 个性化联邦学习(pFL)的兴起:为了应对由数据异质性带来的挑战,近年来出现了个性化联邦学习作为一种潜在的解决方案。然而,现有的pFL方法通常在提高局部模型的性能时牺牲了全局模型的准确性。
- FedHKD算法的提出:论文中提出了一种新型的FL算法——FedHKD。这个算法利用知识蒸馏(KD)来训练局部模型。每个客户端提取本地数据表示的均值及相应的软预测,并将这些信息(称为“超知识”)发送给服务器。
- FedHKD的独特之处:与其他基于KD的pFL方法不同,FedHKD不依赖于公共数据集,也不在服务器上部署生成模型。服务器聚合这些超知识信息,并广播给客户端以支持其本地训练。
- 效果验证:通过在多种视觉数据集上的广泛实验,研究表明FedHKD在个性化和全局模型性能方面都显著优于为异质数据环境设计的现有最先进的FL方法,证明了其有效性。
背景
- 个性化联邦学习(pFL)的发展:为了应对非iid数据的挑战,提出了多种FL方法。这些方法在pFL系统中使每个客户端能够根据从服务器接收的信息和定制化目标本地训练其个性化模型。然而,这些方法仍然依赖于梯度或模型聚合,易受到训练收敛过程中“落后者”的影响。
- FedHKD的提出:为了在异质数据上促进训练,提出了FedHKD(Federated Hyper-Knowledge Distillation)。FedHKD依赖于原型学习和知识蒸馏。在此框架下,客户端计算其本地训练集中数据类别的平均表示和相应的平均软预测(称为“超知识”)。这些信息经差分隐私处理后发送到服务器进行聚合。聚合后的全球超知识被用于后续的训练周期,帮助提升个性化和全局性能。
相关工作
- 异质联邦学习:在处理数据异质性的客户端上,现有的联邦学习研究可分为三类方法:
- 引入局部训练的正则化项:通过在本地目标中添加正则化项来减少局部训练的方差。
- 改进模型更新聚合策略:使用更高效的聚合方案替代FedAvg的简单模型更新平均策略,例如PFNM和FedMA方法,它们通过层次化方式将局部模型的MLP层或CNN、LSTM层融合成更表达力强的全局模型。
- 丰富本地数据集的多样性:通过mixup机制或生成模型增加本地数据集的多样性,但这些方法增加了额外的内存/计算成本和通信资源需求。
- 个性化联邦学习(pFL):针对高度异质数据上训练的全局模型可能无法很好泛化到客户端本地数据的问题,提出了多种pFL技术,分为两类:
- 侧重于全局模型个性化的pFL技术:这些技术与普通的FL类似,要求客户端上传全部或部分模型参数以实现全局模型聚合,然后通过本地调整步骤(例如微调、混合全局和本地层、正则化、元学习)进行个性化。
- 放弃全局模型的pFL技术:一些工作放弃了全局模型,转而采用多任务学习或超网络框架。例如,FedProto通过从服务器接收的聚合类原型来对齐客户端的本地目标,并通过正则化项进行个性化,这种方案的通信资源需求相对较低。
- 带知识蒸馏的联邦学习:
- 知识蒸馏(KD)技术:KD是一种通过交换软预测而非整个模型来从神经网络中提取知识的技术,已被引入联邦学习来解决客户端资源(计算、通信和内存)差异带来的问题。
- 基于KD的联邦学习方法:例如FedMD、FedDF和FedKT-pFL,只在服务器和客户端之间传输软预测作为知识,允许个性化/异质客户端模型。然而,这些方法要求向所有客户端提供公共数据集,存在实际挑战。
- 使用GAN实现无数据联邦知识蒸馏:最近的研究探讨了在图像分类任务中使用GAN来实现无数据联邦知识蒸馏,但这增加了额外的计算和内存需求。
方法
目标:个性化模型和有效的全局模型:目标是为每个客户端$i$学习一个个性化模型 ,这个模型不仅在第i个客户端的本地数据分布上表现良好,而且能够被聚合成一个在所有数据类别上都表现良好的全局模型 。
利用超知识
- “超知识”的提出:为了解决依赖公共数据集的问题,作者提出了将蒸馏知识的概念扩展到包括平均表示和相应的平均软预测,并将其称为“超知识”。这种“超知识”通过高斯差分隐私机制得到保护,并在客户端与服务器之间共享。
- 优势:“超知识”的使用避免了对公共数据集的依赖,同时减少了合成人工数据所需的计算成本,使得方法在实践中更加可行。
特征提取和分类器
评估和使用超知识
总结来说,这一部分介绍了如何在图像分类任务中通过特征提取器和分类器生成超知识,以及如何在联邦学习环境中评估和使用这些超知识。超知识包括类别的平均潜在表示和平均软预测,这些信息在客户端和服务器之间共享以改善模型的个性化和全局泛化能力。同时,还引入了一个阈值来决定是否共享超知识,以处理数据异质性带来的挑战。
Differential Privacy Mechanism
定理1(高斯机制)
全球超知识聚集
本地训练目标
-
全局超知识的应用:
- 服务器完成超知识的聚合后,将全局超知识发送回参与下一轮FL的客户端。
- 客户端使用这些全局超知识来辅助其本地模型的训练。
-
客户端的损失函数:
- 客户端 i 的损失函数 是针对其数据集 定义的。
- 损失函数包含三个部分:
- 交叉熵损失(CELoss):传统的监督学习损失,比较模型预测和真实标签。
- 软目标正则化项:使本地分类器的输出(对全局数据表示的软预测)接近全局软预测
- 特征提取器正则化项:使特征提取器的输出(对本地数据样本)接近全局数据表示
- λ 和 γ 是正则化项的权重,是超参数。
-
损失函数的意义:
- 损失函数的第一个部分是标准的分类损失,用于确保模型在客户端的本地数据上表现良好。
- 第二和第三部分是正则化项,使用欧几里得距离(平方差)。这些正则化项的目的是利用全局超知识来引导本地模型学习更通用、更符合全局数据分布的特征和分类行为。
- 这种结合本地训练和全局信息的方法旨在提升模型在本地数据上的性能,同时保持对全局数据分布的良好适应性。
FEDHKD:框架概述
全局模型初始化
- 全局模型 :
- 全局模型由两部分组成:全局特征提取器的参数 $ϕ_1$ 和全局分类器的参数 $ω_1$。
- 服务器到客户端的模型传递:
- 在每个全局训练周期的开始,服务器将全局模型和全局超知识发送给选定的训练客户端。
本地模型训练
- 本地模型初始化:
- 客户端使用接收到的全局模型初始化其本地模型。
- 训练目标(根据公式 11):
- 本地训练的目标包含三个部分:
- 预测损失:交叉熵损失,计算模型预测和真实标签之间的差异。
- 分类器损失:反映分类器输出和对应全局软预测之间的欧几里得距离。
- 特征损失:基于本地特征提取器提取的表示和全局数据表示之间的欧几里得距离。
- 本地训练的目标包含三个部分:
- 本地更新和超知识补充:
- 完成本地模型更新后,客户端通过在本地数据上进行推理来补充其本地超知识。
- 向服务器发送更新:
- 客户端将更新后的本地模型和本地超知识发送回服务器进行聚合。
方法概述
- 这个流程被形式化为“联邦超知识蒸馏(FedHKD)算法”。
总结
总体而言,这部分描述了在FedHKD框架下,如何通过全局模型的初始化和更新、本地训练目标的设定,以及客户端间的模型和超知识交换,来实现有效的联邦学习。这种方法不仅强调了模型在本地数据上的性能,也利用全局超知识来增强模型对整体数据分布的适应性。
说明超知识计算的流程图
Figure 4 展示了客户端如何计算本地超知识。在本地训练结束时,每个参与的客户端都获得了一个经过微调的本地模型,该模型包括特征提取器 $R_{φ(·)}$ 和分类器 $G_{ω(·)}$。对于客户端 k 的类别 j,获取本地超知识的过程分为三个步骤:
- 数据样本的表示计算:利用特征提取器生成类别 j 的数据样本的表示,然后计算该类别数据表示的平均值。
- 软预测的生成:分类器为获得的数据表示生成软预测,从而可以计算类别 j 的软预测的平均值。
- 噪声添加与打包:在数据表示的平均值中添加高斯噪声后,将含噪声的数据表示的平均值和软预测的平均值打包成类别 j 的本地超知识。
简而言之,该过程通过特征提取器和分类器的配合,对每个类别的数据样本进行深度分析,以生成本地超知识,这包括数据表示的噪声平均值和软预测的平均值,这些信息随后用于联邦学习中的知识共享和模型改进。
算法细节
- 初始状态:训练开始时,不存在全局超知识。每个客户端开始独立训练其本地模型。
- 本地训练和超知识提取:本地训练之后,每个客户端利用特征提取器从其本地数据中提取表示,并使用分类器生成软预测。这个过程产生了所谓的“本地超知识”,如图 4 所示。
- 服务器聚合:服务器通过收集所有客户端的本地超知识和模型更新来发挥关键作用。然后,它将这些个别贡献聚合成统一的全局超知识,并更新全局模型。
- 分发给客户端:服务器将更新的全局超知识和模型发送回客户端。
- 辅助本地训练与全球知识:从这一点开始,客户端进行本地训练,但现在得到了全局超知识的帮助。这种整合有助于提高本地模型的有效性。
- 迭代过程:本地训练和服务器端聚合之间的循环持续特定轮数。参数 T 代表总的全球周期数,这个过程重复 T−1 轮
实验
实验设置
- 数据集:
- 使用了三个基准数据集:SVHN、CIFAR10和CIFAR100。
- 为了评估个性化和全局模型的性能,每个客户端被分配了一个本地测试数据集(与相应的本地训练数据集具有相同的类别分布)和一个具有均匀分布类别的全局测试数据集。
- 模型:
- 实验使用了两种实用的基准模型:ShuffleNetV2(应用于SVHN数据集)和ResNet18(应用于CIFAR10/100数据集)。
- 基线方法:
- 实验比较了FedHKD与七种最新的联邦学习方法:FedAvg、FedMD、FedProx、Moon、FedProto、FedGen和FedAlign。
- 与FedHKD相比,FedMD依赖于公共数据集,而FedGen部署了生成模型。FedProto与FedHKD类似,共享数据表示的均值,但在损失函数中使用不同的正则化项,并且不利用软预测。
实验效果
- 性能比较:
- FedHKD在多种设置和数据集上通常表现最好或次优,特别是在处理非独立同分布数据时。
- 在SVHN、CIFAR10和CIFAR100数据集上,FedHKD相对于FedAvg在本地和全局测试准确率上均有显著提升。
- FedHKD*(在特征提取器上无正则化约束的变体)与FedProto在本地测试准确率上表现相似,但在全局测试准确率上更优。
- 训练时间比较:
- FedHKD和其它一些方法(如FedProto、FedGen)的训练时间略高于FedAvg。
- 这些方法的额外计算负担主要来源于额外的正则化项和局部超知识的计算。
- 类别异质性的影响:
- 在不同的 β 设置下比较了FedHKD和其他方法的性能,发现FedHKD在所有设置下都提高了本地和全局准确率。
- 当类别分布极度异质(β=0.2)或几乎同质(β=5)时,FedProto在本地准确率上表现出显著提升,但其全局性能在极度异质的情况下下降。
Conclusion
我们提出了一种新的FL算法FedHKD,该算法依赖于知识蒸馏,能够在数据异构设置下有效地学习个性化和全局模型;FedHKD既不需要公共数据集也不需要生成模型,因此在不需要大量资源的情况下解决了数据异构的挑战。通过引入和利用“超知识”的概念,即由数据表示方法和相应的软预测方法组成的信息,FedHKD使客户端能够训练在本地表现良好的个性化模型,同时允许服务器聚合一个在所有数据类中表现良好的全局模型。为了解决隐私问题,FedHKD部署了一种不同的隐私机制。我们在多个基准数据集上进行了多种设置下的大量实验,并对FedHKD的收敛性进行了理论分析。实验结果表明,FedHKD在提高训练时间的同时,在局部和全局精度方面都优于最先进的联邦学习方案