联邦学习:算法详解与系统实现
上QQ阅读APP看书,第一时间看更新

1.1.1 联邦学习的发展历史

联邦学习这个术语是由McMahan等人在2016年的论文中引入的:

我们将我们的方法称为联邦学习,因为学习任务是通过由中央服务器协调的参与方设备(我们称之为客户机,即Client)的松散联邦来完成的。

跨大量通信带宽有限的不可靠设备的一些不平衡且非独立同分布(Independently and Identically Distributed,IID)数据的划分是联邦学习面临的挑战。在联邦学习这个术语出现之前,一些重要的相关工作已经开展。许多研究团体(来自密码学、数据库和机器学习等多个领域)追求的一个长期目标是分析和学习分布在许多所有者之间的数据,而不泄露这些数据。在加密数据上计算的加密方法始于20世纪80年代早期(参考Rivest等人于1982年发表的文章),Agrawal、Srikant和Vaidya等人是早期尝试使用集中式服务器从本地数据中学习并同时保护隐私的典范。相反,即使自引入联邦学习这个术语以来,我们也没有发现任何一项研究工作可以直接解决FL面临的所有挑战。因此,术语“联邦学习”为这些经常在隐私敏感的分布式数据(又称中心化数据)的机器学习(Machine Learning,ML)应用问题中共同出现的特征、约束和挑战等提供了方便的简写。

在联邦学习领域,许多开放式挑战的一个关键属性是,它们本质上是跨学科的。应对这些挑战可能不仅需要机器学习,还需要分布式优化、密码学、安全性、差分隐私、公平性、压缩感知、信息理论、统计学等方面的技术。许多最棘手的问题都处在这些学科的交叉点上,因此我们相信,各领域专家之间的协作对联邦学习的持续发展至关重要。联邦学习最开始被提出时,在移动和边缘设备等应用场景备受关注。之后,联邦学习的应用场景越来越多,例如,多个组织协同训练一个模型。联邦学习的上述相关变化引申出更广泛的定义。

定义 联邦学习是一种机器学习设置,其中多个实体(客户端)在中央服务器或服务提供商的协调下协同解决机器学习问题。每个客户端的原始数据都存储在本地,并且不会交换或直接传输;取而代之的是,使用旨在即时聚合的有针对性的更新迭代来实现学习目标。

有针对性的更新是指狭义的更新,以包含特定学习任务所需的最少信息;在数据最小化服务中,尽可能早地执行聚合操作。虽然对数据隐私保护的研究已经超过50年,但在最近10年才有广泛部署的大规模解决方案(例如Rappor)。跨设备联邦学习和联邦数据分析正在应用于消费数字产品中。例如Gboard移动键盘以及Pixel手机和Android Messages中广泛使用了联邦学习;又例如在iOS 13中,跨设备FL被应用于QuickType键盘和Siri的声音分类器等应用中。跨信息孤岛的一些应用在各领域提出,包括金融风险预测、药物发现、电子健康记录挖掘、医疗数据分割和智能制造。对联邦学习技术不断增长的需求激发了许多工具和框架的出现,包括TensorFlow Federated、FATE(Federated AI Technology Enabler)、PySyft、Leaf、PaddleFL和Clara Training Framework等。关于各种框架之间的异同,读者可参考Kairouz等人2019年发表的综述。一些成熟的技术公司和较小的初创公司也正在开发利用联邦学习技术的商业数据平台。