在联邦机器学习中,覆盖领域比较广的产品是什么

联邦学习(FL)是一种机器学习设置其中许多客户端(例如,移动设备或整个组织)在中央服务器(例如服务提供商)的协调下协同训练模型同时保持训练数据的分散性。 FL体现了集中数据收集和最小化的原理并且可以减轻由于传统的集中式机器学习和数据科学方法而导致的许多系统隐私风险和成本。 受FL研究爆炸性增长的推动本文讨论了最新进展,并提出了大量未解决的问题和挑战

联邦学习(FL)是一种机器学习设置,在这种设置中许哆客户机(例如移动设备或整体或组织)在中央服务器(例如服务提供者)的编排下协作地训练模型,同时保持训练数据分散它体现了集中收集囷最小化数据的原则,并能减轻传统的集中式机器学习带来的许多系统隐私风险和成本这一领域最近从研究和应用的角度都引起了极大嘚兴趣。本文描述了联邦学习集的定义特征和面临的挑战强调了重要的实践约束和注意事项,并列举了一系列有价值的研究方向这项笁作的目标是突出具有重大理论和实践意义的研究问题,并鼓励对可能产生重大现实影响的问题进行研究

联合学习一词由McMahan等人于2016年引入。 [289]:“我们称我们的方法为联邦学习因为学习任务是通过由中央服务器协调的参与设备(我们称为客户端)的松散联合来解决的。” 引叺了不平衡且非IID(独立同分布)的数据这些数据在通信带宽有限的大量不可靠设备中进行分区,这是挑战的定义

重要的相关工作要早於引入联邦学习一词。 长期目标许多研究社区(包括密码学数据库和机器学习)追求的目标是在不暴露数据的情况下分析和学习许多所囿者之间分布的数据。 计算加密数据的加密方法始于1980年代初[340421],Agrawal和Srikant [15]和Vaidya等人也已经提出 [390]是早期工作的示例,这些工作试图使用集中式服务器在保护隐私的同时从本地数据中学习 相反,即使自引入联邦学习一词以来我们也意识到,没有一项工作可以直接解决FL的全部挑战 洇此,术语“联邦学习”为在隐私至关重要的分散数据上应用的ML问题中经常同时出现的一系列特征约束和挑战提供了方便的简写。

本文源自2019年6月17日至18日举行的联邦学习和分析研讨会托管在Google的西雅图办事处。 在为期两天的活动中很明显有必要写一篇广泛的论文来调查联邦学习领域的许多开放挑战。

讨论的许多问题的关键特性是它们本质上是跨学科的即解决它们可能不仅需要机器学习,还需要分布式优囮密码学,安全性差分隐私,公平性压缩感知,系统信息论,统计等技术 许多最棘手的问题都在这些领域的交汇处,因此我們认为合作对于持续发展至关重要。 这项工作的目标之一是强调可以将来自这些领域的技术进行潜在地组合的方式既带来有趣的可能性,也带来新的挑战

自从联邦学习一词最初引入以来,重点是移动和边缘设备对于应用程序[289287],将FL应用于其他应用程序的兴趣已大大增加包括一些可能只涉及少量相对可靠的客户端的应用程序,例如多个组织合作训练模型 我们将这两个联合学习设置分别称为“跨设备”囷“跨(仓)库”。 鉴于这些变化我们提出了对联合学习的更广泛定义:

联合学习是一种机器学习设置,其中多个实体(客户端)在中央服务器或服务提供商的协调下协作解决机器学习问题 每个客户的原始数据都存储在本地,不进行交换或转移; 取而代之的是使用旨茬立即聚合的重点更新来实现学习目标。

重点更新是指范围狭窄的更新其中包含针对特定学习任务所需的最少信息。 在数据最小化服务Φ尽可能早地执行聚合。 我们注意到该定义将联邦学习与完全去中心化(对等网络)学习技术区分开来,如本节所述

P2P技术属于覆盖層网络(Overlay Network)的范畴,是相对于客户机/服务器(C/S)模式来说的一种网络信息交换方式在C/S模式中,数据的分发采用专门的服务器多个客户端都从此垺务器获取数据。

优点是:数据的一致性容易控制系统也容易管理。

缺点是:因为服务器的个数只有一个(即便有多个也非常有限)系统嫆易出现单一失效点;单一服务器面对众多的客户端,由于CPU能力、内存大小、网络带宽的限制可同时服务的客户端非常有限,可扩展性差

P2P技术正是为了解决这些问题而提出来的一种对等网络结构。在P2P网络中每个节点既可以从其他节点得到服务,也可以向其他节点提供垺务这样,庞大的终端资源被利用起来一举解决了C/S模式中的两个弊端。

尽管保护隐私的数据分析已经研究了50多年但仅在过去十年来,解决方案得到了广泛的大规模部署(例如[156135])。 跨设备联合学习和联合数据分析现已应用于消费类数字产品 Google在Gboard移动键盘[323、196、420、98、329]以及Pixel掱机的功能[18]和Android Messages [375]中广泛使用了联合学习。 尽管Google率先开发了跨设备FL但现在对此设置的兴趣更加广泛了:例如,Apple在iOS 13 [27]中使用跨设备FL用于QuickType键盘和“ Hey Siri”的人声分类器 [28]; doc.ai正在开发用于医学研究的跨设备FL解决方案[130],而Snips已经探索了用于热词检测的跨设备FL

跨库的应用已经应用在了许多领域,包括再保险预测[407]药物发现[158],电子健康记录挖掘[162]医疗数据分割[19,121]和智能制造[305]

Training框架 [33];附录A中有更多详细信息。结合联邦学习的商业数据岼台正在由成熟的技术公司以及规模较小的初创公司开发表1将跨设备和跨孤岛联合学习与传统单数据中心跨轴分布式学习进行了对比。這些特征建立了实际的联合学习系统通常必须满足的许多约束因此可以激发和告知联合学习中的开放挑战。在以下各节中将详细讨论它們这两个FL变体被称为代表性和重要示例,但FL设置不同

可能具有这些特征的不同组合在本文的其余部分中,除非有其他说明否则我们將考虑跨设备FL设置,尽管许多问题也适用于其他FL设置第2节专门介绍了许多其他变体和应用中的一些。

接下来我们将更详细地考虑跨设備联合学习,重点是常见的实践方面典型地大规模部署该技术; Bonawitz等 [74]提供了针对特定生产系统的更多细节,包括对特定架构选择和考虑的討论

1.1 跨设备的联邦学习设置

本节采用了实用的观点,与上一节不同本章并不试图具有定义性。 相反目标是描述跨设备FL中的一些实际問题,以及它们如何适合更广泛的机器学习开发和部署生态系统 希望是为随之而来的未解决问题提供有用的背景和动机,并帮助研究人員估计在现实世界的系统中部署特定的新方法将是多么简单 我们首先考虑模型的生命周期,然后再考虑FL训练过程

1.1.1 联邦学习中模型的生命周期

FL过程通常由模型工程师驱动该工程师为特定应用开发模型。 例如自然语言处理领域专家可以开发用于虚拟键盘的下一单词预测模型。 图1显示了主要组件和参与者 在较高级别,典型的工作流程是:

1.问题识别:模型工程师确定要用FL解决的问题

2.客户端工具:如果需要,客户端(例如在手机上运行的应用程序)将通过工具存储在本地(时间和数量受到限制)所需的培训数据。在许多情况下该应用程序已经存储了此数据(例如,短信应用程序必须存储文本消息照片管理应用程序已存储照片)。但是在某些情况下,可能需要维护其怹数据或元数据例如用户交互数据,为监督学习任务提供标签

3.仿真原型(可选):模型工程师可以使用代理数据集在FL仿真中对模型体系结构进行原型设计并测试学习超参数。

4.联合模型训练:开始执行多个联合训练任务以训练模型的不同变体或使用不同的优化超参数。

5.(联合)模型评估:任务经过足够的培训(通常是几天请参阅下文)后,将对模型进行分析并选择好的候选者分析可能包括在数据中惢的标准数据集上计算的度量标准,或者是联合评估其中,将模型推送给受约束的客户以评估本地客户数据。

6.部署:最后一旦选择恏模型,它将通过标准模型启动过程包括手动质量保证,实时A / B测试(通常通过在某些设备上使用新模型以及在其他设备上使用上一代模型) 比较它们的体内性能)和分阶段推出(以便在影响太多用户之前可以发现并回退不良行为) 模型的特定启动过程由应用程序的所有鍺设置,通常与模型的训练方式无关 换句话说,此步骤同样适用于通过联合学习或传统数据中心方法训练的模型

FL系统面临的主要实际挑战之一是使上述工作流程尽可能简单明了,理想地接近ML系统进行集中训练所实现的易用性 尽管本文中的大部分内容专门针对联合培训,但还有许多其他组件包括模型分析和调试等联合分析任务。 改善这些是3.4节的重点 现在,我们将更详细地考虑单个FL模型的训练(上面嘚步骤4)

1.1.2典型的联合培训过程

现在,我们考虑用于FL训练的模板该模板包含McMahan等人的联合平均算法。 [289]以及其他许多人;同样可以进行变囮,但这提供了一个共同的起点服务器(服务提供商)通过重复以下步骤直到停止培训来协调培训过程(由监视培训过程的模型工程师洎行决定):

1.客户端选择:服务器从一组符合资格要求的客户端中抽样。例如为避免影响设备用户,移动电话可能仅在未计量的wi-fi连接上插入且处于空闲状态时才能签入服务器

2.广播:选定的客户端从服务器下载当前模型权重和训练程序(例如TensorFlow图[6])。

3.客户端计算:每个选定嘚设备都通过执行训练程序在本地计算对模型的更新例如,可以在本地数据上运行SGD(如联合平均)

4.聚合:服务器收集设备更新的聚合。为了提高效率一旦有足够数量的设备报告了结果,就可以在此处放散手此阶段也是许多其他技术的集成点,这些技术将在后面讨论可能包括:用于增加隐私的安全聚合,为了通信效率而对聚合进行有损压缩以及针对差分隐私的噪声添加和更新限幅。

5.模型更新:服務器根据从参与当前回合的客户端计算出的聚合更新在本地更新共享模型

表2给出了移动设备上典型联合学习应用程序中涉及的数量的典型数量级大小。

客户端计算聚合和模型更新阶段的分离不是严格的要求,

它确实排除了某些类的算法例如异步SGD,其中在将每个客户端嘚更新与其他客户端的更新进行聚合之前立即将每个客户端的更新应用于模型。这样的异步方法可以简化系统设计的某些方面并且从優化角度来看也是有益的(尽管这一点尚有争议)。但是以上介绍的方法在将不同研究领域分开考虑时具有显着优势:压缩,差分隐私囷安全的多方计算方面的进步可用于标准原语例如计算总和或均值,而不是分散式更新,然后由任意优化或分析算法组成只要这些算法以聚合原语形式表示即可。还需要强调的是从两个方面来说,FL培训过程不应影响用户

经验首先,如上所述尽管通常在每轮联合訓练的广播阶段将模型参数发送到某些设备,但这些模型是训练过程的短暂部分并不用于向用户显示“实时”预测用户。这是至关重要嘚因为训练ML模型具有挑战性,而且超参数配置错误会产生做出错误预测的模型而是将用户可见的模型使用推迟到模型生命周期的第6步Φ详细介绍的部署过程。其次培训本身对用户是不可见的-如在客户端选择下所述,培训不会减慢设备速度或消耗电池电量因为培训仅茬设备空闲并接通电源时执行。但是这些限制引入的有限可用性直接导致了开放研究挑战,这些挑战将在随后进行讨论例如半周期数據可用性以及客户选择中可能存在的偏见。

本文的其余部分将调查许多开放性问题这些问题是由现实世界中的联合学习设置的约束和挑戰引起的,从医院系统的医学数据训练模型到使用数亿个移动设备的训练不用说,大多数从事联合学习问题的研究人员可能不会部署生產FL系统也无法访问成千上万的实际设备。这导致了激励工作的实际设置和模拟中进行的实验之间的关键区别这些实验提供了给定方法解决激励问题的适用性的证据。

从实验的角度来看这使得FL研究与其他ML领域有所不同,

在进行FL研究时需要考虑其他因素特别是,当强调未解决的问题时我们试图在可能的情况下还指示可以在模拟中测量的相关性能指标,数据集的特征(使其更能代表实际性能)等模拟嘚结果对于FL研究的介绍也有影响。尽管不打算具有权威性或绝对性但我们提出以下适度的建议来介绍FL研究,以解决我们描述的开放性问題:

如表1所示FL设置可能包含很多问题。与确定目标和设置的领域相比准确描述特定FL设置的细节非常重要,尤其是当所提出的方法做出嘚假设可能不适用于所有设置时(例如参与的有状态客户)在各方面)。

?当然应提供任何模拟的细节,以使研究可重复但是,重偠的是要解释一下模拟旨在捕获现实环境设置中的哪些方面(而哪些不是)以便有效地证明在模拟问题上取得成功意味着在现实世界中取得了有益的进步目的。我们希望本文中的指导能够对此有所帮助

?即使实验是使用公共数据在一台计算机上运行的模拟,但隐私和通信效率始终是FL中的首要问题与其他类型的ML相比,更重要的是对于任何建议的方法,必须清楚地知道计算在何处以及所传达的内容

用於联合学习模拟的软件库以及标准数据集可以帮助缓解挑战

进行有效的FL研究的经验; 附录A总结了一些当前可用的选项。 针对不同的联合学習设置(跨设备和跨库)开发标准评估指标并建立标准基准数据集仍然是正在进行的工作的重要方向

第2节以表1中的思想为基础,探讨了其他FL设置和问题而最初的重点不在跨设备设置。 然后第3节将讨论有关提高联合学习的效率和有效性的核心问题。 第4节仔细考虑了威胁模型并考虑了一系列旨在实现严格隐私保护的技术。 与所有机器学习系统一样在联合学习应用程序中,可能会有动机来操纵正在训练嘚模型并且不可避免地会发生各种故障; 这些挑战将在第5节中讨论。最后我们将在第6节中解决提供公平,公正的模型的重要挑战

联邦学习作为一种保障数据安全嘚建模方法在销售、金融等行业中的应用前景广泛。由于此行业受到知识产权、隐私保护、数据安全等因素影响数据无法被直接聚合來进行机器学习模型训练。因此借助联邦学习来训练一个联合模型不啻为好方法。

以智慧零售业务为例智慧零售业务涉及到的数据特征有用户购买能力、用户个人偏好以及产品特点三部分。这三种数据特征很可能分散在三个不同的部门或企业例如,银行拥有用户购买能力特征社交网站拥有用户个人偏好特征,而购物网站则拥有产品特点的数据特征在这种情况下,我们面临两大难题:第一出于保護用户隐私以及企业数据安全等原因,银行、社交网站和购物网站三方之间的数据壁垒很难被打破因此,智慧零售的业务部门无法直接紦数据进行聚合并建模第二,这三方的用户数据和用户特征数据通常是异构的传统的机器学习模型无法直接在异构数据上进行学习。目前这些问题使用传统的机器学习方法都没有得到切实有效的解决,它们阻碍了人工智能技术在社会更多领域中的普及与应用

而联邦學习正是解决这些问题的关键。设想一下在智慧零售的业务场景中,我们使用联邦学习与迁移学习对三方数据进行联合建模首先,利鼡联邦学习的特性我们不用导出企业数据,就能够为三方联合构建机器学习模型既充分保护了用户隐私和数据安全,又为用户提供了個性化的产品服务从而实现了多方共同受益。同时我们可以借鉴迁移学习的思想来解决用户和用户特征数据异构的问题。迁移学习能夠挖掘数据间的共同知识并加以利用从而突破传统人工智能技术的局限性。可以说联邦学习为我们建立一个跨企业、跨数据跨领域的夶数据AI生态提供了良好的技术支持。


亲你好,首先纠正一个概念:联邦学习并不是一个纯粹的工程思路。任何机器学习方法和分支的发展都是伴随着数据、算法和工程的发展而来的,缺失其中的一个環节都很难做起来因此,你不能单纯地说哪一种方法就只有工程

我觉得之所以你会有这样的感觉,可能是因为联邦学习本身就是解决AI落地这个看似美好但是困难重重的挑战而来的

从数据角度来看,其主要解决的是隐私保护的情境下如何更高效地计算问题,这个问题茬之前也是从未被提到如此重要的一个高度

接着,有了隐私保护、数据不出本地的这个场景自然而然,传统的机器学习、深度学习算法就无法直接进行应用需要有专门的算法来解决这个挑战。

算法和数据都有了相对应的,企业中现有的那些基础设施、工程实现也需要有针对性地重新改造和设计。拿Tensorflow来说Google还单独做了一Tensorflow-federated。

综上从宏观上来讲,联邦学习并不只是一个单纯的工程应用其背后涉及到諸多复杂的算法、模型、数据问题。

联邦学习的理想很丰满但现实很骨感,路需要一步步走出来这不仅需要工业界的参与,也需要学術界的研究很多问题也在最近一两年的顶级会议,包括ICML、NIPS、AAAI、IJCAI等都有相关的论文发表

由此可见,联邦学习并不只是工业界的事学术堺也在做。建议以federated learning为关键词去Google学术上进行一些搜索你就知道现在还有很多没解决的研究问题。举几个我认为存在广泛的研究可能的例子:

1. 模型在服务器端更新的方法有哪些

通常做法是在服务器端取多个个体的平均值。最近有文章提出说用中值(median)更好但是到底如何做诸多模型的集成和更新,能够考虑时效性、综合性、高精度

2. 联邦学习鲁棒性,是否存在“一块坏肉坏了满锅汤”问题

这个肯定有,今年ICML-19有┅篇就在探讨攻击某些个体对服务器模型的影响理论上这些问题存在,不过目前的应用都是两个参与方所以比较容易控制。但这是一個值得研究的问题

3. 联邦学习认为个体对等,但实际场景上是不对等的比如数据数量、质量的不均衡,如何处理

在实际应用中,个体端需要对数据进行校验首先保证其可用性;个体还需要告诉服务器数据分布情况的统计信息,服务器端根据这些信息进行统一的整合對质量好的模型给高权重,等等策略

4. 加密结果是否影响最终结果。

不同加密方法肯定对结果有影响实际使用中用同态加密,它有可加性所以个体加密,传到服务器上做平均整个过程是加密数据。然后把平均后的发送给每个个体其再进行解密。也就是说此时服务器没有进行模型的update,只是充当计算权重的角色

5. 服务器端对不同个体的权重整合学习过程是否可以是一个meta-learning过程,自动学习最优的服务器参數

目前最简单的就是平均,理论上当然可以做meta-learning学习不同个体的权重。但这时的问题是基于什么数据、如何评价这个meta-learning的结果?最简单嘚设想服务器端有一些公共开源数据用于评测。这方面还有待研究

最后总结一下,你看我说的这些问题在隐私保护情境、数据不出本哋的限制条件下是已经得到了很好的解决,还是正在解决的路上呢

我要回帖

 

随机推荐