1.3 联邦学习的定义
联邦学习是利用分散在各参与方的数据集,通过隐私保护技术融合多方数据信息,协同构建全局模型的一种分布式训练方式。在模型训练过程中,模型的相关信息(如模型参数、模型结构、参数梯度等)能够在各参与方之间交换(交换方式可以是明文、数据加密、添加噪声等),但本地训练数据不会离开本地。这一交换不会暴露本地的用户数据,降低了数据泄露的风险。训练好的联邦学习模型可以在各数据参与方之间共享和部署使用。
我们首先来回顾Federated Learning[284]中概括的、关于联邦学习描述的一些共同特征,这些特征也是当前所有联邦学习类型(包括横向联邦学习、纵向联邦学习[1]和联邦迁移学习)在进行算法设计、理论分析时都应遵循的原则和前提。这些共同的特征包括:
• 有两个(或以上)的联邦学习参与方协作构建一个共享的机器学习模型。每一个参与方都拥有若干各自希望能够用来训练模型的训练数据。
• 在联邦学习模型训练过程中,每一个参与方拥有的数据都不会离开该参与方,即数据不离开数据拥有者。
• 与模型相关的信息(如模型参数、模型结构、参数梯度等)能够以加密方式在各方之间传输和交换,并且需要任何一个参与方在接收到这些信息时都不能推测出其本地的原始数据。
• 联邦学习模型的性能要能够充分逼近理想模型(理想模型是指通过将所有训练数据集中在一起并训练获得的机器学习模型)的性能。
• 联邦学习模型的构建不影响客户端设备的正常使用,即客户端在本地训练的过程中,应能够保证该设备其他进程的正常运行(如控制CPU占用率、内存使用率等)。
下面给出联邦学习的定义。首先定义参与方和数据的变量符号。设当前有N位数据拥有者共同参与训练,记为,他们各自拥有的训练数据集分别记为。
传统的训练方法是将所有参与方的数据收集起来,存储在中心服务器中,并在该服务器上使用集中后的数据集训练一个机器学习模型MSUM。这种训练范式也被称为集中式训练(又称为中心化训练)。
传统的训练方法需要每一个参与方Fi将自己的数据Di上传至服务器,这样,所有参与方的数据都相互可见,更糟糕的是,数据上传后,其使用控制权便交给了服务器,服务器可以利用该部分数据做任何其他事情,进一步增加了数据泄露的风险。
联邦学习是不需要收集各数据方所拥有的数据便能协作地训练一个模型MFED的机器学习过程。设VSUM和VFED分别为集中型模型MSUM和联邦型模型MFED的性能量度(如准确度、召回度和F1分数等)。下面定义狭义状态下的联邦学习性能损失概念。
定义1-1 狭义联邦学习性能损失 [285] 设δ为任意一个非负实数,我们认为,在满足以下条件时,联邦学习模型MFED具有δ的性能损失:
通常来说,δ是一个数值很小的浮点数(如δ=0.1,δ=0.01等)。式(1.1)表达了以下的客观事实:如果我们使用安全的联邦学习在分布式数据源上构建机器学习模型,这个模型的性能将以δ的性能损失近似于把所有数据集中到一个地方所训练得到的模型的性能。特别地,当δ=0时,则表示联邦训练的模型MFED与集中式训练的模型MSUM的效果等价。
此外,对定义1-1进行扩展,可以进一步得到如下的广义联邦学习性能损失的定义。
定义1-2 广义联邦学习性能损失 设δ为任意一个非负实数,我们认为,在满足以下条件时,联邦学习模型MFED具有δ的性能损失:
观察定义1-1与定义1-2,不难发现,它们的区别在于是否需要绝对值。这个细微的区别,导致了联邦学习模型的性能VFED的取值范围不同,其差异如图1-3所示。
可以看到,在图1-3(a)展示的狭义联邦学习性能损失的定义中,VFED的取值范围可以是以VSUM为圆心、以δ为半径的圆内的任意值;在图1-3(b)展示的广义联邦学习性能损失的定义中,VFED的取值可以是大于{VSUM-δ}的任意值。
两者之所以出现差异,主要是参与方的数据分布不平衡导致的。在通常情况下,期望联邦学习的性能VFED与中心化训练的模型性能VSUM接近,也就是定义1-1中的狭义联邦学习性能损失。但如果数据分布极度不平衡,我们来考虑这样一种情况:当前有多个参与方进行联邦训练,其中部分客户端的数据质量都非常差(比如这些客户端的数据采集设备出现硬件故障导致数据质量不佳),这种由于客户端的硬件设备故障导致的数据问题,在现实场景中是比较常见的问题。那么,如果采用集中式训练的方法,我们就需要将这些参与方的数据都上传到中心数据库进行训练,而由于存在低质量的训练数据,将全部数据融合后进行集中训练的效果VSUM可能会非常糟糕。相反,如果进行联邦训练,在通常情况下,联邦学习系统在开始训练时,本地会对其硬件设备进行检测,以确保硬件设备的正常。如果排查出有问题的客户端,那么联邦学习系统会将这些异常的客户端剔除,然后在剩余的客户端设备中进行联邦训练。所以,在模型的性能效果上,VFED自然要比VSUM好很多。
图1-3 狭义联邦学习性能损失与广义联邦学习性能损失的可视化比较
在实际的落地应用中,这个性能的损失容忍度δ的值,需要根据业务场景的不同而设置不同的值。对于精度要求较高、隐私性要求较低的场景,δ的值会相应较小,即联邦学习的性能应最大限度地接近中心化训练的效果;相反,在隐私性要求较高、精度要求较低的场景,δ的值可以适当变大,即能容忍联邦学习模型的性能比中心化训练的模型效果要稍差一些。
联邦学习的设计模式带来了许多益处。它不需要各参与方直接进行数据交换,将模型的训练计算交给了边缘端设备,从而最大化地保障了用户的隐私和数据安全。此外,联邦学习不是单点的训练,而是联合各参与方来协同地训练一个机器学习模型。因此,在通常情况下,全局模型的效果比基于本地数据训练的本地模型效果更好。
例如,联邦学习能够用于商业银行检测多方借贷活动,而这在银行产业,尤其是在互联网金融业中,一直是一个很难解决的问题[337]。通过联邦学习,我们不再需要建立一个中央数据库,并且任何参与联邦学习的金融机构都可以向联邦系统内的其他机构发起新的用户查询请求。其他机构仅仅需要回答关于本地借贷的问题,并不需要了解用户的具体信息。这不仅保护了用户隐私和数据完整,还实现了识别多方贷款的重要业务目标。我们将在第8章介绍联邦学习在金融场景的案例。