本文目录
- 为什么要联邦学习
- 【论文笔记】Advances and Open Problems in Federated Learning
- 什么是联邦学习
- 联邦学习的核心
- 联邦学习模型的生命周期
- 【论文笔记】Federated Learning: Challenges, Methods, and Future Directions
- 联邦学习的挑战
- 当前研究进展
- 未来方向
联邦学习概念
遇到的问题、为什么重要
人工智能获得巨大的成功,但不容忽略的是这些良好的AI都需要大量优质的数据去训练。但在现实生活中,我们却面临着许多难题:
-
除了少数巨头公司有丰富且优质的数据,绝大多数企业的数据都不足以支持人工智能技术的实现。
-
国内外监管环境逐步加强了对数据的保护,因此数据在安全合规的前提下自由流动,成了大势所趋。
基于上述原因,当前“不足以支撑实现、不允许粗暴交换、不愿意贡献价值”,导致了现在大量存在的数据孤岛,以及隐私保护问题,联邦学习应运而生。
如何解决上述问题
为解决上述问题,提出了联邦学习,其主要可以分为以下三类:
Advances and Open Problems in Federated Learning
引言
联邦学习指多个客户端(如移动设备或整个组织)在一个中央服务器(如服务提供商)下协作式地训练模型的机器学习设置,该设置同时保证训练数据去中心化。联邦学习使用局部数据收集和最小化原则,降低传统中心化机器学习方法带来的一些系统性隐私风险和成本。
在【联邦学习】问世之前,已经有大栏相关研究工作,器主要目标是在不爆露数据的前提下,分析和学习分布于多个数据拥有者的数据。加密法是20世纪80年代的一种方法;当然,也有人采用了中央服务器学习本地数据并同时保护隐私的早期研究。
然而,即使在该术语出现后,我们任然发现没有一项研究能直接解决联邦学习面临的全部挑战。
核心——在于各学科的合作
2019 年 6 月 17-18 日,在谷歌的西雅图办公室举办了一场关于联邦学习的研讨会,本论文基于这次研讨会写就。研讨会上讨论的很多问题都有一个核心特性:它们本质上是跨学科的。解决这些问题不仅需要机器学习,还需要分布式优化、加密学、安全、差分隐私、公平性、压缩感知、系统、信息论、统计学等学科的技术。最难的问题出现在这些学科的交叉领域,因此本论文认为合作是促进联邦学习领域发展的必经之路。
【联邦学习】这个术语在刚出现时仅指移动和边缘设备应用,现在出现了越来越多的变体,所以,本文给出了一个更加宽泛的定义:
联邦学习是多个实体(客户端)协作解决机器学习问题的机器学习设置,它在一个中央服务器或服务提供商的协调下进行。每个客户端的原始数据存储在本地,无法交换或迁移,联邦学习利用局部更新(用于立即聚合 (immediate aggregation))来实现学习目标。
联邦学习中的模型生命周期
客户端选择 —》 广播 —》 客户端计算 —》 聚合 —》 模型更新
需要注意,模型的计算、聚合、更新阶段相互分离并不是联邦学习的严格要求
如:异步SGD,每个客户端的更新背立即应用于模型,而没有聚合其他客户端的更新
对联邦学习者的一些建议
-
联邦学习设置涉及大量问题。与具备明确设置和目标的领域相比,准确描述特定联邦学习设置的细节非常重要
-
任何模拟的细节都应得到展示,以便研究可复现。但是,说明模拟要捕捉现实世界的哪些方面也很重要,这样才能使在模拟问题上成功的方法也能成功用于现实世界目标,并取得进展。
-
隐私和通信效率通常是联邦学习中的首要考虑因素
Federated Learning: Challenges, Methods, and Future Directions
四个核心的挑战
-
Challenge One:Expensive communication
要保证客户端数据能保持本地性,故需要大量的网络通信,众所周知,网络通信要比本地通信慢的多。当前,主要可以从两个方面进行考虑:
-
减少通信的轮数
-
减少一轮通信中,传输信息的大小
-
-
Challenge 2: Systems Heterogeneity
由于硬件(CPU,存储)、网络连接(2G,WiFi)、和电源的不同,联邦网络中各设备的存储,计算能力,通信能力都有很大的不同;而且由于网络和电量,参与训练设备的退出也很常见。这些问题带来了很多挑战:
-
低参与度
-
对异构硬件的容忍
-
对网络中设备的退出具有鲁棒性
-
-
Challenge 3: Statistical Heterogenerity
分布在各个设备上的数据是不符合独立同分布的
-
Challenge 4: Privacy Concerns
联邦学习通过共享梯度信息,而不是原始数据,这已经基本实现了对设备生成数据的保护。然而,在训练中通信模型仍可能向第三方或中央服务器揭示敏感信息。
-
当前较多的解决方法,是引入了同态加密,安全多方计算,差分隐私等方法来增强联邦学习的隐私。但是这些方法通常以降低模型性能或系统效率为代价来提供隐私。
-
理解和平衡这些方法,包括理论和经验,是实现联邦学习系统隐私性的一个相当大的挑战。
-
对4个挑战的当前研究进展
如何使通信高效
-
本地更新:mini-batch的优化方法,已经成为了提高本地效率的主流范式。然而,在实践中,它们已被证明在适应通信-计算权衡方面的灵活性有限,该权衡是为了最大限度地利用分布式数据处理。可以通过动态的挑战本地更新轮数来增加灵活性。 local updating的方法,可以减少communication rounds
-
模型压缩方法:稀疏化、子采样和量化等模型压缩方案可以显著减少每一轮通信的消息的大小
-
非中心化的训练:分散的算法在理论上可以降低中央服务器上的高通信成本。最近的一些工作研究了使用局部更新方案对异构数据的分散训练。还提出了分层通信模式[68,70],以进一步减轻中央服务器的负担
虽然这是一种很有前途的减少通信的方法,但它并不适用于所有的网络,因为这种类型的物理层次结构可能不存在或不先验已知。
如何解决系统异构性
-
异步通信:在传统的数据中心设置中,同步和异步方案都通常用于并行化迭代优化算法,每种方法都有优缺点。
-
同步方案很简单,保证了一个串行等效的计算模型,但面对设备的可变性,它们也更容易受到偏离者的影响。
-
异步方案是一种很有吸引力的方法,可以减轻异构环境中的掉队者,特别是在共享内存系统
然而,它们通常依赖于有界延迟假设来控制跟踪的程度,虽然异步参数服务器在分布式数据中心已经成功,经典的边界延迟假设在联邦设置中是不现实的,延迟可能是小时到几天,或者是完全无限的。
-
-
Active Sampling
-
Fault Tolerate
如何解决统计异构性
-
建模异构数据:在机器学习中,有大量的文献通过元学习和多任务学习等方法来建模统计异质性;这些想法最近被扩展到联邦设置
-
non-IID
数据的收敛性保证:为了了解FedAvg
在统计异构设置下的性能,最近提出了FedProx
。FedProx
也可以被解释为FedAvg
的一个广义的、再参数化的版本,它在考虑跨设备的系统异质性的背景下具有实际的影响。其他一些解决方法:通过共享本地设备数据或一些服务器端代理数据。然而,这些方法可能是不现实的:除了给网络带宽增加负担外,将本地数据发送到服务器违反了联邦学习的关键隐私假设,将全局共享的代理数据发送到所有设备还需要努力仔细生成或收集这些数据
联邦学习中的隐私问题
在联邦学习中有多种隐私定义,但通常它们可以分为两类:全局隐私和本地隐私。全局隐私要求每一轮生成的模型更新对中央服务器以外的所有不受信任的第三方都是私有的,而本地隐私进一步要求更新也是服务器私有的。
目前旨在提高联邦学习隐私的工作通常建立在以前的经典密码协议的基础上,如SMC和差异隐私等。
未来方向
-
Extreme communication schemes
-
Communication reduction and the Pareto frontier
-
Novel models of asynchrony
-
Heterogeneity diagnostics。最近的研究旨在通过局部差异和工程距离等指标来量化统计异质性。然而,在训练发生之前,不能轻易地通过联邦网络计算这些度量。这些指标的重要性激发了以下悬而未决的问题:
(i)是否有简单的诊断存在来快速预先确定联邦网络的异质性水平?
(ii)是否可以开发类似的诊断方法来量化与系统相关的异质性的数量?
(iii)是否可以利用当前或新的异质性定义来进一步提高联邦优化方法的收敛性?
-
Granular privacy constraints。在实践中,可能有必要在更细粒度的级别上定义隐私,因为隐私限制可能在不同的设备上,甚至在单个设备上的数据点之间有所不同。
-
Beyond supervised learning。迄今为止讨论的方法是考虑到监督学习任务的。在实践中,在现实的联邦网络中生成的许多数据可能是未标记的或弱标记的。
此外,手头的问题可能不是将模型拟合到已有数据,而是执行一些探索性的数据分析,确定数据的统计特性,或运行更复杂的任务,如强化学习。
-
Productionizing federated learning。除了本文中讨论的主要挑战之外,在生产中运行联邦学习时还出现了一些实际问题。 概念漂移、日变化、冷启动问题
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