前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >什么是Federated Learning(联邦学习)?

什么是Federated Learning(联邦学习)?

原创
作者头像
enenbobu
修改2019-08-19 17:16:22
11.3K0
修改2019-08-19 17:16:22
举报
文章被收录于专栏:数据探索君

什么是Federated Learning(联邦学习)

federated learning是一种训练数据去中心化的机器学习解决方案,最早于2016年由谷歌公司提出,目的在于通过对保存在大量终端的分布式数据开展训练学习一个高质量中心化的机器学习模型,解决数据孤岛的问题。

Federated Learning示意图
Federated Learning示意图

federated learning不断循环以下步骤,直至训练出最终模型:

  1. 在符合条件的用户集合中挑选出部分用户,分别从服务器端下载当前的模型;
  2. 被选择的用户用各自的数据训练模型;
  3. 各个用户将训练好的模型传输给服务器;
  4. 服务器将接收到的各个用户的模型聚合成一个最终的模型。

2个参与角色:用户(client)- 服务器(server)

用户的特点:

  • 数据存在用户端,不同用户之间以及用户与服务器之间的数据不共享(最大的特点)
  • 数量大
  • 用户网络状态允许不稳定,可以随时被选择加入或退出训练
  • 用户数据的不平衡性,有些用户训练数据量大,有些用户训练数据少
  • 典型的用户:比如手机终端

服务器的特点:

  • 通过迭代方式不断聚合来自不同用户训练好的模型,训练出一个最终的模型。

如何保证安全性

各个用户将训练好的模型加密后传输给服务器,服务器仅仅可以将接收到的来自多个用户聚合后才能成功解密,而无法对单个模型解密。用户端的加密算法通过添加零和掩码来加扰训练好的模型结果,服务器端聚合各个模型后噪声互相抵消,从而无法反推出各个用户模型的训练数据达到安全性保护的效果。

federated learning的优点

  • 保护用户的隐私,服务器不获取用户的数据
  • 分布式的数据架构,减轻数据集中存储的压力

federated learning的局限性

  • 需要用户对齐或特征对齐才能共同训练模型
  • 模型传输(信息传递)存在一定的局限
  • 用户获取的间歇性
  • 数据获取的间歇性
  • 大规模的分布式网络结构带来压力

当前开源框架

目前的federated learning 开源框架主要有两个:

  • 谷歌的TensorFlow Federated (TFF)框架
  • 微众银行的federated learning开源框架FATE

[Referent]

[1] Federated Learning: Collaborative Machine Learning without Centralized Training Data, 2017. https://ai.googleblog.com/2017/04/federated-learning-collaborative.html.

[2] Federated Learning. https://federated.withgoogle.com.

[3] Federated Learning: Strategies for Improving Communication Efficiency, 2016. https://ai.google/research/pubs/pub45648.

[4] 《联邦学习白皮书 V1.0》https://img.fedai.org.cn/fedweb/1552917119598.pdf.

[5] Federated Learning: Machine Learning on Decentralized Data (Google I/O'19).

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是Federated Learning(联邦学习)
    • 用户的特点:
      • 服务器的特点:
      • 如何保证安全性
      • federated learning的优点
      • federated learning的局限性
      • 当前开源框架
      相关产品与服务
      云服务器
      云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档