初识 Federated Learning

Posted xuwanwei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初识 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-Ef?cientLearningofDeepNetworks fromDecentralizedData
  • Federated Machine Learning: Concept and Applications
  • Advances and Open Problems in Federated Learning
  • Federated Learning: Challenges, Methods, and Future Directions

以上是关于初识 Federated Learning的主要内容,如果未能解决你的问题,请参考以下文章

Linux下MySQL开启Federated引擎方法

Mysql的跨服务器 关联查询--Federated引擎

MySQLFederated引擎与Federated Server访问远程数据

MySQL存储引擎--------Federated最佳实战

mysql添加federated引擎实现dblink远程表访问

phpmyadmin 错误:2013-08-08 16:00:33 3496 [注意] 插件 'FEDERATED' 已禁用