摘要:个性化联邦学习(pFL)不仅可以从广泛的分布式数据中捕获公共先验,而且还支持针对异构客户端的定制模型。过去几年的研究采用加权聚合的方式生成个性化模型,通过校准整个模型参数或损失值的距离来确定权重,尚未考虑对聚合过程的层级影响,导致模型收敛滞后,在非iid数据集上个性化不足。在本文中,我们提出了一种新的pFL训练框架,称为分层智能个性化联邦学习(pFedLA),可以从不同的客户端中识别每一层的重要性,从而能够优化具有异构数据的客户端的个性化模型聚合。具体来说,我们在服务器端为每个客户端使用一个专用的超级网络,该网络经过训练,可以在层粒度上识别相互贡献因素。
同时,引入参数化机制更新分层聚合权值,逐步利用用户间相似度,实现模型的精确个性化。在不同的模型和学习任务上进行了大量的实验,我们表明所提出的方法比最先进的pFL方法获得了显著更高的性能。
为了处理这种统计多样性,提出了个性化联邦学习(pFL)机制,允许每个客户端训练定制模型以适应自己的数据分布[9,12,15,22]。目前实现pFL的文献现状包括基于数据的方法,即平滑客户端数据集之间的统计异质性[8,16];单模型方法,如正则化[22,41]、元学习[9]、参数解耦[5,24,26];多模型方法,即为每个客户端训练个性化模型[15,54],通过对客户端模型进行加权组合,为每个客户端生成个性化模型。现有的pFL方法在不同客户端的整个模型参数或损失值之间应用距离度量,这不足以利用它们的异质性,因为整体距离度量不能总是反映每个局部模型的重要性,并可能导致不准确的组合权重或非iid分布式数据集的不平衡贡献,从而阻止进一步大规模个性化客户端。例如,浅层更侧重于局部特征提取,而较深层则用于提取全局特征[6,20,21,47,49]。测量模型距离会忽略这种层级差异,导致不准确的个性化,影响pFL训练效率。
在本文中,我们提出了一种全新的pFL框架,可以实现FL个性化的层级聚合,可以准确地从客户端模型中识别出每层的效用,从而实现充分的个性化,从而提高对非iid数据集的训练性能。给出了一个简单的例子,说明传统的基于模型级聚合的pFL方法不能反映所有局部模型之间的内在关系,这促使我们探索一种在pFL训练过程中识别层级影响的有效方法。
观察分层的个性化聚合:在玩具示例中,我们考虑六个客户端协作学习他们的个性化模型,以完成一个9类分类任务。分别利用层间相似度和模型间相似度,通过分层聚合和模型聚合方法获得平均模型精度。图1显示,对于特定客户端,与基于模型的方法相比,基于层的方法可以获得更高的模型精度。在最后一轮通信之后,该客户端各层的权重也被绘制出来,并且我们表明,对不同层应用不同的权重,例如,客户端1上的第一和第二全连接层(即FC1, FC2)具有较大的权重,而第二卷积层,即Conv1层具有较小的权重,可以为个性化模型精度产生显著的性能增益。
一个简单的例子:基于层的聚合方法和基于模型的聚合方法。(a)客户1的性能模型。这两种方法都执行基于相似性的个性化聚合。即分层:通过计算层与层之间的相似度进行个性化聚合;model-wise:通过计算模型之间的相似性来进行个性化聚合。(b)客户端1在最后一轮通信中各层的权重。
在本文中,我们提出了一种全新的pFL框架,可以实现FL个性化的层级聚合,可以准确地从客户端模型中识别出每层的效用,从而实现充分的个性化,从而提高对非iid数据集的训练性能。给出了一个简单的例子,说明传统的基于模型级聚合的pFL方法不能反映所有局部模型之间的内在关系,这促使我们探索一种在pFL训练过程中识别层级影响的有效方法。
观察分层的个性化聚合。
在玩具示例中,我们考虑六个客户端协作学习他们的个性化模型,以完成一个9类分类任务。分别利用层间相似度和模型间相似度,通过分层聚合和模型聚合方法获得平均模型精度。图1显示,对于特定客户端,与基于模型的方法相比,基于层的方法可以获得更高的模型精度。在最后一轮通信之后,该客户端各层的权重也被绘制出来,并且我们表明,对不同层应用不同的权重,例如,客户端1上的第一和第二全连接层(即FC1, FC2)具有较大的权重,而第二卷积层,即Conv1层具有较小的权重,可以为个性化模型精度产生显著的性能增益。
这个简单的例子展示了分层聚合比传统的基于模型的pFL方法实现更高性能的潜力,因为层级的相似性可以反映客户端之间更准确的相关性。通过利用这种分层的相似性并识别层间用户的贡献,它有望为所有客户提供高效和有效的个性化模型。在这种观察的激励下,我们提出了一个新的联邦训练框架,即pFedLA,它以一种分层的方式自适应地促进客户机之间的底层协作。具体来说,在服务器端,我们为每个客户端引入了一个专用的超网络,以便在pFL训练过程中学习跨客户端层的权重,这被证明可以有效地提高非iid数据集的个性化。进行了大量的实验,我们证明,在广泛使用的模型和数据集(即EMNIST、FashionMNIST、CIFAR10和CIFAR100)上,所提出的pFedLA可以实现比最先进的基线更高的性能。本文的贡献总结如下:
据我们所知,本文是第一个明确揭示分层聚合的好处的论文
我们提出了一个分层的个性化联邦学习(pFedLA)训练框架,可以有效地利用非iid数据客户端之间的用户间相似性,并生成准确的个性化模型;
我们在四个典型的图像分类任务上进行了大量的实验,证明了pFedLA优于最先进的方法
图2。pFedLA框架。该工作流程包括5个步骤:①对私有数据进行本地培训;②各客户端将更新后的参数∆θi发送给服务器;③服务器通过超网络HNi(vi;ψi)根据∆θi;④服务器进行加权聚合,为相应的客户端输出个性化模型¯θi;⑤每个客户端下载个性化模型¯θi。
3. pFedLA Algorithm
在本节中,我们介绍了我们提出的pFL算法pFedLA,该算法评估来自不同客户端的每一层的重要性,以实现分层的个性化模型聚合。我们为服务器上的每个客户端应用一个专用的超网络,并训练它们为不同客户端的每个模型层生成聚合权重。从图2中可以看出,与只生成一个全局模型的通用FL框架不同,pFedLA在服务器上为每个客户机维护了一个个性化的模型。数据分布相似的客户端应具有较高的聚合权重,以加强彼此的相互贡献。我们的pFedLA应用了一组聚合权值
图3。pFedLA中使用的一个超网络框架的说明。超网络HNi以嵌入向量vi为输入,输出聚合权重矩阵αi。经与中间参数{θl1加权组合,…, θln}和聚集权矩阵αi,客户端I可以对私有数据进行局部训练。注意,vi和ψi都在培训期间更新。
服务器端逐步利用层级的用户间相似性,定义为:
与以前的pFL算法不同,pFedLA考虑神经层的不同效用,并为每个层分配一个唯一的权重,以实现细粒度的个性化聚合,而不是为客户端模型的所有层应用相同的权重值。此外,与使用整个模型参数之间的距离度量来数学计算权重的传统方法不同[15,54],pFedLA在训练阶段通过一组专用的超网络来参数化权重。
分层权重由超网络决定,超网络可以根据个性化模型进行更新。这样,由于有效权值的更新方向与目标函数的优化方向一致,可以得到有效权值。下面,我们将详细阐述pFedLA的聚集权重矩阵α的更新过程。
每个超网络由几个完全连接的层组成,其输入是一个随模型参数自动更新的嵌入向量,输出是权重矩阵α。客户端i上的超级网络定义为:
图4。HeurpFedLA中top k机制的说明。所选的顶层k层(即保留层)不进行聚合处理,其余层执行与pFedLA相同的操作
4. Evaluation
4.1. Experimental Setup
数据集。我们通过四个数据集(EMNIST、FashionMNIST、CIFAR10和CIFAR100)评估pFedLA框架。所有数据集在培训客户端的分布都是非iid的。我们考虑两种非iid场景:1)每个客户端随机分配四个类(CIFAR100中每个客户端12个类),每个类上的数据量相同;2)每个客户端包含所有的类,而每个类上的数据分布不均匀。EMNIST、FashionMNIST、CIFAR10数据集中有两个类的数据样本数量高于其他类,CIFAR100数据集中有六个类的数据样本数量高于其他类。所有数据分为70%训练集和30%测试集。对于所有客户端,测试集和训练集具有相同的数据分布。
基线。我们用最先进的方法比较了pFedLA和HeurpFedLA的性能。除了FedAvg和Local Training,我们还包括PerFedavg,一种基于元学习的pFL算法;目标函数中加入正则化项的pFL算法pFedMe;pFedHN,一种使用超网络直接生成个性化模型的pFL算法;FedBN,保持每个客户端的BN层在本地更新,而其他层则根据FedAvg算法进行聚合;FedRep是一种pFL算法,它保持每个客户端的分类器在本地更新,而其他部分则在
图6。在EMNIST, FashionMNIST, CIFAR10和CIFAR100上的特定层中聚合权重的可视化。x轴和y轴为客户端id。
训练的细节。在所有实验中,我们使用与feffomo [54], FedBN[24]和pFedHN[37]中相同的CNN架构。在相同的设置下,所有模型在不同客户端之间具有相同的结构。对于CIFAR10和CIFAR100,我们在卷积层之后添加BN层。
对于EMNIST和FashionMNIST,模型中没有BN层。用于计算分层聚合权值的超网络是由几个完全连接的层组成的简单结构。每一层对目标客户端的权值由超网络中相应的全连接层计算。关于超网络的具体结构,请参考补充资料。我们在两种情况下评估pFedLA的表现,即10个100%参与的客户和100个10%参与的客户。
对10个客户进行600轮训练,对100个客户进行2500轮训练,得到所有客户的平均模型精度。
实现。我们在一个具有RTX 2080Ti GPU、3.6 ghz Intel酷睿i9-9900KF CPU和64GB RAM的工作台上模拟所有客户端和服务器。所有的方法都在PyTorch中实现。
4.2. Performance Evaluation
对于所有的实验,我们使用交叉熵损失和SGD优化器,批大小为32。对于10个客户端情况,本地epoch的数量为10,对于100个客户端,本地epoch的数量为20。
CIFAR10和CIFAR100的学习率为0.01,EMNIST和FashionMNIST的学习率为0.005。基线和提议的pFedLA的性能都在两个以下不同的非iid病例分别列在表1和表2中。在大多数情况下,我们提出的算法在四个不同数据分布的数据集上提供了优于基线的性能。另一方面,与pFedLA相比,HeurpFedLA的性能下降可以忽略不计。
表1和表2中保留层数(k)为1。在章节4.4中讨论了HeurpFedLA的通信成本。请注意,由于所有客户端对于10个和100个客户端案例都有相同数量的训练数据,因此100个客户端案例有更多的数据,因此可以提供更好的模型精度
4.3. Analysis of Weight Evolution
为了证明我们的方法可以对数据分布相似的客户端产生更高的权重,我们从对应的数据集中随机抽取4个数据类,对8个客户端进行了实验。从这8个客户端中,我们考虑一个目标客户端有4个随机数据类,一个对比客户端有4个相同的类,一个类似客户端有3个与目标客户端相同的类。
在训练过程中,我们记录目标客户端上每一层的权重值。图5显示了目标客户端在训练阶段的前、中、末阶段的聚合权重的演变。可以观察到,由于其他客户端的数据分布与目标客户端的数据分布有很大的差异,所以在训练过程中,其他客户端的间权值会逐渐减小。此外,对于目标客户端,数据分布更相似的客户端(如标签相同的客户端)比其他客户端(如相似的客户端)具有更高的权重值,这说明超网络能够区分数据分布的相似性。在不同的客户端上。我们还进行了实验,以可视化客户端之间的聚合权重和数据相似性之间的关系。我们考虑8个客户端,ID从0到7,都有4个类数据。所有客户端之间的数据相似度是通过分配具有相似类的相邻id的客户端来模拟的,例如,客户端1有4个类数据,而客户端2与客户端1有三个相同和一个不同的类,客户端3与客户端2有三个相同和一个不同的类,以此类推。图6为某一层8个客户端权重间的热图。从图中可以看出,id连续的近客户端,即类重叠较多的客户端,其权重比距离较远的客户端要大,且高亮的对角线表示每个客户端的自权重值最高,进一步验证了pFedLA可以利用异构客户端间的相互相似性。
5. 结论,我们提出了一种新的pFL训练框架pFedLA,以分层聚合的方式实现个性化的模型聚合。结果表明,这种分层聚合可以逐步加强类似客户端之间的协作,并在非iid数据集上生成足够的个性化,优于传统的基于模型的方法。此外,我们还提供了pFedLA的改进版本,可以减少训练过程中的通信开销,而性能损失可以忽略不计,因此可以适应通信容量通常有限的大规模FL场景。对四种不同分类任务的广泛评估证明了所提出的pFedLA框架的可行性和优越性能。