前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >想了解风头正劲的联邦学习?这篇包含400多个参考文献的综述论文满足你

想了解风头正劲的联邦学习?这篇包含400多个参考文献的综述论文满足你

作者头像
机器之心
发布2020-02-12 15:16:04
1.2K0
发布2020-02-12 15:16:04
举报
文章被收录于专栏:机器之心机器之心

选自arXiv

作者:Peter Kairouz 等

机器之心编译

参与:魔王、杜伟

联邦学习(Federated Learning,FL)指多个客户端在一个中央服务器下协作式地训练模型的机器学习设置,该设置同时保证训练数据去中心化。联邦学习使用局部数据收集和最小化的原则,能够降低使用传统中心化机器学习和数据科学方法带来的一些系统性隐私风险和成本。近期社区对联邦学习的研究出现爆发式增长,这篇论文探讨了联邦学习的近期进展,并展示了该领域所面临的开放性问题和挑战。本论文作者来自澳大利亚国立大学、CMU、康奈尔大学、谷歌、中国香港科技大学等机构。

原论文篇幅较长,机器之心进行了摘要编译。

论文链接:https://arxiv.org/pdf/1912.04977.pdf

引言

联邦学习指多个客户端(如移动设备或整个组织)在一个中央服务器(如服务提供商)下协作式地训练模型的机器学习设置,该设置同时保证训练数据去中心化。联邦学习使用局部数据收集和最小化原则,降低传统中心化机器学习方法带来的一些系统性隐私风险和成本。

近期该领域在研究和应用层面都受到了极大关注。这篇论文将介绍联邦学习的定义性特征和面临的挑战,重点介绍重要的实践局限和考量因素,并列举大量珍贵的研究方向。本论文旨在提出具备重大理论和实践意义的研究问题,鼓励大家对这些问题展开研究,进而为现实世界带来巨大影响。

联邦学习这一术语由 McMahan 等人在 2016 年首次提出:「我们将该方法命名为联邦学习,因为该学习任务是由多个参与设备(即客户端)的松散联邦在中央服务器的协调下解决的。」在大量通信带宽有限的不可靠设备上对不平衡和非独立同分布(non-IID)数据执行分割,这被认为是联邦学习面临的核心挑战。

谷歌研究科学家 H. Brendan McMahan。

在「联邦学习」这一术语问世之前,已经出现大量相关研究工作。很多研究社区(包括密码学、数据库和机器学习)追寻的长期目标是:在不暴露数据的前提下,分析和学习分布于多个数据拥有者的数据。计算加密数据的加密方法最早出现于 20 世纪 80 年代早期,Agrawal 和 Srikant [15] 以及 Vaidya 等人 [390] 是使用中央服务器学习本地数据同时保护隐私的早期研究。

然而,即使在「联邦学习」这一术语出现以后,我们仍然发现没有一项研究能够直接解决联邦学习面临的全部挑战。因此,「联邦学习」这一术语简洁地描述了基于去中心化数据(这些数据具备极高的隐私性)的应用机器学习问题的特点、局限和挑战。

联邦学习的发展在于各学科的合作

2019 年 6 月 17-18 日,在谷歌的西雅图办公室举办了一场关于联邦学习的研讨会,本论文基于这次研讨会写就。在为期两天的研讨会中,对调研联邦学习领域众多开放性挑战的综述论文的需求逐渐变得明晰。

研讨会上讨论的很多问题都有一个核心特性:它们本质上是跨学科的。解决这些问题不仅需要机器学习,还需要分布式优化、加密学、安全、差分隐私、公平性、压缩感知、系统、信息论、统计学等学科的技术。最难的问题出现在这些学科的交叉领域,因此本论文认为合作是促进联邦学习领域发展的必经之路。本论文的目标之一是:强调结合这些领域技术的方式,带来有趣的可能性和新的挑战。

「联邦学习」这一术语刚出现时强调移动和边缘设备应用,现在人们对将联邦学习应用到其他应用的兴趣显著增长,包括一些涉及少量相对可靠客户端的应用,如多个组织合作训练一个模型。研究者将这两种联邦学习设置分别称作「跨设备」(cross-device)和「cross-silo」。基于这些变体,本论文对联邦学习给出了一个更宽泛的定义:

联邦学习是多个实体(客户端)协作解决机器学习问题的机器学习设置,它在一个中央服务器或服务提供商的协调下进行。每个客户端的原始数据存储在本地,无法交换或迁移,联邦学习利用局部更新(用于立即聚合 (immediate aggregation))来实现学习目标。

局部更新(focused update)是仅限于包含特定学习任务最少必需信息的更新。聚合应在数据最小化服务中尽可能早地执行。我们注意到,该定义将联邦学习与完全去中心化的(peer-to-peer)学习技术区分开来。

跨设备 FL、Cross-Silo FL 和传统单数据中心分布式学习

关于保护隐私的数据分析,这方面的研究已经进行了 50 余年,但在最近十年才出现可以大规模部署的解决方案。现在,跨设备联邦学习和联邦数据分析已经在消费者数字产品中得到应用。谷歌在 Gboard 移动键盘、Pixel 手机功能和 Android Messages 中广泛使用联邦学习。谷歌在跨设备联邦学习领域遥遥领先,但目前更广泛的群体对该领域产生了兴趣,例如:苹果在 iOS 13 系统中使用跨设备联邦学习,如 QuickType 键盘和「Hey Siri」的人声分类器等应用;doc.ai 正在开发适合医疗研究的跨设备联邦学习解决方案;Snips 探索针对热词检测的跨设备联邦学习。

cross-silo 应用也在多个领域出现,包括再保险业务中的金融风险预测、药物研发、电子病历挖掘、医疗数据分割和智能制造。

对联邦学习技术不断增长的需求带来了大量可用的工具和框架,包括 TensorFlow Federated [38]、Federated AI Technology Enabler [34]、PySyft [342]、Leaf [35]、PaddleFL [36] 和 Clara 训练框架 [33](详情参见附录 A)。大型科技企业和小型创业公司都在打造囊括联邦学习技术的商业数据平台。

下表 1 从多个维度对比了跨设备联邦学习、cross-silo 联邦学习和传统的单数据中心分布式学习。这些特征构建了联邦学习实际系统必须满足的一些约束,从而促进联邦学习的发展,找到其面临的开放性挑战。

表 1:联邦学习 vs. 单数据中心分布式学习的典型特征。跨设备和 cross-silo 联邦学习是 FL 领域的两个分支,但并非全部。该表将联邦学习的主要定义性特征用粗体字着重显示,不过其他特征对确定哪种技术可用也很关键。

这两种联邦学习变体是联邦学习领域中的代表性和重要示例,而不同的联邦学习设置可能具备不同的特征组合。除特别注明,本论文剩余内容主要考虑跨设备联邦学习设置,不过其中的一些问题也适用于其他联邦学习设置。本文第 2 章介绍了联邦学习的其他变体及应用。

接下来,我们来更详尽地探讨跨设备联邦学习,主要从典型大规模部署这一实践层面出发。Bonawitz 等人 [74] 对特定生产系统提供了更加详尽的介绍,包括对特定架构的选择和考量。

跨设备联邦学习设置

本章从应用角度出发,介绍跨设备联邦学习中出现的一些实际问题,以及如何将它们融入到更宽泛的机器学习开发和生态系统部署中。希望本章能够为下文介绍联邦学习的开放性问题提供有用的语境和动机,同时帮助研究人员估计在现实系统中直接部署特定新方法的可行性。在探讨联邦学习训练流程之前,我们先来看模型的生命周期。

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

联邦学习通常由为特定应用开发模型的模型工程师来驱动。例如,自然语言处理工程师可能为虚拟键盘开发「下一个单词预测模型」。下图 1 展示了其主要组件和参与者:

图 1:联邦学习训练模型的生命周期,以及联邦学习系统中的多个参与者。第 4 章将从威胁模型的角度再次介绍该图。

整体来看,其典型工作流程如下所示:

  1. 问题识别:模型工程师找出要使用联邦学习解决的问题;
  2. 客户端设置:如有需要,将客户端(如在手机上运行的 app)设置为在本地存储必要的训练数据(尽管时间和数量都存在限制)。在很多案例中,app 已经存储了数据(如文本短信 app 必须存储文本信息,照片管理 app 存储照片)。但是,在另一些案例中,还需要保留额外的数据或元数据,如用户交互数据,以为监督学习任务提供标签;
  3. 模拟原型开发(可选):模型工程师可能为模型架构开发原型,并用代理数据集(proxy dataset)在联邦学习模拟环境中测试学习超参数;
  4. 联邦模型训练:启动多个联邦训练任务来训练模型的不同变体,或者使用不同的优化超参数;
  5. (联邦)模型评估:在任务经过充分训练后(通常需要数天),分析模型并选择优秀的候选模型。分析可能包括在数据中心的标准数据集上计算得到的度量,或者模型在留出客户端上评估本地客户端数据的联邦评估结果;
  6. 部署:最后,在选择好模型之后,就要进入标准的模型部署流程了,该流程包括手动质量保证、实时 A/B 测试(在一些模型上使用新模型,在另一些模型上使用之前的模型,然后对比其性能)以及分阶段部署(staged rollout,这样可以在发现较差行为时及时回退,以免影响过多用户)。模型的特定安装流程由应用的所有者设置,通常独立于模型训练过程。也就是说,对使用联邦学习或传统数据中心方法训练得到的模型,都可以同样地使用该步骤。

联邦学习系统面临的主要实际挑战之一是:尽可能简化上述工作流程,使其完美靠拢使用中心化训练方式得到的易用机器学习系统。尽管本论文主要关注联邦学习,但也会涉及其他组件,包括模型评估和 debug 等联邦分析任务。接下来,我们将详细介绍整个联邦学习模型的训练过程(即上述步骤的第 4 步)。

典型的联邦训练流程

现在,我们考虑联邦学习训练的模板,它包括 McMahan 等人 [289] 提出的联邦平均算法。另外,可能存在其他变体,但该算法提供了一个通用的起点。

服务器(服务提供商)部署整个训练过程,它重复以下步骤直到训练停止(这取决于监测训练流程的模型工程师):

  1. 客户端选择:服务器从一组满足要求的客户端中进行采样。例如,服务器需要确认手机是否接通电源、在无限带宽 wi-fi 连接状态还是空闲状态,以避免影响设备用户;
  2. 广播(broadcast):选中的客户端从服务器下载当前模型权重和训练程序(如 TensorFlow graph [6]);
  3. 客户端计算:每个选中的设备通过执行训练程序在本地计算模型更新,例如在本地数据上运行 SGD(就像在联邦平均算法中那样);
  4. 聚合(aggregation):服务器收集全部设备更新。为了提高效率,一旦足够多的设备报告结果,则落后者会被丢弃。这一步也是其他技术的集成点,这些技术可能包括:能够增强隐私性的安全聚合、为提高通信效率对更新聚合执行有损压缩以及差分隐私所需的噪声添加和更新裁剪(update clipping);
  5. 模型更新:基于参与当前轮次的所有客户端计算得到聚合更新,服务器基于此在本地更新共享模型。

下表 2 介绍了在典型的联邦学习移动设备应用场景中的规模量级:

表 2:典型跨设备联邦学习应用中的规模。

客户端计算、聚合和模型更新阶段的分离并非联邦学习的严格要求,但它确实排除了特定类别的算法,如异步 SGD(每个客户端的更新被立即应用于模型,没有聚合其他客户端的更新)。这种异步方法可简化系统设计的某些方面,从优化角度来看也是有益的(这一点存在争议)。但是,上文介绍的训练方法对于分离不同研究领域的课题具备显著优势:压缩、差分隐私和安全多方计算领域的进展有益于标准原语(如计算去中心化更新的总和或均值),这些进展由任意优化或分析算法构成,只要这些算法以聚合原语的形式表达。

这里还需要强调一点:从两个方面来讲,联邦学习训练流程不应影响用户体验。

首先,如上所述,即使模型参数通常在联邦训练每一轮的广播阶段发送到一些设备,但这些模型是训练流程中转瞬即逝的部分,并不用于创建向用户展示的「实时」预测。这一点很关键,因为训练机器学习模型很难,错误配置超参数可能导致预测效果极差的模型。用户可见的模型应用被延迟到模型生命周期中的第 6 步——部署流程;

其次,训练本身对用户是不可见的,就像在客户端选择阶段描述的那样,训练不会拖慢设备或耗电,因为它只在设备处于空闲状态以及接通电源时执行。但是,这些约束带来的有限可用场景直接导致开放性研究挑战,如半环数据获取(semi-cyclic data availability)和客户端选择的潜在偏见。

联邦学习研究

现实世界联邦学习设置包括基于来自医疗系统的医疗数据训练模型,使用数以亿计的移动设备执行训练等等。本论文剩余部分将介绍现实世界 FL 设置的局限与挑战所带来的开放性问题。更不用说,大部分研究联邦学习问题的研究者不太可能部署生产级联邦学习系统,也无法获取数百万现实世界设备。这导致实际设置和模拟实验之间存在显著区别(实际设置刺激研究,模拟实验为给定方法在现实问题中的适应性应用提供证据。)

因此,从实验角度来看,联邦学习研究与其他机器学习领域略有不同,所以在进行联邦学习研究时需要多做考虑。具体而言,在列举开放性问题时,研究者尝试指出可在模拟环境中使用的相关性能度量指标、使模型更能代表其在现实世界中性能的数据集特征等等。对模拟的需求同样对联邦学习研究的展示有所影响。

研究者对如何展示联邦学习研究提出以下几条温和的建议:

  • 如上表 1 所示,联邦学习设置涉及大量问题。与具备明确设置和目标的领域相比,准确描述特定联邦学习设置的细节非常重要,尤其是当提出方法做出的假设不适用于所有设置时(如参与所有轮的有状态客户端);
  • 当然,任何模拟的细节都应得到展示,以便研究可复现。但是,说明模拟要捕捉现实世界的哪些方面也很重要,这样才能使在模拟问题上成功的方法也能成功用于现实世界目标,并取得进展;
  • 隐私和通信效率通常是联邦学习中的首要考虑因素,即使实验是使用公开数据在单个机器上运行的模拟实验。联邦学习在这方面更胜其他机器学习类型,因为对于提出的任何方法,明确计算发生地和通信内容都是十分重要的。

用于联邦学习模拟的软件库和标准数据集有助于减轻实施高效联邦学习研究的挑战,附录 A 总结了目前可用的部分软件库和数据集。针对不同的联邦学习设置(跨设备和 cross-silo)开发标准评估度量指标和构建标准基准数据集,仍然是未来工作的重要方向。

论文剩余章节内容概览

由于本篇论文篇幅较长,剩余章节仅截取目录内容,读者可自行前往原文查看详细内容。

本论文第 2 章基于上表 1 展开,探讨跨设备设置以外的其他联邦学习设置和问题。

第 3 章重新聚焦如何提高联邦学习效率和效用这一核心问题。

本章探讨多种使联邦学习更加高效的技术和开放性问题,包括多种可能的方法,如:开发更好的优化算法,为不同客户端提供不同模型,使超参数搜索、架构搜索和 debug 等机器学习任务在联邦学习环境中更加容易,提升通信效率等等。

第 4 章涉及威胁模型,以及实现严格隐私保护这一目标所需的大量技术。

和所有机器学习系统一样,联邦学习应用中也存在一些操控模型训练的因素,一些失败是不可避免的,第 5 章将讨论这些内容。

第 6 章解决了提供公平且无偏差模型所面临的重要挑战。

第 7 章结束语。

参考阅读:打破数据孤岛:联邦学习近期重要研究进展

本文为机器之心编译,转载请联系本公众号获得授权。

✄------------------------------------------------

加入机器之心(全职记者 / 实习生):hr@jiqizhixin.com

投稿或寻求报道:content@jiqizhixin.com

广告 & 商务合作:bd@jiqizhixin.com

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-01-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器之心 微信公众号,前往查看

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

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

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