【摘要】 这篇文章面向non-iid方案的整合,如果这个代码可以直接使用的话,可能很节省时间。
1
[1] Li Q , Y Diao, Chen Q , et al. Federated Learning on Non-IID Data Silos: An Experimental Study[J]. 2021.
[2] Hsu T , Qi H , Brown M . …
这篇文章面向non-iid方案的整合,如果这个代码可以直接使用的话,可能很节省时间。
[1] Li Q , Y Diao, Chen Q , et al. Federated Learning on Non-IID Data Silos: An Experimental Study[J]. 2021.
[2] Hsu T , Qi H , Brown M . Measuring the Effects of Non-Identical Data Distribution for Federated Visual Classification. 2019.
数据竖井(4个方案的比较)
数据孤岛、数据竖井都指数据分散,中间有障碍(组织和国家),无法进行原始数据交换,如GPDR等法规限制。联邦学习可以使多方协作训练一个模型,但是存在多方数据分布的异构性,跨国公司、医院等场景,以及不同地区疾病分布、每个人的写作风格不同,语音识别等。
针对以往Non-iid 情形的划分缺乏代表性和深入性,研究了划分策略, 批量归一化和部分采样等技术,学习过程普遍存在不稳定性。
现如今数据非常重要和密集,机器学习服务依靠大量数据在各个领域大放异彩。现有联邦学习算法针对Non-iid会降低联邦学习算法的有效性,FedProx[39]、SCAFFOLD[31]和FedNova[62]。这些研究实验只考虑了1~3中数据分区策略,模拟Non-iid设置,并不能覆盖不同情形。
NIID-Bench
NIID-Bench 引入六种Non-iid数据分区策略,包括标签分布倾斜、特征分布倾斜和数量倾斜,在9个数据集上进行了大量实验, 评估四种最先进的FL算法的准确性,包括FedAvg[48]、FedProx[39]、SCAFFOLD[31]和FedNova[62]。
全局目标和局部目标不一定一样,客户端漂移,全局的偏移程度。
目标 :在非iid数据设置下学习一个有效的全局模型。
FedProx
FedProx引入一个正则项,限制局部的更新,控制局部与全局的距离,引入超参数 μ \mu μ, μ \mu μ的调节非常重要,过小不起作用,过大收敛变慢。
FedNova
改进聚合阶段,相同时间内,计算时间不同或计算的数据量不同时,对于更新快方优势明显,为了确保没有偏差,进行归一化和缩放。
SCAFFOLD
之前汇总过这篇文章,侧重各方之间方差的分析,估计服务器模型的更新方向和客户端的更新方向,将漂移添加在本地训练,在全局计算本地的梯度或者重用之前的梯度。
数据集合成
将真实数据集划分为多个更小的子集来合成分布式非iid数据集。好处:
- 便于量化局部数据的不平衡程度
- 容易设置不同数量的参与者
- 真实的联邦数据收集难
标签分布偏倚、特征分布偏倚和数量分布偏倚作为非iid数据分布的可能情况
标签分布倾斜
例如医院有专门治肿瘤,精神病的及其他病的分类,两种标签不均衡的设置:
1.数量
2.分布
本文的分配方式:
1.样本共k种标签,将每个标签的样本随机平均的分给标签所有者,每一方数量是固定的,不同方样品之间无重叠。
2. 按照狄利克雷分布为每方分配一定比例的标签样本,可以通过灵活的改变不平衡水平,当很小时非常不平衡。
特征分布倾斜
1.基于噪声的特征不平衡:将数据集随机平均分成多组,增加高斯噪声,可以调节方差使得分布不均匀。
- 合成特征不平衡:生成一个合成特征不平衡的数据集,立方体。
-
真实世界的特征不平衡(MNIST)
数量倾斜(狄利克雷分布,设置变量控制程度)
实验
数据集
实验内容
使用CNN,有两个5X5卷积层,2X2池化层,两个全连接层,RELU激活,参与者为4,学习率为{0.1,0.01,0.001},动量0.9,批尺寸为64,epoch为10。
指标
使用测试数据集上的top-1精度作为度量来比较,相对轮数下比较。
分类
- 比较不同non-iid的分类
- 比较不同算法
- 比较不同任务
- 收敛速度和稳定程度
- 局部最优对NON-IID很敏感
- 批尺寸
- 模型架构,引入不稳定性。
- 可伸缩性(采样)
未来的方向
- 分布式数据库
- 随机采样和稳定性的关系,抗斜技术。
测量不同数据分布对联邦可视化分类的影响
考虑了一个非相同分布的连续范围,探索连续的超参数变化。
1.在数字写入器进行分区,并不是在数据类上分区
2. 使用狄利克雷分布合成不相同的数据集
合成不相同的客户端数据
每个客户端分配两个类,(b-e)由不同浓度参数的狄利克雷分布产生。
不同分布的分类性能
浓度越高,意味着同分布程度越大,性能提高很微弱;同分布程度越小,训练误差波动更大。
超参数的敏感度,超参数依赖于C和e, 浓度较大,学习速率可以产生良好的精度;超参数较小时,需要仔细调整学习速率。
动量
超参数取决于C和E,低学习率和高动量,广泛的局部优化增加了客户的权重更新的方差,因此需要一个更低的 η \eta η来抵消噪声。
其实没读懂是啥意思,引入狄利克雷分布。
文章来源: blog.csdn.net,作者:为了明天而奋斗,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/weixin_45671820/article/details/115753261