前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >联邦学习简介

联邦学习简介

作者头像
段清华DEAN
发布2020-08-10 10:46:19
1.3K0
发布2020-08-10 10:46:19
举报
文章被收录于专栏:AI工程AI工程

谷歌于2017年提出联邦学习的训练方法,发表了相关博客链接[1],从[1]这篇文章的标题《Federated Learning: Collaborative Machine Learning without Centralized Training Data》可以看出来谷歌对于联邦学习的基本定义是,无需通过中心化的数据,即可训练一个机器学习模型。

即假设训练数据分布在>1台不同的计算机(终端、服务器、移动设备等都可以)上,这个时候如果按照非联邦学习的方法,需要先把数据收集到同一的单一服务器(或服务器集群)中,然后统一训练,这带来的主要问题就是这种数据收集可能涉及隐私泄漏、许可协议等问题,于是提出来一种,不需要上传数据到单一服务器的训练方法。

总结起来就是:部分模型、部分模型参数(或梯度扽个)可共享,数据不可共享。因为共享的是模型而不是数据,可以最大限度避免数据泄漏,相比数据脱敏的相关算法(如K-annoymity),保密性更强。

谷歌提出的联邦学习思想中,可以参考另一个介绍文章[2],给出的例子是toC的训练,例子中数据保存在个人移动设备中(手机),不需要数据上传,大体的思路是:

(图片引用自谷歌博客)

  • A节点为用户设备,数据保存其中,并且不上传到其他节点
  • B节点是来自不同用户设备的模型参数聚合
  • C节点可以认为是一个统一的中央服务器(或集群),用来统一更新模型

大体流程是:

  1. 首先C初始化一个空模型
  2. C将当前的模型参数传输到A
  3. A设备中根据数据,计算模型参数(或梯度等)
  4. A设备将更新后的模型参数(或梯度)上传
  5. B对来自不同设备的模型参数(或梯度)聚合,例如简单取平均值
  6. C更新根据B聚合后的结果,更新模型
  7. 回到第2.步,循环往复

从来自wiki的图片也可以看出来,大体过程:

(图片引用自维基百科)

引申发展

在谷歌提出联邦学习问题之后,结合其他如隐私数据等研究,一部分人,如微众银行与后续他们组织的fedai等组织,以及相关提出的白皮书[3][4],给出了提出了一些新的应用场景。

主要区别是谷歌提出了主要面向C端用户的方法,而部分人希望能将之扩展到B端机构,例如多个拥有不同程度重叠数据方。

谷歌提出的toC应用中,每个训练终端相当于有且只有一个用户(因为是手机嘛),但是用户特征高度重叠(例如都是搜索引擎点击记录),这种情况下被[4]称为横向联邦学习。

例如某城市内的银行拥有这个城市很多商户的贷款、违约等信息,这个城市内运营的电商公司有这个城市的这些商户的销量、差评等数据,但是银行和电商公司都不能直接互联数据,但是希望能共享同一个信用评级模型。即用户重叠,但用户特征不重叠。这种情况下被文献[4]称为纵向联邦学习。

Reference

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引申发展
  • Reference
相关产品与服务
联邦学习
联邦学习(Federated Learning,FELE)是一种打破数据孤岛、释放 AI 应用潜能的分布式机器学习技术,能够让联邦学习各参与方在不披露底层数据和底层数据加密(混淆)形态的前提下,通过交换加密的机器学习中间结果实现联合建模。该产品兼顾AI应用与隐私保护,开放合作,协同性高,充分释放大数据生产力,广泛适用于金融、消费互联网等行业的业务创新场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档