查看原文
其他

论文笔记|个性化联邦学习 Towards Personalized Federated Learning

The following article is from 隐私计算研习社 Author 白小鱼

说在前面

当以“federated personal”为关键词,在 dblp 上进行文献检索的时候,会发现个性化联邦学习(PFL, Personalized Federated Learning)的研究在2021年的有明显增加。

经小鱼的查询,至22年4月16日针对个性化联邦学习的综述文章仅两篇[1][2],其中写得比较全面的一篇已被IEEE Transactions on Neural Networks and Learning Systems接收,接下来的论文笔记就以该文章 Towards Personalized Federated Learning 为主。


声明:

@知乎白小鱼

 将选择性翻译论文的部分内容,并根据个人兴趣做增补。
如有学习需求,建议阅读论文原文。


为什么需要联邦学习

在这个数字时代,公司和机构正在使用大数据和人工智能(AI)来优化他们的流程和性能。虽然丰富的数据为人工智能应用提供了巨大的机会,但这些数据中的大多数本质上都是高度敏感的,它们以孤立的形式存在。这在医疗保健行业尤其如此,因为医疗数据高度敏感,而且它们通常被收集并驻留在不同的医疗机构。这种情况给人工智能的应用带来了巨大的挑战,因为传统的人工智能方法不能很好地解决数据隐私问题。随着最近出台的数据隐私保护法律,如通用数据保护条例(GDPR),为了遵从法律需求,对隐私保护的人工智能的需求越来越大。


安全和私有人工智能领域的数据、算法、行为者和技术之间的关系和相互作用的示意图 图片来源 “Secure, Privacy-Preserving and Federated Machine Learning in Medical Imaging.” Nature Machine Intelligence


鉴于这些数据隐私的挑战,联邦学习(FL, Federated Learning)在最近几年越来越流行。FL是一种学习范式,能够以一种保护隐私的方式协作训练涉及多个数据仓库的机器学习模型

当前使用最广泛的联邦学习设定是“服务器-客户端”架构,它假设数据被客户端持有(客户端可以小到单个移动设备,大到整个公司或组织),中央参数服务器负责联邦学习的模型学习任务。

在模型训练过程中,训练数据存储在各客户端的本地,在训练过程中不直接共享

联邦学习的开山之作是谷歌在2016年提出的联邦平均(FedAvg)[3]算法,其目标是训练一个在大多数FL客户端上表现良好的全局模型


为什么需要个性化联邦学习

然而,通用联邦学习方法面临着几个基本挑战:

1. 在高度异质性的数据上收敛性差。当在非独立同分布(non I.I.D.)的数据上学习时,FedAvg的准确性会大大降低。这种性能下降归因于客户端漂移(client drift)的现象,因为在非IID的本地数据分布上进行了多轮本地训练和同步。下图2显示了客户端漂移对IID和非IID数据的影响。在FedAvg中,服务器模型参数的更新向客户端模型参数的平均值移动。当数据为IID时,平均模型接近于全局最优值  ,因为它与局部最优值  和  的距离相等。然而,当数据为非IID时,全局最优的与局部最优的距离并不相等。在这个例子中,更接近。因此,平均后的模型将远离全局最优,全局模型不会收敛到真正的全局最优。由于FedAvg算法在非IID数据上遇到收敛问题,需要仔细调整超参数(例如,学习率衰减)以提高学习稳定性。

2. 缺乏个性化的解决方案。在原始联邦学习的设定中,一个单一的全局共享模型被训练来适应 "平均化的客户端"。在各客户端的数据分布存在明显差异的情形下,单一全局模型难以应对与全局分布截然不同的局部分布情况。对于经常面临非独立同分布本地数据集的实际应用,仅有一个单一的模型往往是不够的。以为移动键盘开发语言模型为例,来自不同人群的用户可能会因为不同的代际、语言和文化上的细微差别而有不同的使用模式,比如,某些单词或表情符号可能会被特定的用户群体所使用。在这种情况下,需要对每个用户进行更有针对性的预测,将使词语的建议更有意义。

上述挑战影响到全局模型的训练,更会影响全局模型在某些客户端上的局部数据上的表现,这将可能使受影响的客户端不愿加入联邦学习训练流程。而前述挑战正是个性化联邦学习试图解决的问题。


个性化联邦学习的两种策略

策略一:全局模型个性化,意在提升在异质数据上联邦训练的全局共享模型的性能。

训练好全局FL模型,然后通过本地适应步骤为每个FL客户端进行个性化处理(包括在每个本地数据集上进行额外的训练)。这种两步走的 "联邦训练+本地适应 "方法(FL training + local adaptation)是一种重要的联邦个性化策略。由于个性化性能直接取决于全局模型的泛化性能,许多PFL方法旨在先提高全局模型在数据异质性下的性能,以提高随后在本地数据上的个性化性能。

这一类的个性化技术被分为基于数据和基于模型的方法。基于数据的方法旨在通过减少客户数据集之间的统计异质性来缓解客户漂移问题,而基于模型的方法旨在学习一个强大的全局模型,以便在未来对单个客户进行个性化定制或提高本地模型的适应性。


策略二:学习个性化的模型,意在提供个性化解决方案。

与训练单一全局模型的全局模型个性化策略不同,这类的方法在每个客户端上训练单个的个性化模型。其目标是通过修改FL模型的聚合过程来建立个性化的模型。这是通过在FL环境中应用不同的学习范式实现的。

个性化技术被分为基于架构和基于相似性的方法。基于架构的方法旨在为每个客户提供量身定制的个性化模型架构,而基于相似性的方法旨在利用客户关系来提高个性化模型的性能,即为相关客户建立类似的个性化模型。


个性化联邦学习的四大类十小类解决方案

这篇论文将个性化联邦学习分为前述两种策略,然后又在策略之下介绍了四大类十小类解决方案。



1.1 基于数据的方法

受异质数据上的联合训练所产生的客户端漂移问题的启发,基于数据的方法旨在减少客户端数据分布的统计异质性。

1.1.1 数据增强 Data Augmentation

由于训练数据的IID属性是统计学习理论中的一个基本假设,因此在机器学习领域中已经广泛地研究了提高数据统计同质性的数据扩充方法。涉及协同数据生成的过采样技术(如SMOTE和ADASYN)和欠采样技术(如Tomek links)已被提出,以减少数据的不平衡。但用于传统机器学习场景的数据增强方法不能直接用于联邦学习场景。

联邦学习场景下通常需要某种形式的数据共享,或者需要获取依赖于代表整体数据分布的代理数据集。

Zhao等人提出了一种数据共享策略,将少量的全局数据按类别平衡分配给每个客户端。他们的实验表明,在增加少量数据的情况下,有可能获得显著的准确性提高(30%∼)。
Jeong等人提出了FAug,一种联合增强方法,在FL服务器中训练生成对抗网络(GAN)模型。一些少数群体的数据样本被上传至服务器以训练GAN模型。然后,训练好的GAN模型被分发到每个客户端,以产生更多的数据来增加其本地数据,从而产生一个IID数据集。
Duan等人提出了Astraea,一个自我平衡的FL框架,通过使用基于Z-score的数据增强和本地数据的下采样来处理类不平衡。FLserver需要关于客户本地数据分布的统计信息(例如,类大小、平均值和标准差值)。
Wu等人提出了FedHome算法,该算法使用FL训练生成卷积自动编码器(GCAE)模型。在FL程序结束时,每个客户在一个本地增强的类平衡数据集上执行进一步的个性化操作。这个数据集是通过在基于本地数据的编码网络的低维特征上执行SMOTE算法而产生的。


1.1.2 挑选客户端 Client Selection

数据增强方法是将异质数据变得更加均质,挑选客户端的方法希望在优化过程中基于一些准则挑选客户端,以便得到更均匀的数据分布,提高模型的泛化性能。

Wang等人提出了FAVOR,为每轮训练选择一个参与客户的子集,以减轻非IID数据带来的偏差。他们设计了一个用于客户选择的深度Q-learning公式,目的是在最小化通信轮数的同时实现最大的准确性。
另有人提出了一个基于多臂老虎机公式的客户选择算法,以选择具有最小类别不平衡的客户子集。通过比较提交给FL服务器的本地梯度更新与驻留在服务器上的平衡代理数据集推断出的梯度之间的相似性来估计本地类分布。对于跨设备的FL,在计算和通信能力方面,硬件能力往往有很大的差异。数据中也存在异质性,即数据的数量和分布在客户之间存在差异。
Chai等人提出了一个基于层级的FL系统(TiFL),该系统根据训练性能将客户分成不同的层级,该算法通过优化准确性和训练时间从同一层级中选择参与训练的客户。这有助于缓解由数据和资源异质性造成的性能问题。
Li等人提出了FedSAE,一个自适应的FL系统,在每个训练场中自适应地选择局部训练损失较大的客户,以加速全局模型的收敛。还提出了一个预测每个客户可承受的工作量的机制,以便动态调整每个客户的局部训练纪元的数量,以提高设备的可靠性。


1.2 基于模型的方法

尽管基于数据的方法通过缓解客户漂移问题改善了全局FL模型的收敛性,但它们通常需要修改局部数据分布。这可能会导致与客户行为的固有多样性相关的宝贵信息的损失。这些信息对于为每个客户建立个性化的全局模型非常有用。

基于模型的全局模型个性化的FL方法,其目的是学习一个强大的全局FL模型,以便将来对每个客户进行个性化处理,或者提高局部模型的适应性

1.2.1 增加模型局部损失正则项 Regularized Local Loss

模型正则化是一种常见的策略,用于防止机器学习模型训练时的过度拟合和提高一致性。在FL中,正则化技术可以被用来限制局部更新的影响。这提高了收敛的稳定性和全局模型的概括性,反过来,它可以被用来产生更好的个性化模型。

全局和局部模型之间比较。有几项工作在全局和局部模型之间实现了正则化,以解决FL中由于统计数据的异质性而普遍存在的客户端漂移问题。

FedProx为本地子问题引入了一个近似项,考虑到全局FL模型和本地模型之间的不相似性来调整本地更新的影响。
FedCL进一步考虑了使用持续学习领域的弹性权重整合(EWC)的正则化局部损失函数中的参数重要性。然后,它们被转移到客户端,在那里进行惩罚步骤,以防止全局模型的重要参数在适应全局模型和客户的本地数据时被改变。这样做可以减轻本地和全局模型之间的权重差异,同时保留全局模型的知识以提高泛化能力。

历史局部模型快照之间比较。基于对比学习的FL-MOON被提出,MOON的目标是减少由局部模型和全局模型学习的表征之间的距离(即减轻权重分歧),并增加一个给定的局部模型和它的前一个局部模型之间学习的表征之间的距离(即加快融合)。这种新兴的方法使每个客户都能学习到接近全局模型的表征,以尽量减少局部模型的分歧。它还通过鼓励本地模型在前一版本的基础上进行改进来加速学习。


1.2.2 元学习 Meta-learning

元学习俗称 "学会学习",元学习的目的是通过接触各种任务(即数据集)来改进学习算法。基于优化的元学习算法,如模型无关的元学习(MAML)和Reptile,因其在新的异质任务上的良好泛化和快速适应而闻名。它们也是模型不可知的,可以应用于任何基于梯度下降的方法,使其能够应用于监督学习和强化学习。

元学习算法的运行分为两个阶段:元训练和元测试。

Jiang等作者将MAML中的元训练步骤映射到FL全局模型训练过程中,将元测试步骤映射到FL个性化过程中,其中在局部适应过程中对局部数据进行了几步梯度下降。他们还表明,FedAvg与Reptile算法类似,当所有客户拥有同等数量的本地数据时,实际上是等价的。鉴于元学习和FL算法表述的相似性,元学习技术可以应用于改善全局FL模型,同时在客户端上实现快速个性化.

1.2.3 迁移学习 Transfer learning

迁移学习通常用于非联邦环境中的模型个性化。它的目的是将知识从源域转移到目标域,而这两个域往往是不同的,但又是相关的。TL是一种高效的方法,它利用了来自训练过的模型的知识转移,从而避免了从头建立模型的需要。

FedMD是一个基于TL和知识转移(KD)的FL框架,供客户使用他们自己的私人数据设计独立的模型。在FL训练和KD阶段之前,首先使用一个在公共数据集上预训练的模型进行TL。然后,每个客户在其私人数据上微调该模型。

为了实现PFL,通常采用领域适应性TL技术。这些技术旨在减少训练好的全局FL模型(即源域)和给定的局部模型(即目标域)之间的域差异,以提高个性化程度。在FL领域有几项研究,在医疗领域使用TL进行模型个性化(例如FedHealth和FedSteg)。

训练过程一般包括三个步骤。1)通过FL训练全局模型;2)通过在本地数据上适应全局模型来训练本地模型;3)通过TL使用全局模型完善本地模型来训练个性化模型。为了实现领域适应性,通常在softmax层之前添加一个对齐层,如相关对齐(CORAL)层,以适应源域和目标域的二阶统计数据。

2.1 基于架构的方法

基于架构的方法旨在通过为每个客户定制模型设计来实现个性化。

参数解耦方法为每个客户实现了每个个性化层,而知识蒸馏方法为每个客户支持个性化的模型架构。

2.1.1 参数解耦

参数解耦的目的是通过将本地私有模型参数与全局FL模型参数解耦来实现PFL。私有参数在客户机上进行训练,不与FL服务器共享。这使得特定任务的表征可以被学习,以加强个性化。

通常有两种配置用于深度学习的参数解耦。

第一种是"基础层+个性化层"设计。在这种设置中,个性化的深层被客户保留在本地训练中,以学习个性化的特定任务表征,而基础层则与FL客户端共享,以学习低层次的通用特征。

第二种设计考虑了每个客户端的个性化数据特征表征

局部全局联合训练(LG-FedAvg)被提出来结合局部表征学习和全局联合训练。学习低维的局部表征可以提高联合全球模型训练的通信和计算效率。它还提供了灵活性,因为可以根据源数据的模式(如图像和文本)设计专门的编码器。作者还展示了如何通过将对抗性学习纳入FL模型训练来学习对受保护属性(如种族和性别)不变的公平和无偏见的表征。

参数解耦与另一种分布式和私有的机器学习范式——分割学习(SL, split learning)有一些相似之处。

在SL中,深度网络在服务器和客户端之间被分层。与参数解耦不同,SL中的服务器模型不会被转移到客户端进行模型训练。相反,在前向传播过程中,只有客户端模型分割层的权重是共享的,在反向传播过程中,分割层的梯度与客户端共享。因此,SL比FL有隐私优势,因为服务器和客户端不能完全访问全球和本地模型。然而,由于客户端的顺序训练过程,训练的效率较低。SL在非IID数据上的表现也比FL差,并且有更高的通信开销。


2.1.2 知识蒸馏

知识蒸馏。在基于服务器的横向联邦中,FL服务器和FL客户端都采用相同的模型结构。其基本假设是,客户有足够的通信带宽和计算能力。然而,对于有大量边缘设备作为FL客户端的实际应用,它们往往受到资源的限制。客户端也可能因为不同的训练目标而选择不同的模型架构。FL中知识蒸馏的关键动机是其具有更大的灵活性,以适应客户的个性化模型架构。同时,它还试图通过减少资源需求来解决通信和计算能力的挑战。

神经网络的知识蒸馏是一种将知识从教师模型集合转移到轻量级学生模型的准范式。在现有的蒸馏方法中,知识通常表示为类分数或Logit输出。一般来说,基于蒸馏的FL架构有四种主要类型。1)将知识蒸馏到每个FL客户端以学习更强的个人化模型;2)将知识蒸馏到FL服务器以学习更强的服务器模型;3)双向蒸馏到FL客户端和FL服务器;4)客户端之间的蒸馏。


2.2 基于相似性的方法

基于相似性的方法旨在通过对客户关系建模来实现个性化。为每个客户学习一个个性化的模型,相似的客户学习类似的模型。

多任务学习(MTL)和模型插值考虑的是成对的客户关系,而聚类考虑的是群组级别客户关系。

2.2.1 多任务学习 Multitask learning (MTL)

多任务学习的目标是训练一个联合执行几个相关任务的模型。这可以通过利用特定领域的知识来提高学习任务的泛化性。在MTL中,通过将每个FL客户视为一个任务,有可能学习和捕捉客户之间由其异质的本地数据表现出来的关系。

MOCHA算法将分布式MTL扩展到FL环境中。MOCHA使用原始-对偶公式来优化所学模型。该算法解决了FL中普遍存在的通信和系统挑战,而这些挑战在MTL领域是没有考虑的。与传统的FL设计不同,MOCHA学习的是单一的全局模型,它为每个FL客户端学习了一个个性化的模型。虽然MOCHA提高了个性化程度,但它并不适合于跨设备的FL应用,因为所有的客户端都需要参与每一轮的FL模型训练。MOCHA的另一个缺点是,它只适用于凸模型,因此不适合深度学习。
FedCurv使用EWC来防止在学习任务之间移动时出现灾难性的遗忘。参数的重要性用Fisher信息矩阵来估计,并进行惩罚步骤以保留重要的参数。在每个通信回合结束时,每个客户端将其更新的本地参数和Fisher信息矩阵的对角线发送给服务器。这些参数将在所有客户端之间共享,以便在下一轮中进行本地训练。

2.2.2 模型插值 model interpolation

模型插值。

filip等人提出使用全局和局部模型的混合来学习个性化的模型,以平衡泛化和个性化。每个FL客户学习一个单独的本地模型。惩罚参数λ被用来阻止局部模型与平均模型太不相似。当λ被设置为零时,发生纯局部模型学习。这相当完全PFL设置,其中每个客户端在本地训练自己的模型,而不与其他客户端进行任何通信。随着λ的增加,出现了混合模型学习,局部模型变得越来越相似。设置近似全局模型学习,当λ趋于无穷大时,强制所有局部模型相同。通过这种方式,可以控制个性化的程度。此外,作者还提出了一种沟通效率高的SGD变体,称为无环局部梯度下降(L2GD)。通过确定是执行局部GD步骤还是执行模型聚合步骤的概率框架,显著减少了通信轮数。
Deng等人提出了APFL算法,目标是以通信高效的方式找到全局和局部模型的最优组合。他们为每个客户端引入一个混合参数,该参数在FL训练过程中自适应学习,以控制全局和局部模型的权重。如果局部和全局数据分布不是网格对齐的,则特定局部模型上的权重因子预计会更大,反之亦然。mansour等人提出了一种类似的公式,涉及局部和全局模型的联合优化以确定最优插值权重。
Diao等人提出了基于单一全局模型的HeteroFL框架,该框架训练具有不同计算复杂性的局部模型。通过根据每个客户端的计算和通信能力自适应地分配不同复杂程度的本地模型,实现了PFL,以解决边缘计算场景中的系统异构性。


2.2.3 聚类 clustering

对于客户端之间存在固有分区或数据分布明显不同的应用,采用“客户端-服务器”FL架构来训练一个共享的全局模型并不是最佳选择。一个多模型的方法,即为每个同质的客户群训练一个FL模型,是比较合适的。最近的一些工作集中在FL个性化的聚类上。基于聚类的FL的基本假设是存在一个基于其本地数据分布的客户自然分组

各类方法的优缺点


论文接下来的部分还简要介绍了个性化联邦学习的数据集和评价基准,以及未来的研究方向。

最后感谢这篇论文相关作者的整理工作,提供了较为全面的论文清单和一套比较有借鉴价值的分类法,让我能在这个方向快速了解研究进展。谢谢!

参考文献

  1. Kulkarni, Viraj, Milind Kulkarni, and Aniruddha Pant. “Survey of Personalization Techniques for Federated Learning.” ArXiv:2003.08673 [Cs, Stat], March 19, 2020.  http://arxiv.org/abs/2003.08673

  2. Tan, Alysa Ziying, Han Yu, Lizhen Cui, and Qiang Yang. “Towards Personalized Federated Learning.” IEEE Transactions on Neural Networks and Learning Systems, 2022, 1–17. https://doi.org/10.1109/TNNLS.2022.3160699

  3. McMahan, Brendan, Eider Moore, Daniel Ramage, Seth Hampson, and Blaise Aguera y Arcas. “Communication-Efficient Learning of Deep Networks from Decentralized Data.” In Artificial Intelligence and Statistics, 1273–82. PMLR, 2017.  http://proceedings.mlr.press/v54/mcmahan17a.html

译者简介


知乎:白小鱼。目前在上海交通大学计算机系攻读博士学位,主要研究兴趣包括联邦学习、小样本学习。


往期内容:

SecFloat:面向精确浮点计算的安全两方计算

SWIFT 超快速鲁棒隐私保护机器学习

Parallel Prefix Adder 简介

BLAZE 极速隐私保护机器学习

更新|Cheetah: 精简快速的安全两方DNN推理





欢迎投稿

邮箱:pet@openmpc.com

参与更多讨论,请添加小编微信加入交流群

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

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