联邦学习(Federated Learning)介绍

参考资料:
Tensorflow官网教程:https://www.tensorflow.org/federated/
联邦学(federated learning)习生态:https://cn.fedai.org
federated learning/联邦学习:https://daiwk.github.io/posts/dl-federated-learning.html

Federated Learning的提出

Federated Learning是由Google在2016年提出,16年期间Google有关Federated Learning提出的文章为以下3个:

Jakub Konecný, H. Brendan McMahan, Daniel Ramage, and Peter Richtárik. 2016. Federated Optimization: Distributed Machine Learning for On-Device Intelligence. CoRR abs/1610.02527 (2016). arXiv:1610.02527 http://arxiv.org/abs/1610. 02527

Jakub Konecný, H. Brendan McMahan, Felix X. Yu, Peter Richtárik, Ananda Theertha Suresh, and Dave Bacon. 2016. Federated Learning: Strategies for Improving Communication Efficiency. CoRR abs/1610.05492 (2016). arXiv:1610.05492 http://arxiv.org/abs/1610.05492

H. Brendan McMahan, Eider Moore, Daniel Ramage, and Blaise Agüera y Arcas. 2016. Federated Learning of Deep Networks using Model Averaging. CoRR abs/1602.05629 (2016). arXiv:1602.05629 http://arxiv.org/abs/1602.05629

Google AI Blog

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

标准的机器学习方法要求将训练数据集中在一台机器或数据中心中。 Google建立了最安全,最强大的云基础架构之一,用于处理这些数据以改善我们的服务。现在,对于普通用户与移动设备交互就可以进行训练从而得到的模型,这种方法就是:联合学习(Federated Learning. )。

大致流程如下,首先一个手机把当前模型下载下来,然后使用本机的数据进行更新,并把这些变化summarize成a small focused update。只有这个update会通过加密上传到cloud,然后这个用户的update会和其他用户的update一起进行平均,拿来更新shared model。所有的训练数据都存在设备上,不会把个人的update存到cloud去。
在这里插入图片描述
联合学习可在确保隐私的同时,提供更智能的模型,更低的延迟和更低的功耗。这种方法的另一个直接好处是:除了提供对共享模型的更新之外,还可以立即在使用手机上改进的模型,从而为使用手机的方式提供个性化的体验。

Google在Android的Google键盘上测试Gboard中的联合学习。当Gboard显示建议的查询时,您的手机将在本地存储有关当前上下文以及是否单击建议的信息。联合学习会处理设备上的历史记录,以提出对Gboard查询建议模型下一次迭代的改进建议。
在这里插入图片描述
为了使联合学习成为可能,我们必须克服许多算法和技术挑战。在典型的机器学习系统中,诸如随机梯度下降(SGD)之类的优化算法在大型数据集上运行,该数据集在云中的服务器之间均匀地划分。这种高度迭代的算法需要低延迟,高吞吐量的训练数据连接。但是在“联合学习”设置中,数据以高度不均匀的方式分布在数百万个设备上。此外,这些设备具有较高的延迟,较低的吞吐量,并且只能间歇地用于训练。

因此有了Federated Averaging algorithm,也就是Communication-Efficient Learning of Deep Networks from Decentralized Data,能够使用比naively federated version的sgd少10-100倍的连接来训练深度网络。核心思想是使用手机上更强大的处理器,计算比普通的gradient steps更higher quality的update。这样,因为用了high quality的update,所以通过更少的迭代就可以得到一个好的模型了,所以需要的连接也更少了。

由于生成高质量模型所需的高质量更新迭代次数较少,因此训练可以使用更少的连接。由于上传速度通常比下载速度要慢得多,因此Google还开发了一种新颖的方法,可以通过使用随机旋转和量化压缩更新来将上传通信成本降低至100倍。虽然这些方法着重于训练深度网络,但Google还为高维稀疏凸模型设计了算法,该算法在点击率预测等问题上表现出色。

部署需要一个复杂的技术栈,on device training需要一个miniature(小型的)版本的tf。调度需要仔细的设计,保证当设备处于idle、充电中、有wifi等场景下,保证对用户的体验没有影响。
在这里插入图片描述
通信与聚合要求是一种secure, efficient, scalable, and fault-tolerant的方式,所以只有包括了这些的infrastructure可以被考虑使用。

参考https://eprint.iacr.org/2017/281,提出了Practical Secure Aggregation for Privacy Preserving Machine Learning,也就是一种Secure Aggregation protocol,一个coordinating server只有当100s或者1000s的用户参与了,才会对average update进行解密,因此在average之前,没有哪个个人手机的update能被观察(inspected)到。所以coordinating server只需要average update,使得Secure Aggregation能被使用。不过这个协议还没有实现出来,有希望在near future得以部署。

联合学习无法解决所有机器学习问题(例如,通过对标记的示例进行训练来学习识别不同的犬种),并且对于许多其他模型,必要的训练数据已经存储在云中(例如Gmail的培训垃圾邮件过滤器) )

Federated Learning优势
(1)数据隔离,数据不会泄露到外部,满足用户隐私保护和数据安全的需求;
(2)能够保证模型质量无损,不会出现负迁移,保证联邦模型比割裂的独立模型效果好;
(3)参与者地位对等,能够实现公平合作;
(4)能够保证参与各方在保持独立性的情况下,进行信息与模型参数的加密交换,并同时获得成长。

目前研究与应用

研究:
A Quasi-Newton Method Based Vertical Federated Learning Framework for Logistic Regression
十二月 13th, 2019

A Communication Efficient Vertical Federated Learning Framework
十二月 13th, 2019

Abnormal Client Behavior Detection in Federated Learning
十月 22nd, 2019

Real-World Image Datasets for Federated Learning
十月 14th, 2019

HHHFL: Hierarchical Heterogeneous Horizontal Federated Learning for Electroencephalography
九月 11th, 2019

Multi-Agent Visualization for Explaining Federated Learning
八月 12th, 2019

Fair and Explainable Dynamic Engagement of Crowd Workers
八月 12th, 2019

A Revenue-Maximizing Bidding Strategy for Demand-Side Platforms
五月 29th, 2019

Federated Machine Learning: Concept and Applications
二月 13th, 2019

SecureBoost: A Lossless Federated Learning Framework
一月 25th, 2019

Federated Reinforcement Learning
一月 25th, 2019

Secure Federated Transfer Learning
十二月 8th, 2018

应用: 1联邦车险定价 2联邦信贷风控 3联邦销量预测 4联邦视觉安防 5联邦辅助诊断 6隐私保护广告 7联邦自动驾驶