「隐语小课」联邦学习之Non-IID问题

简介: 「隐语小课」联邦学习之Non-IID问题


收录于合集

#隐语小课23

#联邦学习7

一、引言

本文针对联邦学习中遇到的Non-IID问题进行探讨,介绍Non-IID产生的原因,分析Non-IID对联邦学习的影响,以及调研了近年来针对该问题的解决方案,并进行分类总结。1.1背景介绍在联邦学习中,拥有不同数据集的client进行联合训练。根据本系列之前的文章《联邦学习之基本方法》可知,由于client数据集所对应的样本不同,样本所处地域可能不同,以及数据采集的时间窗口不同等原因,因此多个client在进行联合联邦训练时,这些数据集之间往往具有不同的特征分布或标签分布,同时特征之间并非相互独立,联邦学习中的这种场景被称之为非独立同分布(Non-IID(Identically and Independently Distributed))场景 [1]。1.2Non-IID的影响通过ATA《联邦学习之基本方法》可知,FedAVG基于独立同分布假设进行联合建模训练,因此对于Non-IIDclient数据集,直接进行模型聚合往往影响模型的整体性能 [2],此外全局统一的模型无法实现对各个client数据的个性化表征 [3]。我们分别从定量和定性两个角度,具体分析Non-IID数据集对FedAVG算法的影响。
定性分析 [4]首先我们通过一个简单的分类任务来分析一下Non-IID对模型训练的影响。如图1a)左图所示,我们有四个样本,每个样本包含两个特征和一个标签(x0,x1,label):样本16,2,+)、样本26,6,-)、样本32,2,-),样本42,6,+)。在中心化训练中,可以很容易的根据特征x0,x1的取值范围进行分类,如图1a)右图所示。假设在联邦学习中,样本2和样本4client1中,样本1和样本3client2中,数据分布为Non-IID。在client进行本地训练时,根据特征x0,x1的取值范围进行分类,得到对应的分类模型。如图1b)所示,client1client2的分类模型成完全相反的预测结果,因此联邦训练的聚合模型在对应区域相互抵消,模型性能必然很差。1Non-IID 分类简化模型2)定量分析 [5]为方便理解,如图2所示,假设模型为二维向量,梯度为图中的箭头。对于IID的数据分布,在进行FedAVG训练时,cient之间模型梯度方向几乎相同,经过mT次联邦训练之后,联邦聚合模型与中心训练(假设所有的数据均在server上进行训练)得到的模型几乎相同。对于Non-IID数据分布,client模型梯度方向之间有较大的差异,联邦聚合模型与中心化模型的大小和方向均差异较大,因此通过图1对比可以发现Non-IID的数据集会导致联邦模型无法收敛于中心训练模型。此外,在利用SGD等算法进行联邦学习过程中,即使训练成员中为IID数据,当batch_size较小时,每个batch的数据分布也不尽相同,因此进行模型聚合时仍存在较大的性能损失。
2IIDNon-IID数据集收敛示意图
联邦训练模型与中心训练模型的差异可由下面公示表示:

  • 推论1

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

  • 推论2

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

  • 推论3

当采用相同的初始化模型时,联邦训练模型与中心训练模型的差异主要由数据分布差异引起,具体的大小还与学习率η联邦训练每次更新时client端训练迭代次数T和梯度gmax有关。二、优化方法近年来,针对联邦学习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]根据clientserver端的样本分布得到对应的JS散度,并以JS散度作为client端模型更新时的权重系数,如下面公式所示,其中PQ分别为clientserver端的样本分布:

在每次联邦训练的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]等。3Semi-FL 算法架构图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所示。

4SFGNN算法架构图FedPer [16]针对计算机视觉的应用场景,提出将模型前面的部分层作为基础层进行联邦训练更新,剩余后面的层作为个性化层进行本地训练更新。3Meta-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.

相关文章
|
6月前
|
算法 数据挖掘 调度
隐语实训营-第3讲:详解隐私计算框架的架构和技术要点
主要介绍隐语的隐私计算架构,并对每个模块进行拆解、分析,以期望不同使用者找到适合自己的模块,快速入手。
121 4
|
3月前
|
大数据 API 数据处理
揭秘!Flink如何从默默无闻到大数据界的璀璨明星?起源、设计理念与实战秘籍大公开!
【8月更文挑战第24天】Apache Flink是一款源自Stratosphere项目的开源流处理框架,由柏林理工大学等机构于2010至2014年间开发,并于2014年捐赠给Apache软件基金会。Flink设计之初即聚焦于提供统一的数据处理模型,支持事件时间处理、精确一次状态一致性等特性,实现了流批一体化处理。其核心优势包括高吞吐量、低延迟及强大的容错机制。
64 1
|
4月前
|
运维 安全 数据安全/隐私保护
隐语(SecretFlow)联邦学习实训营第一期笔记
**摘要:** 本文探讨了数据可信流通的概念,强调了数据来源确认、使用范围界定、流程追溯和风险防范的重要性。数据流通分为内循环(安全域内)和外循环(跨域),其中外循环面临黑客攻击、内部泄露和数据滥用等风险。为建立技术信任,提出了身份验证、利益对齐、能力预期和行为审计四点要求,涉及隐私计算、可信计算等技术。隐语作为隐私计算框架,提供服务以支持数据安全流通,通过开源降低接入门槛,并具备统一架构、原生应用、开放拓展、高性能和多轮安全验证等优势。开源隐语助力解决数据权属和信任问题,促进数据要素的安全流通。
|
6月前
|
数据安全/隐私保护
课5-隐私求交和隐语PSI介绍及开发实践
Alice和Bob分别创建了CSV文件`alice_psi_input.csv`和`bob_psi_input.csv`,包含姓名和年龄数据。他们使用SecretFlow库执行隐私保护集合求交(PSI)协议,版本v1和v2,通过ECDH_PSI_2PC或PROTOCOL_ECDH协议,不泄露原始数据。在PSI过程中,双方找出共享的姓名,结果发送给Alice。
|
6月前
|
运维 安全
隐语学习笔记
隐语学习笔记
41 1
|
6月前
|
运维 安全 数据安全/隐私保护
|
6月前
第8讲:隐语SCQL的开发实践丨隐私计算实训营 第1期
SCQL 提供中心化和P2P两种部署架构。中心化依赖第三方的SCDB,各数据方仅需SCQLEngine;P2P模式无第三方,各数据方需SCQLEngine和SCQLBroker。使用流程包括配置、注册、启动和执行查询。P2P部署实践展示详细步骤。[查看部署教程](https://www.secretflow.org.cn/zh-CN/docs/scql/0.5.0b2/intro/p2p-tutorial)。
107 0
|
6月前
|
Docker 容器
|
6月前
|
算法 安全 数据安全/隐私保护
隐语实训营笔记 第三讲
隐私计算框架“隐语”提供全面的隐私保护技术,包括PSI、PIR和联邦学习等算法,层次间低耦合,支持开放合作。产品层包含多样化应用,计算层涉及SPU、HEU、TEEU及密码库YACL,资源层有kuscia管理,强调互联互通和跨域管控,旨在实现安全的数据协作。
57 0
|
6月前
|
机器学习/深度学习 算法 安全
2024.3.20隐语训练营第3讲笔记:详解隐私计算框架及技术要点
隐语架构是一个分层设计,支持不同技术路线,确保高内聚、低耦合,增强开放性。它包括产品层(如SecretPad和SecretNote)、算法层(如PSI和PIR协议)、计算层(RayFed和SPU)、资源层(KUSCIA)和互联互通及跨域管控机制。该架构旨在提供高性能、易用的隐私计算解决方案,支持MPC、TEE、SCQL等,并允许不同背景的研究人员参与。
196 0
下一篇
无影云桌面