初识 Federated Learning
作者:互联网
背景
- 设备中有很多数据,可以用来训练模型提高用户体验。但是数据通常是敏感或者庞大的。
- 隐私问题
- 数据孤岛:每个公司都有数据,淘宝有你的购买记录,银行有你的资金状况,它们不能把数据共享,都是自己训练自己有的数据,是一个个数据孤岛。
联邦学习的概念
- 联邦机器学习是一个机器学习框架,能有效帮助多个机构在满足用户隐私保护、数据安全和政府法规的要求下,进行数据使用和机器学习建模。
- 解决数据孤岛问题。
- 建立基于分布式数据集的机器学习模型。 跨越多个设备,同时防止数据泄漏。
- 像一个松散的联邦。每个客户端有自己的数据,自己训练,保持一定的独立性,但是又能共同建模。
We term our approach Federated Learning, since the learning task is solved by a loose federation of participating devices (which we refer to as clients) which are coordinated by a central server.
场景
分类 | 跨孤岛 | 跨设备 |
---|---|---|
例子 | 医疗机构 | 手机端应用 |
节点数量 | 1~100 | \(1-10^{10}\) |
节点状态 | 几乎稳定运行 | 大部分结点不在线 |
主要瓶颈 | 计算瓶颈和通信瓶颈 | WiFi速度、设备不在线 |
Yang分类 | 横向/纵向 | 横向 |
联邦优化的特点
-
联邦优化:Federated Optimization, 隐含在联邦学习中的优化问题
-
与传统的分布式优化问题相比的特点:
- Non-IID
- Unbalanced
- Massively distributed
- Limited communication
分布式训练 联邦学习 数据分布 集中存储不固定,可以任意打乱、平衡地分配给所有客户端 分散存储且固定,数据无法互通、可能存在数据的Non-IID(非独立同分布) 节点数量 1~1000 \(1-10^{10}\) 节点状态 所有节点稳定运行 节点可能不在线 决策权 工作节点没有决策权,都由中央节点控制 本地数据有完全自治权,可以决定何时加入联邦学习
联邦优化的一个经典算法FedAvg
FedAvg 流程
- Client selection:server选一些符合条件的客户端。ex: 有wifi、空闲和连接了电源以避免影响用户对客户端的使用。
- Broadcast:被选中的客户端从server下载最新的模型参数和训练程序。
- Client computation:每个选中的客户端利用本地的数据计算并更新模型。
- Aggregation:server收集各个客户端的更新并汇总。 为了更高效,一旦达到了足够数量,Stragglers可能会被放弃。
- Model update:server更新本地的模型。
Communication-efficiency
Local Updating
- 可以减少通信的总轮数
Compression Schemes
- 模型压缩方案(如稀疏化、子采样和量化)可以显著减少每轮通信的消息大小。
Decentralized Training
- 在数据中心环境中,当在低带宽或高延迟的网络上操作时,去中心化训练被证明比中心化训练更快;
- 在联邦学习中,去中心化算法理论上可以降低中央服务器上的高通信成本
Robust
- 现代机器学习系统比较容易受到各种错误的影响。
- 非恶意性错误
- 预处理流程中的漏洞
- 噪音过强的训练标签
- 不可靠的用户
- 旨在破坏系统训练过程和部署流程的显示攻击
参考文献
- 网络资源
- Communication-EfficientLearningofDeepNetworks fromDecentralizedData
- Federated Machine Learning: Concept and Applications
- Advances and Open Problems in Federated Learning
- Federated Learning: Challenges, Methods, and Future Directions
标签:训练,Federated,初识,Learning,联邦,数据,节点,客户端 来源: https://www.cnblogs.com/xuwanwei/p/13130196.html