federated-learning
联邦学习
21 世纪初,人工智能进入以深度学习为主导的大数据时代,基于大数据的机器学习既推动了 AI 的蓬勃发展,也带来了一系列安全隐患。这些隐患来源于深度学习本身的学习机制,无论是在它的模型训练阶段,还是在模型预测(推理)和使用阶段。这些安全隐患如果被有意或无意地滥用,后果将十分严重。当前 AI 安全已引起人们普遍的关注,各项的治理措施也因此积极开展。AI 治理有以下几个不同的维度,即技术、法律、经济和文化等。
“联邦学习”(Federated Learning)正是在这个背景下提出和发展起来的,它主要从技术维度出发,重点研究其中的隐私保护和数据安全问题。联邦学习保护隐私和数据安全包括两个过程,分别是模型训练和模型预测。在模型训练阶段,模型相关的信息可以在各方之间交换,但数据不能交换,因此各个站点上的数据将受到保护。在模型预测阶段,训练好的联邦学习模型可以置于联邦学习系统的各参与方,也可以供多方共享。
联邦学习既能帮助多个参与方搭建共享的高新能模型,又符合用户隐私和数据保密性的要求。
联邦学习技术的推进,需要多个学科领域的合作,包括机器学习算法、分布式机器学习、密码学与安全、隐私保护、数据挖掘、博弈论与经济学原理、激励机制设计、法律与监管等。
人工智能面临的挑战
随着人工智能的不断落地,在未来,不同组织之间进行数据的整合工作将是极大的挑战。由此,如何在遵守更加严格的、新的隐私保护条例的前提下,解决数据碎片化和数据隔离的问题,是当前人工智能所要面临的首要挑战。$\rfloor$
由于各种原因造成的数据孤岛,正阻碍着训练人工智能模型所必需的大量数据的使用,所以就需要寻求一种新的方式,不必将所有数据集中到一个中心存储点就能训练机器学习模型。
一种可行的方法是由每一个拥有数据源的组织训练一个模型,之后各个组织在各自的模型上交流(传输数据向传输模型参数的改变),最终通过模型聚合得到一个全局模型。为了确保用户隐私和数据安全,各组织间交换模型信息的过程将会被特殊加密,使得没有哪一个组织可以猜测到或反向推导出其他任何组织的隐私数据内容。同时,当构建全局模型时,各数据源仿佛已被整合在一起,这便是联邦机器学习(Federated Machine Learning)或者简称联邦学习(Federated Learning)的核心思想。
谷歌的联邦学习系统很好的展示了企业对消费者 (Business-to-Consumer)即 B2C 的一个应用案例,它为 B2C 的应用设计了一种安全的分布式计算环境。在 B2C 场景下,由于边缘设备和中央服务器之间传输信息的速度加快,联邦学习可以确保隐私保护和更高的模型性能。
综上,联邦学习旨在建立一个基于分布数据集的联邦学习模型。
联邦学习分类
设矩阵 $D_i$ 表示第 $i$ 个参与方的数据;设矩阵 $D_i$ 的每一行表示一个数据样本,每一列表示一个具体的数据特征。一些数据集还可能包含标签信息。
将特征空间设为 $\mathcal{X}$ ,数据标签空间设为 $\mathcal{Y}$ ,并用 $\mathcal{I}$ 表示数据样本 $ID$ 空间。这三者就组成了一个训练数据集 $(\mathcal{I,X,Y})$ 。
不同的参与方之间的数据的特征空间与样本 $ID$ 空间可能是不同的。根据训练数据在不同参与方之间的数据特征和样本 $ID$ 空间的分布情况,可以将联邦学习划分为三类,即:
- 横向联邦学习(Horizontal Federated Learning, HFL)
- 纵向联邦学习(Vertical Federated Learning, VFL)
- 迁移联邦学习(Federated Transfer Learning, FTL)
横向联邦学习适用于联邦学习的参与方的数据有重叠的数据特征的情形,即数据特征在参与方之间是对齐的,但参与方拥有的数据样本是不同的。它类似于在表格试图中将数据水平划分的情况。因此,横向联邦学习有时也称为按样本划分的联邦学习。
与横向不同,纵向联邦学习适用于联邦学习参与方的训练数据有重叠的数据样本,即参与方之间的数据样本是对齐的,但是在数据特征上有所不同。它类似与数据在表格视图中将数据垂直划分的情况。因此,纵向联邦学习有时也称按特征划分的联邦学习。
联邦迁移学习则适用于参与方的数据样本和数据特征重叠都很少的情况。
面对隐私保护的机器学习
不断发生的数据泄密和隐私侵权事件使得社会公众更加认识到,在人工智能系统的构建与使用过程中,需要保护用户隐私和数据机密性。近来,研究人员们正着眼于开发能够在机器学习系统中使用的隐私保护技术,由此产生的系统便称作面向隐私保护的机器学习(Privacy-Preserving Machine Learning, PPML)系统。
PPML 中有一些著名方法,包括但不限于:安全多方计算(Secure Multi-party Computation, MPC)、供隐私保护模型训练和预测使用的同态加密方法(Homomorphic Encryption, HE)和用于防止数据泄密的差分隐私(Differential Privacy, DP)方法。分布式机器学习中还有隐私保护梯度下降的方法。
面向隐私保护的机器学习与安全机器学习
PPML 与安全机器学习(Secure ML)的区别主要是在于它们被设计用来应对不同类型的安全威胁。在安全机器学习中,敌手(抑或攻击者)被假设违反了机器学习系统的完整性和可用性。而在 PPML 中,敌手被假设违反了机器学习系统的隐私性和机密性。
有时安全方面的危机是由第三方故意攻击造成的。下面是机器学习中被关注的三种主要攻击类型:
- 完整性(Integrity)
对完整性的攻击可能导致机器学习系统会出现检测错误,例如可能会将入侵点检测为正常(假阴性)。
- 可用性(Availability)
对可用性的攻击可能导致系统会出现分类错误(假阴性和假阳性),即系统会变成不可用。这是比完整性攻击更宽泛的一种攻击类型。
- 机密性(Confidentiality)
对机密性的攻击可能导致一些机器学习系统中的敏感信息(如训练数据或训练模型)会出现泄密。
下表给出了 PPML 和安全机器学习在安全威胁、攻击模式和防御方法上的比较。
安全威胁 | 攻击模式 | 防御方式 | |
---|---|---|---|
PPML | 隐私性 机密性 |
重构攻击 模型反演攻击 成员推理攻击 |
安全多方计算 同态加密 差分隐私 |
安全机器学习 | 完整性 可用性 |
投毒攻击 对抗攻击 询问攻击 |
防御精馏 对抗训练 正则化 |
威胁与安全模型
为了在机器学习中保护隐私和完整性,有必要理解可能的安全威胁模型。在机器学习任务中,参与方通常会扮演三种不同的角色:
- 输入方,如数据的原始拥有者
- 计算方,如模型建立者和推理服务提供者
- 结果方,如模型查询者和用户
对机器学习系统的攻击可能在任何阶段发生,包括数据发布、模型训练和模型推理。在模型训练阶段发生的攻击叫作重构攻击(Reconstruction Attacks)。计算方的目的是重构数据提供者的原始数据,或者学习关于数据的更多信息,而不是最终模型所提供的信息。重构攻击是联邦学习的主要隐私关注点。在模型推理阶段,一个敌对的结果方可能会使用反向工程技术来获取模型的额外信息,以此实施模型反演攻击(Model Inversion Attacks)或成员推理攻击(Membership-Inference Attacks)。特征推理攻击(Attribute-Inference Attacks)则发生在数据分布阶段。
对于密码学 PPML 技术,包括安全多方计算和同态加密,现有研究工作涉及两种类型的敌手:
- 半诚实的(Semi-honest)敌手:在半诚实(抑或诚实但好奇的、被动的)敌手模型中,敌手诚实地遵守协议,但也会试图从接收到的信息中学习更多除输出以外的信息
- 恶意的(Malicious)敌手:在恶意的(抑或主动的)敌手模型中,敌手不遵守协议,可以执行任意的攻击行为
隐私保护技术
常用的隐私保护技术有三种:安全多方计算、同态加密和差分隐私。
在安全多方计算中,目的是协同地从每一方的隐私输入中计算函数的结果,而不用将这些输入展示给其他方。通常情况下,安全多方计算能够通过三种不同的框架来实现:不经意传输、秘密共享和阈值同态加密。从某种程度上讲,不经意传输协议和阈值同态加密方法都使用了秘密共享的思想。
同态加密逐渐被认为是在 PPML 中实现安全多方计算的一种可行方法。同态加密方法是一种通过对相关密文进行有效操作(不需要获知解密秘钥),从而允许在加密内容上进行特定代数运算的加密方法。简单来说就是将数据加密,再对密文进行各种代数运算,最后再将得到的结果按照秘钥进行解密,得到的结果相当于直接在原数据上进行代数运算得到的结果。同态加密方法主要分为三类:部分同态加密、些许同态加密和全同态加密。
差分隐私的中心思想是,当敌手试图从数据库中查询个体信息时将其混淆,使得敌手无法从查询结果中辨别个体级别的敏感性。主要有两种方法通过给数据加上噪声实现差分隐私,一种是根据函数的敏感性增加噪声,一种是根据离散值的指数分布选择噪声。差分隐私算法可根据噪声扰动使用的方法和位置来进行分类。
- 输入扰动:噪声被加入训练数据
- 目标扰动:噪声被加入学习算法的目标函数
- 算法扰动:噪声被加入中间值,例如迭代算法中的梯度
- 输出扰动:噪声被加入训练后的输出参数
分布式机器学习
分布式机器学习(Distributed Machine Learning)
一些著名的面向拓展性的 DML 方案,包括数据并行、模型并行、图并行、任务并行、混合并行和交叉并行。
在面向隐私的 DML 中,常用的用于保护数据隐私的方法大概分为以下两个类别:
- 模糊处理。随机化、添加噪声或修改数据使其拥有某一级别的隐私,如差分隐私方法
- 密码学方法。通过不将输入值传给其他参与方的方式或者不以明文方式传输,使分布式计算过程安全化,如多方加密计算,包括不经意传输、秘密共享、混淆电路和同态加密
横向联邦学习
横向联邦学习也称按样本划分的联邦学习,可以应用于联邦学习的各个参与方的数据集有相同的特征空间和不同的样本空间的场景,类似于在表格视图中对数据进行水平划分的情况。例如表格中的记录按照行被横向划分为不同的组,且每行都包含完整的数据特征。
举例来说,两个地区的城市商业银行可能在各自的地区拥有非常不同的客户群体,所以他们的客户交集非常小,他们的数据集有不同的样本 $ID$ 。然而,他们的业务模型非常相似,因此他们的数据集的特征空间是相同的。这两家银行可以联合起来进行横向联邦学习以构建更好的风控模型。
确切的说,可以将横向联邦学习的条件总结为:
$$
\mathcal{X}_i = \mathcal{X}_j,\mathcal{Y}_i = \mathcal{Y}_j,\mathcal{I}_i \neq \mathcal{I}_j,\forall \mathcal{D}_i,\mathcal{D_j},~i\neq j,
$$
式中,$\mathcal{D}_i$ 和 $\mathcal{D}_j$ 分别表示第 $i$ 方和第 $j$ 方拥有的数据集。建设两方的数据特征空间和标签空间对,即 $(\mathcal{X}_i,\mathcal{Y}_i)$ 和 $(\mathcal{X}_j, \mathcal{Y}_j)$ 是相同的。但建设两方的客户 $ID$ 空间,即 $\mathcal{I}_i$ 和 $\mathcal{I}_j$ 是没有交集或交集很小。
关于横向联邦学习系统的安全性的定义,通常假设一个横向联邦学习系统的参与方都是诚实的,需要防范的对象是一个诚实但好奇的聚合服务器。即通常假设只有服务器才能使得数据参与方的隐私安全受到威胁。
前期提出的横向联邦学习的架构一般都没有提供安全性的证明。当联邦模型训练结束时,聚合模型和整个模型的参数都会暴露给所有的参与方。
横向联邦学习架构
客户-服务器架构(client-server)
典型的横向联邦学习系统的客户-服务器架构如下图所示,也被称为主-从(master-worker)架构或者轮辐式(hub-and-spoke)架构。在这种系统中,具有同样的数据结构的 $K$ 个参与方(也叫作客户或用户)在服务器(也叫参数服务器或者聚合服务器)的帮助下,协作地训练一个机器学习模型。
横向联邦学习系统的训练过程通常由如下四步组成:
- 各参与方在本地计算模型梯度,并使用同态加密、差分隐私或秘密共享等加密技术,对梯度信息进行掩饰,并将掩饰后的结果(简称为加密梯度)发送给聚合服务器。
- 服务器进行安全聚合操作,如使用基于同态加密的加权平均。
- 服务器将聚合后的结果发送给各参与方。
- 各参与方对收到的梯度进行解密,并使用解密后的梯度结果更新各自的模型参数。
- 迭代 1~4 直到损失函数收敛或者达到允许的迭代次数的上限或允许的训练时间。
这种架构独立于特定的机器学习算法,并且所有参与方将会共享最终的模型参数。需要注意的是,上述步骤中参与方将梯度信息发送给服务器,服务器将收到的梯度信息进行聚合(例如计算加权平方),再将聚合的梯度信息发送给参与方。称这种方法为梯度平均。除了共享梯度信息,联邦学习的参与方 还可以共享模型的参数。参与方在本地计算模型参数,并将它们发送至服务器。服务器对收到的模型参数进行聚合(如计算加权平均),再将聚合的模型参数发送给参与方。称这种办法为模型平均。
在某些条件下,例如模型参数在参与方每次更新之后进行聚合,此时模型平均等价于梯度平均。下表比较了两种平均方式。模型平均和梯度平均在文献中都被称为联邦平均算法。
方法 | 优点 | 缺点 |
---|---|---|
梯度平均 | 准确的梯度信息 有保证的收敛 |
加重通讯负担 需要可靠连接 |
模型平均 | 不受SGD限制 可以容忍更新缺失 不频繁的同步 |
不保证收敛 性能损失 |
如果联邦平均算法使用了安全多方计算或加法同态加密技术,则上述架构能防范半诚实的服务器的攻击,并防止数据泄露。然而,在协同学习过程中,若有一个恶意的参与方训练生成对抗网络,将可能导致系统容易遭受攻击。
对等网络架构(Peer-to-Peer,P2P)
横向联邦学习系统也能够利用对等网络架构,如下图所示。在该架构下,不存在中央服务器或者协调方。在这种架构中,横向联邦学习系统的 $K$ 个参与方也被称为训练方或分布式训练方。每一个训练方负责只使用本地数据来训练同一个机器学习模型(如 DNN 模型)。此外,训练方们使用安全链路在相互之间传输模型参数信息。为了保证任意两方之间的通信安全,需要使用例如基于公共秘钥的加密方法等安全措施。
由于对等网络架构中不存在中昂服务器,训练方们必须提前商定发送和接收模型参数信息的顺序,主要有两种方法可以达到这个目的:
- 循环传输
- 随机传输
全局模型评估
在横向联邦学习中,模型训练和评估是在每个参与方中分布地执行的,并且任意方都不能获取其他方的数据集。所以,每个参与方都能轻易地使用自己的本地测试数据集来测试本地模型的性能,但得到全局模型的性能评价需要消耗更多资源。在这里,本地模型性能表示某一参与方在本地测试数据集上检验得出的横向联邦学习模型的性能,全局模型性能表示所有参与方在测试数据集上对横向联邦学习模型进行测试得出的模型性能。
模型性能仍表现为精确度、准确度和召回率等,只是需要统计所有参与方的数据进而得到全局量。
联邦平均算法
联邦平均算法(FedAvg)被提出用于横向联邦学习的模型训练。为了区别与并行小批量随机梯度下降算法(parallel mini-batch SGD),联邦平均算法也被称为并行重启的随机梯度下降算法(parallel restarted SGD)或者 local SGD .
对于联邦学习,有区别与分布式优化问题的一些其他问题,包括:
- 数据集的非独立同分布
- 不平衡的数据量
- 数量很大的参与方
- 慢速且不稳定的通信连接
对于许多模型而言,计算代价相比于通信代价是微乎其微的。所以,可以使用额外的计算,以减少训练模型所需的通信轮次。联邦学习算法允许使用包括但不限于以下两种来增加计算:
- 增加并行度。加入更多的参与方,让它们在通信轮次间各自独立地进行模型训练
- 增加每一个参与方中的计算。每一个参与方可以在两个通信轮次间进行更复杂的计算,例如进行多次本地模型更新迭代
下图是联邦平均算法的伪代码复现。文献
但上述算法会暴露中间结果的明文内容,即它没有对数据传输提供任何安全保护。可以利用隐私保护技术来改进该算法,比如使用加法同态加密。
联邦平均算法的改进方向:
- 通信效率提升
- 压缩的模型参数更新
- 结构化的模型参数更新
- 参与方选择
纵向联邦学习
横向联邦学习(HFL)适用于参与方的数据集具有相同的特征空间、不同的样本空间的场景。在这些场景下,联邦的目标是应用的消费者群体,可以将其视为企业对消费者(B2C)范式。然而,在许多实际场景中,联邦学习的参与方是拥有同一用户群体的组织或机构。这些组织针对同一群体收集不同的数据特征以实现不同的业务目标。他们为了提高业务效率,通常有很强的合作意向,这可以被视作企业对企业(B2B)范式。
把在数据集上具有相同的样本空间、不同的特征空间的参与方所组成的联邦学习归类为纵向联邦学习,也可以理解为按特征划分的联邦学习。
出于不同的商业目的,不同组织拥有的数据集通常具有不同的特征空间,但这些组织可能共享一个巨大的用户群体,如下图所示。
通过使用 VFL ,可以利用分布于这些组织的异构数据,搭建更好的机器学习模型,并且不需要交换和泄露隐私数据。在这种联邦学习体系下,每一个参与方的身份和地位是相同的。联邦学习帮助所有参与方建立起一个“共同获益”的策略。
对于这样的纵向联邦学习系统,有:
$$
\mathcal{X}_i \neq \mathcal{X}_j , ~
\mathcal{Y}_i \neq \mathcal{Y}_j , ~
\mathcal{I}_i = \mathcal{I}_j , ~
\forall \mathcal{D}_i,\mathcal{D}_j, i \neq j,
$$
式中,$\mathcal{X}$ 表示特征空间;$\mathcal{Y}$ 表示标签空间;$\mathcal{I}$ 是样本 $ID$ 空间;$\mathcal{D}$ 表示由不同参与方拥有的数据集。纵向联邦学习的目的是,通过利用由参与方收集的所有特征,协作地建立起一个共享的机器学习模型。
在 VFL 的设置中,存在一些关于实现安全和隐私保护的假设。首先 VFL 假设参与方都是诚实但好奇的。这意味着参与方虽然遵守安全协议,但将会尝试通过从其他参与方处获得的信息,尽可能多地推理出信息中包含的具体内客。由于各参与方也想要搭建一个更加精确的模型,所以他们相互之间不会共谋。第二,VFL 假设信息的传输过程是安全且足够可靠的,能够抵御攻击。此外,还假设通信是无损的,不会使得中间结果的内容发生变化。一个半诚实的第三方(Semi-honest Third Party. STP)可能会被引入来帮助参与方进行安全的联邦学习。STP 独立于各参与方,它将会收集中间结果以计算梯度和损失值,并将结果转发给每一参与方。STP 收到的来自参与方的信息是被加密过或者被混淆处理过的。因此各方的原始数据并不会暴露给彼此,并且各参与方只会收到与其拥有的特征相关的模型参数。
关于 VFL 系统的安全定义,假设一个 VFL 系统中存在诚实但好奇的参与方。 例如,在一个两方场景中,双方不会共谋且最多有一个参与方被敌对方破坏。安全定义是指敌对方只能从其破坏的参与方拥有的数据上进行学习,而不能访问到其他参与方的数据。为了使两方之间的安全计算更加便利,有时会加入一个 STP ,并假设该 STP 不会与任一方共谋。MPC 提供了这些协议的正式隐私证明。在学习过程的最后,每一个参与方只会拥有与自己的特征相关的模型参数,因此在推理过程中,两方也需要协作地生成输出结果。
纵向联邦学习的架构
为了易于描述,下面用一个例子来说明 VFL 的架构。假设有两家公司 A 和 B 想要协同地训练一个机器学习模型。每一家公司都拥有各自的数据,此外 B 方还拥有进行模型预测任务所需的标注数据。由于用户隐私和数据安全的原因,A 方和 B 方不能直接交换数据。为了保证训练过程中的数据保密性,加入了一个第三方的协调者 C 。在这里,我们假设 C 方是诚实的且不与 A 方或 B 方共谋,但 A 方和 B 方都是诚实但好奇的。被信任的第三方 C 是一个合理的假设,因为 C 方的角色可以由权威机关(如政府)扮演或由安全计算节点代替。纵向联邦学习的一个例子在下图左侧展示。VFL 系统的训练过程一般由两部分组成:首先对其具有相同 $ID$ ,但分布不同参与方的实体;然后基于这些已对其的实体执行加密(或隐私保护的)模型训练。
- 第一部分:加密实体对齐
由于 A 方和 B 方公司的用户群体不同,系统使用一种基于加密的用户 ID 对齐技术,来确保 A 方和 B 方不需要暴露各自的原始数据便可以对齐共同用户。在实体对齐期间,系统不会将属于某一家公司的用户暴露出来,如下图所示。
- 第二部分:加密模型训练
在确定共有实体后,各方可以使用这些共有实体的数据来协同地训练一个机器学 习模型。训练过程可以被分为以下四个步骤,如图 5-1(b) 所示。
- 步骤1 协调者 C 创建密钥对,并将公共密钥发送给 A 方和 B 方。
- 步骤2 A 方和 B 方对中间结果进行加密和交换。中间结果用来帮助计算梯度和损失值。
- 步骤3 A 方和 B 方计算加密梯度并分别加入附加掩码(additional mask)。B 方还会计算加密损失。A 方和 B 方将加密的结果发送给 C 方。
- 步骤4 C 方对梯度和损失信息进行解密,并将结果发送回 A 方和 B 方。A 方 B 方解除梯度信息上的掩码,并根据这些梯度信息来更新模型参数。
纵向联邦学习算法
安全联邦线性回归
这种算法利用同态加密方法,在联邦线性回归模型的训练过程中保护属于每一个参与方的本地数据。
安全联邦线性回归模型的训练步骤如下:
安全联邦线性回归模型的预测步骤如下:
安全联邦提升树
安全联邦提升树在 VFL 的设定下对 SecureBoost 进行了研究。研究表明了 SecureBoost 与需要将数据收集与一处的非联邦梯度提升树算法具有相同的精确度。换句话说,SecureBoost 可与不具有隐私保护功能的且在非联邦设定下的相同算法提供相同的精确度。需要注意的是,文献 定义的主动方 (active party)不仅是数据提供方,同时拥有样本特征和样本标签,此外还扮演着协调者的角色,计算每个树节点的最佳分割。 而文献定义的被动方(passive party)只是数据提供者,只提供样本特征,没有样本标签。因此,被动方需要和主动方共同地建构模型来预测标签。
以下步骤是 SecureBoost 算法中一棵树的训练过程:
当完成当前树的构建时,可以计算每个叶节点的最佳权值。然后,根据需求继续构建其他的决策树。
SecureBoost 的预测过程,即使用已经训练好的模型(分散于各个参与方),对新的样本或未标注的样本进行分类。新样本的特征也分散于各个参与方中,并且不能对外公开。每个参与方知道自己的特征,但是对其他参与方的特征一无所知。因此,分类过程需要在隐私保护的协议下,由各参与方协调进行。分类过程从主动方的 root 节点开始。
迁移联邦学习
横向联邦学习和纵向联邦学习要求所有的参与方具有相同的特征空间或样本空间,从而建立起一个有效的共享机器学习模型。然而,在更多的实际情况下,各个参与方所拥有的数据集可能存在高度的差异:
- 参与方的数据集之间可能只有少量的重叠样本和特征。
- 这些数据集的分布情况可能差别很大。
- 这些数据集的规模可能差异巨大。
- 某些参与方可能只有数据,没有或只有很少的标注数据。
为了解决这些问题,联邦学习可以结合迁移学习技术,使其可以应用于更广 的业务范围,同时可以帮助只有少量数据(较少重叠的样本和特征)和弱监督(较少标记)的应用建立有效且精确的机器学习模型,并且遵守数据隐私和安全条例的规定。将这种组合称为联邦迁移学习,它可以处理超出现有横向联邦学习和纵向联邦学习能力范围的问题。
联系迁移学习的分类与定义
迁移学习是一种为跨领域知识迁移提供解决方案的学习技术。在许多应用中,只有小规模的标注数据或者较弱的监督能力,这导致可靠的机器学习模型并不能被建立起来。在这些情况下,仍然可以通过利用和调适相似任务或相似领域中的模型,建立高性能的机器学习模型。近年来,从图像分类、自然语言理解到情感分析,越来越多的研究将迁移学习应用于各种各样的领域中。迁移学习的性能依赖于领域之间的相关程度,目前人们提出了许多用来测量领域相似度的理论模型。
迁移学习的本质是发现资源丰富的源域(source domain)和资源稀缺的目标域 (target domain)之间的不变性(或相似性),并利用该不变性在两个领域之间传输知识。基于执行迁移学习的方法,迁移学习主要分为三类:基于实例的迁移、基于特征的迁移和基于模型的迁移。联邦迁移学习将传统的迁移学习扩展到了面向隐私保护的分布式机器学习范式中。
- 基于实例的联邦迁移学习
对于横向联邦学习,参与方的数据通常来自不同的分布,这可能会导致在这些数据上训练的机器学习模型的性能较差。参与方可以有选择地挑选或者加权训练样本,以减小分布差异,从而可以将目标损失函数最小化。对于纵向联邦学习,参与方可能具有非常不同的业务目标。因此,对齐的样本及其某些特征可能对联邦迁移学习产生负面影响,这被称为负迁移。在这种情况下,参与方可以有选择地挑选用于训练的特征和样本,以避免产生负迁移。
- 基于特征的联邦迁移学习
参与方协同学习一个共同的表征(representation)空间。在该空间中,可以缓解从原始数据转换而来的表征之间的分布和语义差异,从而使知识可以在不同领域之间传递。对于横向联邦学习,可以通过最小化参与方样本之间的最大平均差异 (Maximum Mean Discrepancy, MMD)来学习共同的表征空间。对于纵向联邦学习,可以通过最小化对齐样本中属于不同参与方的表征之间的距离,来学习共同的表征空间。
- 基于模型的联邦迁移学习
参与方协同学习可以用于迁移学习的共享模型,或者参与方利用预训练模型作为联邦学习任务的全部或者部分初始模型。横向联邦学习本身就是一种基于模型的联邦迁移学习。因为在每个通信回合中,各参与方会协同训练一个全局模型(基于所有数据,并且各参与方把该全局模型作为初始模型进行微调(基于本地数据)。对于纵向联邦学习,可以从对齐的样本中学习预测模型或者利用半监督学习技术,以推断缺失的特征和标签。然后,可以使用扩大的训练样本训练更准确的共享模型。
联邦迁移学习旨在为以下场景提供解决方案:
$$
\mathcal{X}_i \neq \mathcal{X}_j ,~
\mathcal{Y}_i \neq \mathcal{Y}_j ,~
\mathcal{I}_i \neq \mathcal{I}_j ,~
\forall \mathcal{D}_i, \mathcal{D}_j, i \neq j,
$$
式中,$\mathcal{X}_i$ 和 $\mathcal{Y}_i$ 分别表示第 $i$ 方的特征空间和标签空间;$\mathcal{I}_i$ 表示样本空间;$\mathcal{D}_i$ 表示第 $i$ 方拥有的数据集。最终目标是尽可能准确地对目标域中的样本进行标签预测(或回归预测)。
从技术角度来看,联邦迁移学习和传统的迁移学习主要有以下两方面的不同:
- 联邦迁移学习基于分布在多方的数据来建立模型,并且每一方的数据不能集中到一起或公开给其他方。传统迁移学习没有这样的限制。
- 联邦迁移学习要求对用户隐私和数据(甚至模型)安全进行保护,这在传统迁移学习中并不是一个主要关注点。
联邦迁移学习将传统迁移学习带到基于面向隐私保护的分布式机器学习范式中。 因此,下面对一个联邦迁移学习系统所必须保证的安全性进行了定义。
联邦迁移学习系统的安全定义:一个联邦迁移学习系统一般包括两方,称为源域和目标域。一个多方的联邦迁移学习系统可以被认为是多个两方联邦迁移学习系统的结合。联邦迁移学习假设每一方都是诚实但好奇(honest-but-curious)的。这意味着,联邦中的所有方都遵守联邦的协议和规则,但他们会尝试从收到的数据中推测出尽量多的信息。考虑一个有半诚实敌对方的威胁模型,该敌对方最多可以破坏联邦迁移学习系统中的一方。对于一个表示为$(O_A,O_B)=P(I_A,I_B)$的协议 P,其中 $O_A$ 和 $O_B$ 分别是 A 方和 B 方的输出,$I_A$ 和 $I_B$ 分别是它们的输入,如果存在无穷多个 $(I_B^{‘},O_B^{‘})$ 对,使得 $(O_A,O_B^{‘})=P(I_A,I_B^{‘})$,则 P 对 A 方是安全的。
联邦迁移学习框架
在迁移联邦学习中,需要用隐私保护方法来计算参数。最常用的两种方式,一种基于同态加密,另一种基于秘密共享。加法同态加密(AHE)和多项式近似已被广泛应用于面向隐私保护的机器学习中。
联邦学习激励机制
联邦学习激励机制(Federated Learning Incentivizer,FLI)的任务目标为最大化联邦的可持续性经营,同时最小化参与方间的不公平性,动态的将给定的预算分配给联邦中的各个参与方,还可以扩展为一种能够帮助联邦抵制恶意的参与方的调节机制。
贡献的收益
对于联邦而言,参与方持续地参与到联邦的学习进程(例如,通过共享加密的模型参数)是其长期成功的关键所在。参与方加入联邦,构建一个机器学习模型,从而对联邦作出贡献,训练出的模型可以产生收益。联邦可以与参与方们共享部分收益,以此作为激励,如下图所示。这里的研究问题是,如何以情境感知等方式量化每个参与方为联邦带来的收益,从而实现联邦长期的可持续经营。
收益分享博弈
一般而言,广泛使用的收益分享方法可以分为三类。
- 平等。由数据联邦产生的任何效用,都平均分配给帮助生成它的参与方。
- 边际收益。数据联邦中的参与方的效益是它加入团队时所产生的效用。
- 边际损失。数据联邦中的参与方的效益是它离开团队时所产生的效用。
反向拍卖
除了基于收益分享博弈的方法,反向拍卖还能被用来制定激励计划,以提高各参与方所贡献的数据的质量。目前,已经有了用于传感器数据的反向拍卖方法,该方法的目的是在提供有质量的数据前提下,寻求最低廉的传感器组合方式。这类方法基于一种假设,即中央实体清楚自己需要何种数据(例如地理分布)。然而,这类方法通常假设数据质量与成本或代价无关(因为反向拍卖需要相同的物品)。一种不好的结果是,参与方可能仅仅为了获取回报,而提交不具有信息的数据来套利。另一种获取指定质量的数据的方法是发布奖励,这是一种只能接受或放弃的方法。联邦可以发布一个固定额度的奖励,以奖励那些能够贡献具有指定质量的数据的参与方。如果需要付出的代价低于能够得到的回报奖励,参与方可以选择参与到联邦模型训练中去;或者如果代价高于能够得到的奖励,则参与方可以不参与。当需要参于方的努力以满足数据的质量需求时,可以有三种奖励设计方案。
- 通过输出协议
- 通过信息理论分析
- 通过模型改良
注重公平的收益分享框架
前面提到的方案可以扩展至参与方们未被预先奖励的情况,但他们必须等待联邦模型产生利润,之后才能得到奖励。下面介绍联邦学习系统模型并导出了 FLI 收益分享方案。如下图所示。
- 建模贡献
- 建模代价
- 建模期望损失
- 建模时间期望损失
- 策略协调(三个公平标准)
- 贡献公平性(Contribution Fairness)。参与方 $i$ 的回报应该与其对联邦 $q_i(t)$ 的贡献明确相关。
- 期望损失分配公平性(Regret Distribution Fairness )。参与方间的期望损失和时间期望损失应该尽可能的小。
- 期望公平性(Expectation Fairness)。参与方的期望损失和时间期望损失随时间推移而产生的变化应该尽可能的小。
- 计算收益评估比重
版权声明:本博客所有文章除特殊声明外,均采用 CC BY-NC 4.0 许可协议。转载请注明出处 WX的博客!