基于差分隐私的联邦学习项目推荐
1. 项目基础介绍和主要编程语言
项目名称: Differential-Privacy-Based-Federated-Learning
项目链接: GitHub - wenzhu23333/Differential-Privacy-Based-Federated-Learning
主要编程语言: Python
该项目是一个基于差分隐私(Differential Privacy, DP)的联邦学习(Federated Learning, FL)开源项目。联邦学习是一种分布式机器学习方法,允许在不共享数据的情况下训练模型,而差分隐私则是一种保护数据隐私的技术,通过添加噪声来隐藏个体数据的影响。
2. 项目核心功能
该项目的主要功能包括:
- 差分隐私机制: 支持Laplace和Gaussian两种差分隐私机制,分别用于不同的隐私保护需求。
- 联邦学习框架: 提供了基于差分隐私的联邦学习框架,支持多种数据集(如MNIST、CIFAR-10、FEMNIST、Fashion-MNIST、Shakespeare)和模型(如CNN、MLP、LSTM)。
- 隐私预算管理: 通过简单的组合(Simple Composition)和矩会计(Moments Accountant)方法来管理隐私预算,确保在多次迭代中保持隐私保护。
- 本地更新: 每个客户端的本地更新轮数固定为1,以确保差分隐私的敏感度计算准确。
3. 项目最近更新的功能
最近更新的功能包括:
- Opacus库集成: 使用Opacus库进行每样本梯度裁剪(Per Sample Gradient Clip),限制每个样本计算的梯度范数,从而减少GPU内存的使用。
- 本地训练轮数固定: 将本地训练轮数固定为1,以避免在改变本地迭代轮数时重新计算差分隐私的敏感度。
- 新数据集支持: 增加了对更多数据集的支持,如FEMNIST和Shakespeare,丰富了实验场景。
- 代码优化: 对代码进行了优化,提高了运行效率和可读性,同时增加了更多的注释和文档说明。
该项目是一个非常有价值的开源项目,适合对差分隐私和联邦学习感兴趣的研究者和开发者使用。通过集成多种差分隐私机制和联邦学习框架,该项目为隐私保护下的分布式机器学习提供了强大的工具和资源。