写点什么

【技术解决方案】联邦学习中遇到的 Non-IID 问题——隐语 SecretFlow

  • 2025-10-14
    日本
  • 本文字数:4454 字

    阅读完需:约 15 分钟

打开链接点亮社区 Star,照亮技术的前进之路。每一个点赞,都是社区技术大佬前进的动力



Github 地址: https://github.com/secretflow



一、引言

本文针对联邦学习中遇到的 Non-IID 问题进行探讨,介绍 Non-IID 产生的原因,分析 Non-IID 对联邦学习的影响,以及调研了近年来针对该问题的解决方案,并进行分类总结。

1.1 背景介绍

在联邦学习中,拥有不同数据集的 client 进行联合训练。根据本系列之前的文章《联邦学习之基本方法》可知,由于 client 数据集所对应的样本不同,样本所处地域可能不同,以及数据采集的时间窗口不同等原因。

因此多个 client 在进行联合联邦训练时,这些数据集之间往往具有不同的特征分布或标签分布,同时特征之间并非相互独立,联邦学习中的这种场景被称之为非独立同分布(Non-IID(Identically and Independently Distributed))场景 [1]。

1.2Non-IID 的影响

通过 ATA《联邦学习之基本方法》可知,FedAVG 基于独立同分布假设进行联合建模训练,因此对于 Non-IID 的 client 数据集,直接进行模型聚合往往影响模型的整体性能 [2],此外全局统一的模型无法实现对各个 client 数据的个性化表征 [3]。我们分别从定量和定性两个角度,具体分析 Non-IID 数据集对 FedAVG 算法的影响。

定性分析[4]

首先我们通过一个简单的分类任务来分析一下 Non-IID 对模型训练的影响。如图 1(a)左图所示,我们有四个样本,每个样本包含两个特征和一个标签(x0,x1,label):样本 1(6,2,+)、样本 2(6,6,-)、样本 3(2,2,-),样本 4(2,6,+)。

在中心化训练中,可以很容易的根据特征 x0,x1 的取值范围进行分类,如图 1(a)右图所示。

假设在联邦学习中,样本 2 和样本 4 在 client1 中,样本 1 和样本 3 在 client2 中,数据分布为 Non-IID。

在 client 进行本地训练时,根据特征 x0,x1 的取值范围进行分类,得到对应的分类模型。如图 1(b)所示,client1 和 client2 的分类模型成完全相反的预测结果,因此联邦训练的聚合模型在对应区域相互抵消,模型性能必然很差。



(2)定量分析[5]

为方便理解,如图 2 所示,假设模型为二维向量,梯度为图中的箭头。对于 IID 的数据分布,在进行 FedAVG 训练时,cient 之间模型梯度方向几乎相同,经过 mT 次联邦训练之后,联邦聚合模型

[](https://files.mdnice.com/user/35586/57571fdc-4fac-4c6a-85be-e09a6e8fad60.png)

与中心训练(假设所有的数据均在 server 上进行训练)得到的模型几乎相同。

对于 Non-IID 数据分布,client 模型

梯度方向之间有较大的差异,联邦聚合模型与中心化模型

的大小和方向均差异较大,因此通过图 1 对比可以发现 Non-IID 的数据集会导致联邦模型无法收敛于中心训练模型。

此外,在利用 SGD 等算法进行联邦学习过程中,即使训练成员中为 IID 数据,当 batch_size 较小时,每个 batch 的数据分布也不尽相同,因此进行模型聚合时仍存在较大的性能损失。



联邦训练模型与中心训练模型的差异可由下面公示表示:



其中



  • 推论 1

二者的差异主要由两部分组成:一部分是模型在上次训练时的差异,另一部分是由 clientk 的分布与整体分布差异引起的。

  • 推论 2

所有 client 进行相同的模型初始化有助于减少联邦训练模型与中心训练模型之间的差异。

  • 推论 3

当采用相同的初始化模型时,联邦训练模型与中心训练模型的差异主要由数据分布差异引起,具体的大小还与学习率_η_联邦训练每次更新时 client 端训练迭代次数 T 和梯度_g__max__有关。

二、优化方法

近年来,针对联邦学习 Non-IID 问题的研究越来越多,我们调研了最近几年的相关 paper 发现,目前的算法优化主要分为三个方向:数据优化、模型更新优化和模型训练优化。

2.1 数据优化

基于数据的优化算法直接针对数据分布进行优化,使得 client 的数据分布与整体数据分布尽可能相似。

具体方法如下:首先利用公开数据集或者 client 脱敏部分本地数据,在 server 端生成一个公共数据集;

然后 server 将部分数据集下发到 client 中,与 client 原数据进行混合,从而使得各个 client 端的数据分布尽可能相似,从而降低 Non-IID 对于模型整体性能的影响 [5][6]。

该方法虽然在一定程度上降低了 client 之间分布的差异性,但是却在各个参数方之间进行样本数据的共享,会造成隐私数据的泄漏,使用场景受限,近年来该方向的研究越来越少。

2.2 模型更新优化

基于模型更新的优化算法针对联邦学习中 client 端的模型更新过程和 server 端的模型聚合过程进行优化:

(1)优化 client 模型更新算法

ASFGNN [7]根据 client 和 server 端的样本分布得到对应的 JS 散度,并以 JS 散度作为 client 端模型更新时的权重系数,如下面公式所示,其中 P 和 Q 分别为 client 和 server 端的样本分布:



在每次联邦训练的 round 中,对 server 端模型和 client 端模型进行加权平均,更新模型参数:



APFL [8]在每次联邦训练 round 中根据 client 端模型和 server 端模型的差异,对权重系数进行迭代更新,然后采用与 ASFGNN 中类似的方法对 client 端的个性化模型进行加权平均,如下面公式所示。

Personalized model:



Global model:




(2)优化模型聚合算法

FedAT [9]根据网络延迟和网络通信情况,将参与的 client 分成多组,每组内部进行同步联邦学习,得到该组的聚合模型;

不同组之间进行异步联邦学习,依次更新 server 模型,更新次数越少的组,更新系数越大。

Semi-FL [10]对 client 分成多组,每组内部进行串行方式的训练;

在每组中对 client 模型按照编号进行依次训练,当前模型的初始模型为上个模型训练后更新的模型;

每组最后一个 client 输出模型为该组上传至 server 端进行聚合的模型,如图 3 所示。除此之外还有其他几种动态分组联邦训练的方法,例如 FedFMC [11]等。



FedCD[12]在进行 server 端模型聚合时,将 client 模型在 client 验证集上的 score 而非样本数量作为该模型的权重进行聚合。

TfdpFL[13]提供了一些偏实用性的问题解决方法,对于 TOC 场景下的实际落地有一定的参考价值。

例如部分成员没有完成全部本地训练轮数是否参与聚合过程,不活跃成员是否需要从联邦训练中移除,client 离线又恢复如何处理,训练过程中有新加入的 client 如何处理等问题。

(3)多模型优化算法

LG-FedAVG[17]、APFL[8]在 client 端创建多个模型,分别进行本地训练和联邦训练,从而实现联邦聚合的统一性与 client 模型的个性化表征。

2.3 模型训练优化

基于模型训练的优化算法针对 client 端的模型训练过程进行优化,主要分为如下几种:

(1)优化机器学习模型

FedProx[14]在原始的 loss 函数中增加模型差异的 l2norm,限制 client 端模型和 server 模型的差异,如下面公式所示。



FedMo[15]参考动量梯度下降算法,将 client 模型上传至 server 中,并在 server 对进行动量累加,利用动量更新模型;

此外该文章还提供了一种改进算法,对 client 梯度中各个元素位置的符号进行累加,小于某个门限值则将该元素的学习率设为 0,否则依然为原始学习率,如下面公式所示。




(2)部分联邦训练

ASFGNN[7]将 GNN 模型中前面的 embedding 层在 client 本地进行训练更新,表征 client 本地数据的个性化信息,后面的预测层进行联邦学习,如图 4 所示。



FedPer[16]针对计算机视觉的应用场景,提出将模型前面的部分层作为基础层进行联邦训练更新,剩余后面的层作为个性化层进行本地训练更新。

(3)Meta-learning

[18][19][20]等文献中将 meta-learning 与联邦学习进行结合,从而实现对 client 模型的个性化学习,有兴趣的同学可以结合这几篇文献进行深入了解。

三、结语

后续我们会根据逐渐涌现出来的新方法,持续更新,为算法研究和业务落地提供新的参考方向,欢迎探讨交流。

Reference[1] KairouzP, McMahan H B, Avent B, et al. Advances and open problems infederated learning[J]. arXiv preprint arXiv:1912.04977, 2019.[2] LiT, Sahu A K, Zaheer M, et al. Federated optimization in heterogeneousnetworks[J]. arXiv preprint arXiv:1812.06127, 2018.[3] HuangY, Chu L, Zhou Z, et al. Personalized federated learning: Anattentive collaboration approach[J]. arXiv preprint arXiv:2007.03797,2020.[4] SafaOzdayi M, Kantarcioglu M, Iyer R. Improving Accuracy of FederatedLearning in Non-IID Settings[J]. arXiv e-prints, 2020: arXiv:2010.15582.[5]ZhaoY, Li M, Lai L, et al. Federated learning with non-iid data[J]. arXivpreprint arXiv:1806.00582, 2018.[6] WangT, Zhu J Y, Torralba A, et al. Dataset distillation[J]. arXivpreprint arXiv:1811.10959, 2018.[7]ZhengL, Zhou J, Chen C, et al. ASFGNN: Automated separated-federated graphneural network[J]. Peer-to-Peer Networking and Applications, 2021:1-13.[8] DengY, Kamani M M, Mahdavi M. Adaptive personalized federatedlearning[J]. arXiv preprint arXiv:2003.13461, 2020.[9] ChaiZ, Chen Y, Zhao L, et al. Fedat: A communication-efficient federatedlearning method with asynchronous tiers under non-iid data[J]. arXivpreprint arXiv:2010.05958, 2020.[10] ChenZ, Li D, Zhao M, et al. Semi-Federated Learning[C]//2020 IEEEWireless Communications and Networking Conference (WCNC). IEEE, 2020:1-6.[11] KopparapuK, Lin E. FedFMC: Sequential Efficient Federated Learning on Non-iidData[J]. arXiv preprint arXiv:2006.10937, 2020.[12] KopparapuK, Lin E, Zhao J. FedCD: Improving Performance in non-IID FederatedLearning[J]. arXiv preprint arXiv:2006.09637, 2020.[13] RuanY, Zhang X, Liang S C, et al. Towards flexible device participationin federated learning for non-iid data[J]. arXiv preprintarXiv:2006.06954, 2020.[14] LiT, Sahu A K, Zaheer M, et al. Federated optimization in heterogeneousnetworks[J]. arXiv preprint arXiv:1812.06127, 2018.[15] OzdayiM S, Kantarcioglu M, Iyer R. Improving Accuracy of Federated Learningin Non-IID Settings[J]. arXiv preprint arXiv:2010.15582, 2020.[16] ArivazhaganM G, Aggarwal V, Singh A K, et al. Federated learning withpersonalization layers[J]. arXiv preprint arXiv:1912.00818, 2019.[17] LiangP P, Liu T, Ziyin L, et al. Think locally, act globally: Federatedlearning with local and global representations[J]. arXiv preprintarXiv:2001.01523, 2020.[18] ChenF, Luo M, Dong Z, et al. Federated meta-learning with fastconvergence and efficient communication[J]. arXiv preprintarXiv:1802.07876, 2018.[19] FallahA, Mokhtari A, Ozdaglar A. Personalized federated learning: Ameta-learning approach[J]. arXiv preprint arXiv:2002.07948, 2020.[20] ZhangX, Hong M, Dhople S, et al. FedPD: A federated learning frameworkwith optimal rates and adaptivity to non-IID data[J]. arXiv preprintarXiv:2005.11418, 2020.

用户头像

关注微信公众号:隐语的小剧场 2022-08-01 加入

隐语SecretFlow是蚂蚁自主研发的隐私计算开源框架,内置MPC、TEE、同态等多种密态计算虚拟设备供灵活选择。同时我们专注于隐私计算领域任何前沿技术、最新动态、行业资讯,隐语期待您的加入!

评论

发布
暂无评论
【技术解决方案】联邦学习中遇到的Non-IID问题——隐语SecretFlow_联邦学习_隐语SecretFlow_InfoQ写作社区