联邦学习+差分隐私项目记录
本项目为联邦学习+差分隐私的实现(暂且记为myFed)。支持同步、异步、半异步(默认)机制。
项目仓库:https://github.com/yunsaijc/Federated-Learning-and-Differential-Privacy
本代码基于以下仓库实现:https://github.com/wenzhu23333/Differential-Privacy-Based-Federated-Learning
主要参考文献:
FedSA: A Semi-Asynchronous Federated Learning Mechanism in Heterogeneous Edge Computing
Federated Learning With Differential Privacy: Algorithms and Performance Analysis
重要参数定义与说明
1 | M //每一轮参与全局训练的客户数量 |
项目目的
本项目主要目的是学习理解联邦学习的工作过程。探究联邦学习加上差分隐私后的效果;同时考察在半异步机制下,不同M值对于准确率和收敛时间带来的影响。
项目结构
项目文件结构及说明如下:
1 | myFed |
实验设置
本项目中,我进行了多次实验。各个实验设置如下:(数据分布:IID/Non-IID;数据集:MNIST/CIFAR-10)
- 半异步机制联邦学习+差分隐私,设置不同N值。
- 半异步机制联邦学习+差分隐私,设置不同M值。
- 五种机制对比:myFed, FedSA, FedAsync, FedAP, FedAF;
实验结果分析
1. 设置不同N值
在不同的N值之下,各个客户端陈旧度的最大值随着N值的增大而增加。如下图所示:
2. 设置不同M值
令N的值固定,变量为M的值。在IID数据集下的实验结果如下图所示(图例中的值为\(\frac{M}{N}\))。可以发现,当M的值较小时,收敛速度更快,并且准确率也有略微的领先。
在Non-IID数据集下的实验结果如下图所示。可以发现,当数据分布为Non-IID时,仍然是M的值较小时,准确率上升地更快;但是M较小时的准确率波动程度较大,甚至会无法收敛;而M的值较大时虽然准确率上升更慢,但准确率是较为稳定,并且能够收敛的。
3. 五种机制对比
本实验将myFed(半异步), FedSA(半异步), FedAsync(异步), FedAP(同步), FedAF(同步)五种机制的性能进行了对比。
MNIST数据集,IID分布下。
MNIST数据集,Non-IID分布下。
CIFAR-10数据集,IID分布下。
CIFAR-10数据集,Non-IID分布下。
参考
Q. Ma, Y. Xu, H. Xu, Z. Jiang, L. Huang and H. Huang, "FedSA: A Semi-Asynchronous Federated Learning Mechanism in Heterogeneous Edge Computing," in IEEE Journal on Selected Areas in Communications, vol. 39, no. 12, pp. 3654-3672, Dec. 2021, doi: 10.1109/JSAC.2021.3118435.
K. Wei et al., "Federated Learning With Differential Privacy: Algorithms and Performance Analysis," in IEEE Transactions on Information Forensics and Security, vol. 15, pp. 3454-3469, 2020, doi: 10.1109/TIFS.2020.2988575.
https://blog.csdn.net/qq_36018871/article/details/121361027
https://zhuanlan.zhihu.com/p/263959892?utm_source=wechat_session
https://blog.csdn.net/m0_54487794/article/details/121674633
https://blog.csdn.net/wenzhu2333/article/details/124556920?spm=1001.2014.3001.5501
https://zhuanlan.zhihu.com/p/348290670
https://blog.csdn.net/Lyn_S/article/details/119661088
https://www.zhihu.com/question/354819140
https://zhuanlan.zhihu.com/p/142597513
https://blog.csdn.net/qq_41769289/article/details/87694955
https://blog.csdn.net/qsczse943062710/article/details/76423509
https://blog.csdn.net/qq_42589613/article/details/110296048