查看原文
其他

FedALA | 用于个性化联邦学习的自适应本地聚合方法

张剑清 隐私计算研习社 2023-04-07

本文介绍的是一篇收录于 AAAI 2023 的论文,论文由位于上海交通大学的上海市可扩展计算与系统重点实验室、贝尔法斯特女王大学的华扬老师和路易斯安那州立大学的王灏老师共同完成。该论文提出了一种用于联邦学习的自适应本地聚合方法,通过从全局模型中自动捕获客户机所需信息的方式来应对联邦学习中的统计异质性问题。作者对比了11个SOTA模型,并取得了超越最优方法3.27%的优异表现。作者将其中的自适应本地聚合模块应用到其他联邦学习方法上取得了最多24.19%的提升。作者:张剑清单位:上海交通大学论文链接:https://arxiv.org/abs/2212.01197代码链接(包含ALA模块的使用说明):https://github.com/TsingZ0/FedALA


1

介绍

联邦学习(FL)通过将用户隐私数据保留在本地而不进行传播的方式,帮助人们在保护隐私的情况下,充分发掘用户数据中蕴含的价值。但由于客户机之间数据不可见,数据的统计异质性(数据非独立同分布(non-IID)和数据量不平衡现象)便成了FL 的巨大挑战之一。数据的统计异质性使得传统联邦学习方法(如FedAvg等)很难通过FL过程训练得到适用于每个客户机的单一全局模型。

近年来,个性化联邦学习(pFL)方法因其应对数据统计异质性的能力受到了越来越多的关注。与寻求高质量全局模型的传统FL不同,pFL方法的目标是借助联邦学习的协同计算能力为每个客户机训练适用于自身的个性化模型。现有的在服务器上聚合模型的pFL研究可以分为以下三类:

  • (1)学习单个全局模型并对其进行微调的方法,包括Per-FedAvg和FedRep;
  • (2)学习额外个性化模型的方法,包括pFedMe和Ditto;
  • (3)通过个性化聚合(或本地聚合)学习本地模型的方法,包括FedAMP、FedPHP、FedFomo、APPLE和PartialFed。

类别(1)和(2)中的pFL方法将全局模型中的所有信息用于本地初始化(指在每次迭代的局部训练之前初始化局部模型)。然而,在全局模型中,只有提高本地模型质量的信息(符合本地训练目标的客户机所需信息)才对客户机有益。全局模型的泛化能力较差是因为其中同时存在对于单一客户机来说需要和不需要的信息。因此,研究者们提出类别(3)中的pFL方法,通过个性化聚合捕获全局模型中每个客户机所需的信息。但是,类别(3)中的pFL方法依旧存在(a)没有考虑客户机本地训练目标(如FedAMP和FedPHP)、(b)计算代价和通讯代价较高(如FedFomo和APPLE)、(c)隐私泄露(如FedFomo和APPLE)和(d)个性化聚合与本地训练目标不匹配(如PartialFed)等问题。此外,由于这些方法对FL过程做了大量修改,它们使用的个性化聚合方法并不能被直接用于大多数现有FL方法。

为了从全局模型中精确地捕获客户机所需信息,且相比于FedAvg不增加每一轮迭代中的通讯代价,作者提出了一种用于联邦学习的自适应本地聚合方法(FedALA)。如图1所示,FedALA在每次本地训练之前,通过自适应本地聚合(ALA)模块将全局模型与本地模型进行聚合的方式,捕获全局模型中的所需信息。由于FedALA相比于FedAvg仅使用ALA修改了每一轮迭代中的本地模型初始化过程,而没有改动其他FL过程,因此ALA可被直接应用于大多数现有的其他FL方法,以提升它们的个性化表现。

图1:在第次迭代中客户机上的本地学习过程。


2

方法


2.1 自适应本地聚合(ALA)

图2:自适应本地聚合(ALA)过程

自适应本地聚合(ALA)过程如图2所示。相比于传统联邦学习中直接将下载的全局模型()覆盖本地模型()得到本地初始化模型()的方式(即),FedALA通过为每个参数学习本地聚合权重,进行自适应本地聚合。

其中,作者把这一项称之为“更新”。此外,作者通过逐元素权重剪枝方法实现正则化并将中的值限制在中。

因为深度神经网络(DNN)的较低层网络相比于较高层倾向于学习相对更通用的信息,而通用信息是各个本地模型所需信息,所以全局模型中较低层网络中的大部分信息与本地模型中较低层网络所需信息一致。为了降低学习本地聚合权重所需的计算代价,作者引入一个超参数来控制ALA的作用范围,使得全局模型中较低层网络参数直接覆盖本地模型中的较低层网络,而只在较高层启用ALA。

其中,表示中的神经网络层数(或神经网络块数),中的低层网络形状一致,则与中剩下的层高层网络形状一致。

作者将中的值全部初始化为1,且在每一轮本地初始化过程中基于旧的更新。为了进一步降低计算代价,作者采用随机采样%本地训练数据的方式,在数据集上通过基于梯度的学习方法更新

其中,是更新的学习率。作者在学习的过程中,将除之外的其他可训练参数冻结。

图3:在MNIST和Cifar10数据集上8号客户机的学习曲线

通过选择较小的值,在几乎不影响FedALA表现的情况下,大幅度地降低ALA中训练所需的参数。此外,如图3,作者观察到:一旦在第一次训练将其训练到收敛,即使在后续迭代中训练,其对本地模型质量也没有很大影响。也就是说,每个客户机可以复用旧的实现对其所需信息的捕获。作者采取在后续迭代中微调的方式,降低计算代价。

2.2 ALA分析

在不影响分析的情况下,为了简便起见,作者忽略并设。根据上述公式可以得到,其中代表。作者可以把在ALA中更新看成更新

梯度项在每一轮中都做了逐元素地缩放。不同于本地模型训练(或fine-tuning)方法,上述对的更新过程能够感知到全局模型中的通用信息。在不同的迭代轮数之间,动态变化的为ALA模块引入了动态信息,使其FedALA容易适应复杂的环境。

3

实验

作者在实际(practical)数据异质环境下的Tiny-ImageNet数据集上用ResNet-18进行了对超参数的对FedALA影响的研究,如表1所示。对于来说,采用越多的随机采样的本地训练数据用于ALA模块学习可以使个性化模型表现更好,但也同时增加了计算代价。在使用ALA的过程中,可以根据每个客户机的计算能力调整的大小。从表中可以得知,即使使用极小的(如),FedALA依旧具有杰出的表现。对于来说,不同的值对个性化模型的表现几乎没有影响,在计算代价方面却有着巨大的差别。这一现象也从一个侧面展示了FedRep等方法,将模型分割后保留靠近输出的神经网络层在客户机不上传的做法的有效性。使用ALA时,我们可以采用较小且合适的值,在保证个性化模型表现能力的情况下,进一步降低计算代价。

表1:关于超参数对FedALA影响的研究

作者在病态(pathological)数据异质环境和实际(practical)数据异质环境下,将FedALA与11个SOTA方法进行了对比和详细分析。如表2所示,数据显示FedALA在这些情况下的表现都超越了这11个SOTA方法,其中“TINY”表示在Tiny-ImageNet上使用4-layer CNN。例如,FedALA在TINY情况下比最优基线(baseline)高了3.27%。

表2:病态和实际数据异质环境下的实验结果

此外,作者也在不同异质性环境和客户机总量情况下评估了FedALA的表现。如表3所示,FedALA在这些情况下依旧保持着优异的表现。

表3:其他实验结果

根据表3的实验结果,将ALA模块应用于其他方法可以获得最多24.19%的提升。

最后,作者还在MNIST上可视化了ALA模块的加入对原本FL过程中模型训练的影响,如图4所示。不激活ALA时,模型训练轨迹与使用FedAvg一致。一旦ALA被激活,模型便可以通过全局模型中捕获的其训练所需信息径直朝着最优目标优化。

图4:4号客户机上模型训练轨迹的可视化图


作者简介:张剑清,本科毕业于杭州电子科技大学卓越学院,目前在上海交通大学计算机系攻读硕士学位。主要研究兴趣包括联邦学习和推荐系统,是Github上个性化联邦学习开源平台PFL-Non-IID的作者。Github主页:https://github.com/TsingZ0
END

往期推荐


多方计算实验中不同网络环境的模拟方法
SPDZ学习笔记-part1
SPDZ学习笔记-part2
报告分享 | 区块链跨链前沿技术研讨会
欢迎投稿邮箱:pet@openmpc.com参与更多讨论,请添加小编微信加入交流群

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

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