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

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 「隐语小课」联邦学习之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.

相关文章
|
机器学习/深度学习 算法 数据可视化
【机器学习】十大算法之一 “K-means”
k-means算法早在1957年就被发明了,最早由J. MacQueen提出。后来,Lloyd(1982年)、Hartigan(1975年)、Forgy(1965年)等学者对此算法进行了修正和改进。这个算法已被广泛应用于数据挖掘、模式识别、图像处理等领域,它可以用来识别数据集之间的模式,因此是一种十分实用的机器学习算法。本篇文章介绍了k-means算法,一种常见的聚类算法。我们详细讲解了该算法的发展史、原理、功能以及示例代码。
1544 153
【机器学习】十大算法之一 “K-means”
|
XML Android开发 数据安全/隐私保护
10. 【Android教程】网格布局 GridLayout
10. 【Android教程】网格布局 GridLayout
801 1
|
数据可视化 数据挖掘 UED
Python中的数据可视化:使用Matplotlib创建交互式图表
传统的数据可视化工具通常只能生成静态图表,而在数据分析和展示中,交互式图表能够提供更丰富的用户体验和更深入的数据探索。本文将介绍如何利用Python中的Matplotlib库创建交互式图表,让数据分析变得更加生动和直观。
|
存储 Ubuntu 网络协议
NAS个人云存储 - 手把手教你搭建Nextcloud个人云盘并实现公网远程访问(上)
NAS个人云存储 - 手把手教你搭建Nextcloud个人云盘并实现公网远程访问
|
机器学习/深度学习 算法 安全
Federated Learning
联邦学习(Federated Learning, FL)是一种新兴的分布式机器学习范式,旨在通过“数据不动模型动”的方式,在不共享原始数据的情况下实现多方协同训练,保护数据隐私。本文综述了国内外研究现状,涵盖学术研究和产业应用进展,分析了其核心特征、技术挑战及未来发展方向,为相关领域的研究者和从业者提供参考。
STM32速成笔记(三)—按键检测
本文介绍了如何利用STM32进行按键检测,先介绍了原理,后面给出了配置步骤和应用例程。此外,本文还叙述了如何利用一个按键单独控制一个LED亮灭,以及如何检测按键长短按。
3133 0
STM32速成笔记(三)—按键检测
|
存储 监控 网络协议
AnaTraf全流量分析系统基本功能
全流量分析系统是一种强大的网络监控与分析工具,可捕获、分析并存储网络中的所有流量。AnaTraf系统支持多种部署方式(桥接、镜像、TAP),确保不干扰现有网络架构,同时提供SSL加密保障数据安全传输。系统具备虚拟链路分析、循环存储、过滤捕获等功能,支持数据包回放和协议解码识别,助力深入分析。丰富的统计功能涵盖TOP N仪表板、MAC/ARP/VLAN分析等,同时集成威胁情报检测和溯源能力,强化网络安全防护。通过用户管理和访问控制,系统实现精细化管理,为网络性能优化与安全保障提供关键支持。
|
缓存 JavaScript 前端开发
深入理解 Vue 3 的 Composition API 与新特性
本文详细探讨了 Vue 3 中的 Composition API,包括 setup 函数的使用、响应式数据管理(ref、reactive、toRefs 和 toRef)、侦听器(watch 和 watchEffect)以及计算属性(computed)。我们还介绍了自定义 Hooks 的创建与使用,分析了 Vue 2 与 Vue 3 在响应式系统上的重要区别,并概述了组件生命周期钩子、Fragments、Teleport 和 Suspense 等新特性。通过这些内容,读者将能更深入地理解 Vue 3 的设计理念及其在构建现代前端应用中的优势。
871 1
深入理解 Vue 3 的 Composition API 与新特性
|
机器学习/深度学习 存储 算法
通过强化学习策略进行特征选择
本文探讨了使用强化学习策略进行特征选择以提升机器学习模型性能。强调在高维数据集中,有效选择特征至关重要。文章介绍了马尔可夫决策过程在强化学习中的应用,并提出了一种新的特征选择方法。通过定义状态(特征子集)、动作(添加特征)、奖励(如准确性提升),建立了一个RL模型。此外,还介绍了Python库FSRLearning,用于实现这一方法。文中展示了如何使用该库,并通过与 sklearn 的 RFE 方法比较,证明了RL方法在选择模型特征方面的优越性。
465 3
|
机器学习/深度学习 搜索推荐 数据可视化
无热图不组学!高阶文献热图R语言绘制小专场拿捏
近在阅读近五年的一区高分的机器学习文献,其中有一种图出现频率特别高——热图。《
1090 0