联邦学习
看了很多联邦学习相关的论文,今天从头到尾顺一遍。先把之前看过的大致的总结一下,方便写论文的时候参考,后面再补充。
联邦学习的思想
在各个客户端保留本地数据的前提下共同训练一个模型。
分类:横向联邦、纵向联邦、迁移学习
横向联邦:适用于数据特征重合度大的客户端。例如不同地区的银行,他们所拥有的共同客户数量较少,但是客户的属性大部分一致。
纵向联邦:适用于用户重叠部分较多的客户端。例如同一地区的银行和超市,他们所拥有的客户大多都为本地的用户,重合度较大。
迁移学习:以上两种都不满足。用户和用户属性重合度都不大。
除了上述分类方法,还可以按有无第三方中心服务器。
有第三方中心服务器参与即中心化:
1.服务器初始化模型;
2.各个客户端从服务器端下载模型初始化参数
3.利用本地数据进行训练,将训练的结果即模型梯度上传到服务器;
4.服务器等待所有客户端将结果上传之后,对这些参数进行平均。
5.客户端从服务器端下载平均后的参数。
6.重复3到5步骤直至模型收敛。
没有第三方服务器即去中心化。
客户端在本地进行训练,并将模型梯度发给其他客户端,同时接收其他客户端的参数。
隐私保护
已有论文证明模型反演攻击,可以通过对模型梯度的分析获取数据中的敏感信息。
M. Fredrikson, S. Jha, T. Ristenpart, Model inversion attacks that exploit confidence infor-
mation and basic countermeasures, in: Proceedings of the 22nd ACM SIGSAC Conference on
Computer and Communications Security, 2015, pp. 1322–1333.
所以在传输时应对模型参数进行加密,联邦学习中提到了差分隐私、同态加密、安全多方计算(不经意传输、秘密共享)。
问题
1.云服务器与客户端之间的通信开销大
2.参数加密后对模型性能存在影响
通信改进
- FedAVG:客户端在本地经过多次迭代训练达到收敛之后,再将结果上传服务器;
每次只选取部分客户端参与训练。
Mcmahan H B , Moore E , Ramage D , et al. Communication-Efficient Learning of Deep Networks from Decentralized Data[J]. 2016. - 提出上篇论文中的方法会影响模型的准确率,并提出通过共享5%的数据即可大大提高准确率。
Liu L , Zhang J , Song S H , et al. Client-Edge-Cloud Hierarchical Federated Learning[J]. 2019.
采用异步通信方式
服务器不用等待所有的客户端数据上传后再平均,即收到一个计算一个。
->---------------------------->引出新问题
即收到的梯度参数时有延迟的会影响整体的训练结果。 - 利用延迟函数改变梯度参数的权重,延迟度大的梯度权重小,延迟度小的梯度权重大。
Xie, Cong, Koyejo, Sanmi, Gupta, Indranil. Asynchronous Federated Optimization[J].
https://blog.csdn.net/GJ_007/article/details/105121452 - 论文对ASGD算法进行了改进,对具有延迟的梯度设计了新的更新规则。
Asynchronous Stochastic Gradient Descent with Delay Compensation
https://blog.csdn.net/GJ_007/article/details/105595359 - 根据客户端用的资源,对其资源进行评估,选择资源适合训练任务的客户端参与训练。使用MEC框架,边缘计算。
Nishio T , Yonetani R . Client Selection for Federated Learning with Heterogeneous Resources in Mobile Edge[J]. 2018. - 也是根据客户端的异构性进行分配选择。
Fair Resource Allocation in Federated Learning
https://blog.csdn.net/GJ_007/article/details/106114134
引入边缘计算 - 加入边缘服务器使用三层云-边缘服务器-边缘设备结构。
Client-Edge-Cloud Hierarchical Federated Learning
https://blog.csdn.net/GJ_007/article/details/104943759 - 针对预测类问题提出的方法,同样是采用MEC框架。客户端将计算任务发送到最近的NE,如有满足条件应用程序则进行计算,若没有则转发给附近的NE,若还没有则发送给云端。
Federated learning framework for mobile edge computing networks
https://blog.csdn.net/GJ_007/article/details/105447321 - 加入剪枝策略。联邦剪枝和一次性剪枝。分别为每一个或多个联合后进行剪枝、只在服务器进行初始剪枝。初始剪枝根据服务器是否有样本再分为基于样本的剪枝和无样本剪枝。
Jiang Y , Wang S , Ko B J , et al. Model Pruning Enables Efficient Federated Learning on Edge Devices[J]. 2019.
https://blog.csdn.net/GJ_007/article/details/105595239
加密改进
- 具有自适应梯度下降的差分私有卷积神经网络(DPAGD-CNN)[10]算法,用于每个用户参数的更新。可以根据梯度下降方向自适应地添加噪声(实现差分隐私),以便更好的模型性能。----对模型精度影响小。
DP-FL: a novel differentially private federated learning framework for the unbalaned data - 基于ELGamal加密和Diffie-Hellman密钥交换设计的双密钥机制的ELGamal加密。—减少计算,减小传输的密文大小
Highly efficient federated learning with strong privacy preservation in cloud computing
扩展
- 去中心化分布式结构
Asynchronous Decentralized Parallel Stochastic Gradient Descent - 联邦学习在入侵检测方面的应用
https://blog.csdn.net/GJ_007/article/details/106244502
3.NO-IID数据集介绍
https://blog.csdn.net/GJ_007/article/details/104768415