What is Federated Learning?
联邦学习基础
0x01 什么是联邦学习
-
一种加密的分布式学习
联邦学习本质上也是一种分布式机器学习技术/框架,但是他和和传统分布式系统还是存在明显差异:
1.Server与Worker的关系:分布式系统中Server对Worker是完全所有权/控制权,但是在联邦学习中是是相对松散的,并没有所有权/控制权。这也导致了额外的挑战。
2.不同设备数据的差异性:分布式机器学习的每个节点基本上是均衡的,而在联邦学习的架构里,Worker节点与节点之间的数据差距是无法保证的。在联邦学习架构中,不同worker,还有server不是在局域网内部,需要消耗大量的网络,并需要考虑网络的稳定性。
-
与传统的分布式学习的区别:
- 用户对自己的设备和数据有绝对控制权
- Worker 节点不稳定:计算性能、网络延迟
- 通信开销高于计算开销
- worker节点的数据non-IID(非独立同分布)
- 数据集是不平衡的(有的人喜欢拍风景、有的喜欢自拍;用户使用APP频率不同)
0x02 常见过程
普通过程:
- Server —> Worker:参数w
- Worker_i:利用w在本地数据集上训练,计算梯度;将发送给Server
- Server:计算;更新
Federated Averaging Algorithm:牺牲算力换取时间开销的降低
- Server —> Worker:参数w
- Worker重复以下循环:例如:5 epochs
- 利用w训练模型、并计算梯度
- 本地更新:
- Worker —> Sever:
- Server:接受数据;并更新$ w = \frac{1}{m}(w_i+…+w_m)$
0x03 联邦学习总结
- 分布式学习
- 目标:解决数据孤岛和隐私问题,在不分析数据的前提下、完成模型的训练;
- 挑战:
- non-IID data
- slow communication
0x04 探索方向
- Communication-efficient algorithms
- Defense against privacy leakage
- Robustness to Byzantine faults
0x05 常见方式
- 横向联邦:特征空间足够、样本空间不足
- 纵向联邦:样本空间足够、特征空间不足
- 迁移联邦:特征和样本都不足,利用迁移学习
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.