联邦学习简介

阅读原文算法

什么是联邦学习
联邦学习能够在不直接访问训练数据的状况下构建机器学习系统。数据保留在原始位置,这有助于确保隐私并下降通讯成本。编程

为何须要联邦学习
隐私问题(我不想分享个人本身的照片),联邦学习能够不将你的数据共享出去。安全

监管须要(HIPAA,GDPR等),保护用户私有数据,使用联邦学习能够将模型下发到用户侧进行训练。服务器

解决数据孤岛问题,如:互联网企业、银行间数据不可能共享,模型使用联邦学习能够在各家企业、银行的私有数据上进行训练。网络

工程障碍,数据量太大,网络链接昂贵,速度慢或不可靠等,采用联邦学习能够避免这些问题。架构

联邦学习能作什么
如今让咱们看一下你能够用联邦学习作些什么的一些例子。框架

1.智能手机机器学习

机器学习具备改善智能手机用户体验的巨大潜力。应用程序能够学习发现好的宝贝照片,并主动提供与朋友和家人分享。他们能够更容易地编写更有可能收到快速回复的电子邮件。经过准确地建议下一个短语,不管语言如何,他们均可以更快速,更轻松地撰写短信。分布式

可是,除了将这些数据从链接速度较慢的设备中取出的实际挑战以外,某些数据的我的方面(人们输入的内容,他们旅行的地点,他们访问的网站)使其成为问题。用户不肯意共享这些敏感数据,拥有它会使技术公司面临安全风险和监管负担。这些特性使其很是适合联邦学习。用例很是引人注目,谷歌的研究人员一般会将其发明归功于此,三星工程师也提出了重要的想法。ide

2.卫生保健

医疗行业为开发有效的治疗方法和预测结果提供了巨大的经济激励。可是,将机器学习应用于这些问题所需的培训数据固然很是敏感。实际和潜在隐私侵犯的后果可能很严重。

经过将培训数据保存在患者或提供者手中,联合学习有可能协做构建拯救生命并产生巨大价值的模型。总部位于巴黎的Owkin是咱们在研究期间与之交谈的最雄心勃勃的联邦学习用户之一。它们提供了一个平台,使医疗保健提供商可以就各类医疗保健问题进行合做。

3.预测性维护

假设制造商想要为他们销售的设备开发预测性维护模型。该模型须要培训数据 - 可是为了得到该数据而对于制造商来讲,测试许多涡轮机直到它们失败为止。若是制造商的客户要发送这样的数据,那么制造商的成本会下降。更重要的是,实际客户体验的失败将比制造商在工厂实验中看到的更能表明现实世界的使用。简而言之,从客户那里得到的培训数据会更便宜,更好。

4.分散数据的聚合分析

一个用户在多家银行借贷,可是多家银行数据不通,经过联邦学习的聚合分析能够分析出用户是否在多家银行借贷,从而避免风险。

  1. URL输入建议

Firefox实施的联邦学习系统,是改进Firefox URL栏中显示的部分建议。

Firefox URL栏显示用户键入搜索查询时的建议。这些建议的一部分由搜索引擎直接提供。其余由Firefox自己生成,例如基于用户的历史记录,书签或打开的选项卡。咱们尝试使用咱们的项目优化历史记录和书签建议。

更多信息,请访问Federated Fearning For Firefox/

如何进行联邦学习
下面给出一些公司的解决方案:

  1. OpenMend

从技术角度来看,OpenMined将联邦学习的原理与同态加密和区块链智能合约等尖端技术相结合,使协做模型可以以彻底分散的方式实现深度学习应用。

Open-Mined-Architecture

OpenMined架构基于四个基本构建块:

Capsule

用于生成公钥和私钥的PGP服务器,以保证Sonar神经网络的不一样组件的完整性。

Sonar

OpenMined平台的核心,Sonar是一个联邦学习服务器,运行在区块链上,用于控制深度学习应用程序不一样部分的执行。该库与Capsule通讯以生成PGP密钥,并将最终的,通过培训的结果发送回Data Scientist。它还与矿工沟通,收集Gradients并相应地分发Bounty。

Mine

该组件托管特定用户的各个数据存储库。地雷常常与声纳相互做用,以探测新的神经网络。上传到矿山的数据越多,它与Sonar的相关性就越高。

Syft

包含神经网络的库,能够在加密状态下进行训练(这样矿工就没法窃取他们下载的神经网络进行训练)。

更多信息,请访问 OpenMined Github

  1. TensorFlow_Federated(TFF)

TensorFlow Federated(TFF)是一个开源框架,用于机器学习和分散数据的其余计算。TFF的开发旨在促进联邦学习(FL)的开放式研究和实验,这是一种机器学习方法,在这种方法中,共享的全球模型在许多参与的客户中进行培训,这些客户将他们的培训数据保存在本地。例如,FL已被用于训练移动键盘的预测模型,而无需将敏感的键入数据上载到服务器。

TFF使开发人员可以在其模型和数据上模拟所包含的联邦学习算法,并尝试新颖的算法。TFF提供的构建块还可用于实现非学习计算,例如对分散数据的聚合分析。TFF的界面分为两层:

1)Federated Learning(FL)API

该层提供了一组高级接口,容许开发人员将所包含的联合培训和评估实现应用于现有的TensorFlow模型。

2)Federated Core(FC)API

该系统的核心是一组低级接口,经过在强类型函数编程环境中将TensorFlow与分布式通讯运算符相结合,简洁地表达新的联合算法。这一层也是咱们创建联邦学习的基础。

更多信息,请访问 Tensorflow Federated

  1. Cloudera Federated

Cloudera 提供一个交互式联合学习原型,Turbofan Tycoon ,它是Cloudera Fast Forward Labs的研究原型,随着cloudera的联邦学习报告而创建。它使用逼真的涡轮风扇数据来显示使用联邦学习预测模型的好处。

更多信息,请阅读An introduction to Federated Learning

结论联邦学习的明显好处是在大量设备上分配知识质量,而无需集中用于优化和训练模型的数据。该方法还可以在保持训练数据集的隐私的同时提升集中式机器学习模型的质量。可是,联邦学习并不是没有问题。与任何其余软件架构同样,分散化在工做协调,管理或监控等领域引入了挑战。若是不出意外,联邦学习将是传统的集中式监督和半监督学习架构的一个补充,而不必定是替代。