联邦学习简介

2020 年 8 月 6 日 AINLP

谷歌于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

  • [1]https://ai.googleblog.com/2017/04/federated-learning-collaborative.html

  • [2]https://blog.tensorflow.org/2019/03/introducing-tensorflow-federated.html

  • [3]https://www.fedai.org/

  • [4]https://aisp-1251170195.cos.ap-hongkong.myqcloud.com/wp-content/uploads/pdf/%E8%81%94%E9%82%A6%E5%AD%A6%E4%B9%A0%E7%99%BD%E7%9A%AE%E4%B9%A6_v2.0.pdf

  • https://blog.csdn.net/cao812755156/article/details/89598410

  • https://www.tensorflow.org/federated/

  • https://github.com/WeBankFinTech/FATE

  • https://en.wikipedia.org/wiki/Federated_learning

  • https://blog.csdn.net/Mr_Zing/article/details/100051535


推荐阅读

这个NLP工具,玩得根本停不下来

征稿启示| 200元稿费+5000DBC(价值20个小时GPU算力)

完结撒花!李宏毅老师深度学习与人类语言处理课程视频及课件(附下载)

从数据到模型,你可能需要1篇详实的pytorch踩坑指南

如何让Bert在finetune小数据集时更“稳”一点

模型压缩实践系列之——bert-of-theseus,一个非常亲民的bert压缩方法

文本自动摘要任务的“不完全”心得总结番外篇——submodular函数优化

Node2Vec 论文+代码笔记

模型压缩实践收尾篇——模型蒸馏以及其他一些技巧实践小结

中文命名实体识别工具(NER)哪家强?

学自然语言处理,其实更应该学好英语

斯坦福大学NLP组Python深度学习自然语言处理工具Stanza试用

关于AINLP

AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLPer(id:ainlper),备注工作/研究方向+加群目的。


阅读至此了,分享、点赞、在看三选一吧🙏

登录查看更多
5

相关内容

联邦学习(Federated Learning)是一种新兴的人工智能基础技术,在 2016 年由谷歌最先提出,原本用于解决安卓手机终端用户在本地更新模型的问题,其设计目标是在保障大数据交换时的信息安全、保护终端数据和个人数据隐私、保证合法合规的前提下,在多参与方或多计算结点之间开展高效率的机器学习。其中,联邦学习可使用的机器学习算法不局限于神经网络,还包括随机森林等重要算法。联邦学习有望成为下一代人工智能协同算法和协作网络的基础。
专知会员服务
123+阅读 · 2020年8月7日
【微众银行】联邦学习白皮书_v2.0,48页pdf,
专知会员服务
163+阅读 · 2020年4月26日
【中国人民大学】机器学习的隐私保护研究综述
专知会员服务
130+阅读 · 2020年3月25日
最新《分布式机器学习》论文综述最新DML进展,33页pdf
专知会员服务
117+阅读 · 2019年12月26日
联邦学习最新研究趋势!
AI科技评论
52+阅读 · 2020年3月12日
打破数据孤岛:联邦学习近期重要研究进展
机器之心
9+阅读 · 2019年9月30日
破解数据孤岛壁垒,三篇论文详细解读联邦学习
AI科技评论
24+阅读 · 2019年5月7日
联邦学习或将助力IoT走出“数据孤岛”?
中国计算机学会
20+阅读 · 2019年3月16日
“联邦学习”实现“共同富裕”?来TF“共同富裕”!
中国计算机学会
5+阅读 · 2019年3月12日
杨强教授:AI算法重点转向关注数据安全隐私
极市平台
11+阅读 · 2019年2月17日
Arxiv
43+阅读 · 2019年12月20日
Advances and Open Problems in Federated Learning
Arxiv
17+阅读 · 2019年12月10日
One-Shot Federated Learning
Arxiv
9+阅读 · 2019年3月5日
Arxiv
3+阅读 · 2018年11月14日
VIP会员
相关论文
Top
微信扫码咨询专知VIP会员