2019年12月10日arXiv上载的联邦学习综述论文“Advances and Open Problems in Federated Learning“。
摘要:联邦学习(FL)是一种机器学习设置,其中许多客户端(例如移动设备或整个组织)在*服务器(例如服务提供商)的协调下协同训练模型,同时保持训练数据的分散性。 FL体现了集中数据收集和最小化的原理,并且可以减轻由于传统的集中式机器学习和数据科学方法导致的许多系统隐私风险和成本。 受FL研究爆炸性增长的推动,本文讨论了FL最新进展,并提出了大量未解决的问题和挑战。
联邦学习一词由谷歌研究部门McMahan等人于2016年引入:“我们将我们的方法称为联邦学习,因为学习任务是通过由*服务器协调的参与设备(我们称为客户端)的松散联合来解决的。”
数据中心的联邦学习和分布学习典型特性比较:
联邦学习系统中经过训练的模型和各种参与者的生命周期图:
典型的跨设备联邦学习应用程序的数量级大小示意图:
典型的联邦学习过程:
服务器(服务提供商)通过重复以下步骤直到停止训练来协调训练过程(由监督训练过程的模型工程师自行决定):
- 1.客户端选择:服务器从满足资格要求的一组客户端中采样。例如,为避免影响设备用户,移动设备可能仅在未计量的wi-fi连接上插入且处于空闲状态时才能签入服务器。
- 2.广播:选定的客户端从服务器下载当前模型权重和训练程序(例如TensorFlow)。
- 3.客户端计算:每个选定的设备都通过执行训练程序在本地计算对模型更新,例如,可以在本地数据上运行SGD(如联邦平均)。
- 4.聚合:服务器收集聚合所有设备更新。为了提高效率,一旦有足够数量的设备报告结果,就可以在此放弃剩下的落后者。此阶段也是许多其他技术的集成点,包括:用于增加隐私的安全聚合,为了通信效率而对聚合进行有损压缩,以及针对差分隐私进行添加噪声和对更新限幅。
- 5.模型更新:服务器根据参与当前轮客户的计算更新汇总,在本地更新共享模型。
联邦学习和全去中心化(P2P)学习的区别比较:
**拆分学习(Split learning)**的关键思想,与之前着重于数据分区和通信模式的设置相比,它是在客户端和服务器之间按层划分执行模型,这对于训练和推理都是一样的。
如图所示:(a)在vanilla拆分学习的设置,原始数据不会传输;(b)在U-形拆分学习(Split learning)的设置,在客户端和服务器实体之间原始数据和标签不会传输。
重要的是,要注意联邦学习为公平(Fairness)研究人员提供了独特的机遇和挑战。例如,通过允许既通过观测又通过特征分布的数据集,联邦学习可以使用过于敏感而无法直接共享的分区数据进行建模和研究。以联邦方式使用的数据集的可用性提高,帮助改善用于机器学习模型训练数据的多样性,可促进公平的建模理论和实践。
研究人员和从业人员还需要应对联邦学习所带来的与公平相关的独特挑战。例如,联邦学习可以根据诸如连接类型/质量、设备类型、位置、活动模式和本地数据集大小等考虑因素来决定选择哪些客户端,引入新的偏差来源。未来的工作可能会调查这些各种采样约束在多大程度上影响所得模型的公平性,以及如何在联邦框架内减轻此类影响。不可知联盟学习(agnostic federated learning )等框架提供了一种控制训练目标偏差的方法。随着接近联邦学习系统其他组件的技术极限,例如模型压缩,改善现有联邦学习训练算法公平性的工作尤其重要,有助于扩大联邦学习训练过程中候选客户的多样性。
在经典的集中机器学习环境中,过去十年来在训练公平分类器方面取得了长足的进步,例如约束优化、后移位(post-shifting)方法和分布稳健性优化等。 一个公开的问题是,这种方法在集中学习情况下能提高集中训练公平性,是否可以在数据去中心化放置的联邦学习背景下(如果有的话,在其他某种假设下)采用,而这些方法可能无法获得与总体分布相匹配的数据无偏样本。