
联邦学习基础概念
参考书籍《深入浅出隐私计算》 - 李伟荣《隐私计算》 - 陈凯, 杨强结合大模型工具,以此笔记,记录自己的学习过程。
参考书籍
《深入浅出隐私计算》 - 李伟荣
《隐私计算》 - 陈凯, 杨强
结合大模型工具,以此笔记,记录自己的学习过程。
联邦学习
一.联邦学习背景
什么是联邦学习?当多个数据拥有方 F 1 , F 2 . . . , F N {F_1,F_2...,F_N } F1,F2...,FN,想要联合各自数据训练机器学习模型店时候,传统做法是把数据整合到一起,形成一个整体的数据集,但后利用这个数据集进行训练。但是这个方案在遇到隐私数据的时候,就遇到了数据安全和隐私的法律问题。为了解决这个问题,研究者引入了联邦学习。联邦学习是指数据拥有放 F i F_i Fi在不用给出己方数据的情况下,也可以进行模型训练,且训练出的模型效果与原本的模型效果足够相似。
举例来说,现在有多家不同医院,各自拥有自己的孤立的数据库,数据库的数据也都可以用于机器学习。但显然,如果多个医院将数据联合在一起,得到更庞大的数据集,一起进行模型训练,就可以得到更完整的、更准确的机器学习模型。但是,由于隐私保护要求,各医院有保护病人隐私的伦理和法律要求,故而不能让数据离开个自己的数据中心,造成了数据泄露,所以无法简单的合并,只能在各自地方训练各自的模型。而联邦学习提供了一种框架,可以让各医院的数据不离开本地,格子在本地进行模型训练了片,以加密的形式进行模型参数的交换,训练出的统一模型。这就是联邦学习基本思想“数据不动,模型动”
联邦学习为一种具有以下特征的机器学习算法框架:
- 多方参与:有两个或以上的参与方合作构建共享的机器学习模型。每一个参与方都拥有一部分数据用以训练模型;
- 不交换数据:在联邦学习训练过程中,任意一个参与方的任意原始数据不会离开该参与方,不会被直接交换和收集;
- 保护传输信息:在联邦学习训练过程中,训练所必需的信息需要经过保护后在各参与方之间进行传输,使得各参与方无法基于传输的信息推测其他参与方的数据;
- 近似无损:联邦学习模型的性能要充分接近理想模型(即各参与方通过直接合并数据训练得到的模型)的性能。
以上定义陈述了一个联邦学习算法所必须满足的特征。在不同的应用场景下,研究人员设计了不同的联邦学习算法以满足具体需求。以下将对联邦学习的具体分类进行介绍。
二.联邦学习的分类方法
联邦学习可以根据不同的标准进行分类,最常见的是按照数据分布的方式和参与方之间的关系来划分。以下是联邦学习的主要分类:
1. 按照数据分布方式分类
1.横向联邦学习(Horizontal Federated Learning, HFL)
横向联邦学习(Horizontal Federated Learning)的本质是样本的联合,适用于参与者间业态相同或相近,但触达客户不同(即特征重叠多,用户重叠少)的场景。此时,把数据集按照横向(即用户维度)切分,取出各方用户特征相同而用户不完全相同的那部分数据进行训练,这种方法就叫作横向联邦学习,如下图(虚线框里才是训练模型学习的部分)。
数据分布的主要特点是:
- 特征空间一致,例如各银行的收集用户的数据的类型是一致的
- 样本ID不同,各银行用户不同
目标:
- 通过聚合来自不同参与方的不同特征信息,创建一个更加全面、准确的机器学习模型,而不需要直接共享原始数据。
典型的应用包括但不限于:
- 金融服务:多家银行联合起来改进信用评分模型,而不必共享具体的客户交易记录。
下图是横向联邦学习典型的训练过程。在这个系统中,有k个参与方,他们所拥有的数据的结构相同,通过一个服务器S来协同进行模型训练。典型的安全假设是各参与方是诚实的,但是服务器S是半诚实的,因此发送给服务器S的数据需要加密处理。该典型的训练过程主要包含以下4步。
-
初始化
通常由聚合服务器(中央服务器)初始化一个全局模型,并将其分发给各个参与方(客户端)。
-
本地训练
每个参与方使用自己的本地数据对收到的全局模型进行一轮或多轮训练,生成本地更新(如梯度或参数变化)
-
上传更新
每个参与方将计算产生的梯度(属于机器学习中的基础概念)本地更新加密后发送回聚合服务器。这里可以应用差分隐私或其他隐私保护技术以增强安全性。
-
聚合更新
聚合服务器收集到来自所有参与方的更新后,采用某种聚合策略(如FedAvg算法)对这些更新进行加权平均,从而形成新的全局模型。
-
迭代优化
新的全局模型再次被分发给各参与方,重复上述步骤直到满足收敛条件或达到预设的最大迭代次数。
-
部署与评估
最终得到的全局模型可以在所有参与方内部署,用于做出预测或决策;也可以用独立的测试集来进行性能评估。
下图是一个更新梯度的示意图
未来的挑战与解决方案
- 非独立同分布(Non-IID)问题:即使是在同一特征空间内,不同参与方的数据分布也可能存在差异。这可能导致模型收敛缓慢或过拟合某些特定的数据模式。为了解决这个问题,可以引入正则化项、调整损失函数权重,或是采用更加复杂的聚合规则如Krum或Median等鲁棒性聚合方法。
- 通信开销:频繁地在客户端与服务器之间传递模型更新会带来显著的通信负担。为此,研究者们提出了多种压缩技术(如量化、稀疏化)、局部更新规则以及异步更新机制来减少通信频率和量级。
- 系统异构性:参与方之间的硬件设备性能、网络状况可能存在很大差异,影响整体训练速度。可以通过设计灵活的任务调度策略、优化算法以及采用边缘计算等方式来缓解这一问题。
2.纵向联邦学习(Vertical Federated Learning, VFL)
纵向联邦学习(Vertical Federated Learning, VFL)是联邦学习的一种形式,它适用于不同参与方拥有相同的样本但特征空间不同的情况。这意味着每个参与方的数据集在样本维度上是重叠的,但在特征维度上有差异。VFL的主要目的是通过联合这些互补的特征来构建一个更强大的机器学习模型,同时确保数据隐私。
数据分布:
- 相同的样本ID:例如,在医疗保健领域中,两家医院可能对同一组患者有不同的检查记录。
- 不同特征维度:继续上面的例子,一家医院可能记录了患者的临床症状和治疗历史,而另一家则可能有基因检测结果或其他实验室测试数据。
目标:
- 通过聚合来自不同参与方的不同特征信息,创建一个更加全面、准确的机器学习模型,而不需要直接共享原始数据。
典型的应用包括但不限于:
-
医疗保健:不同医疗机构之间可以共享疾病诊断知识,以开发更精准的预测工具,同时保护患者隐私。例如,医院A可能有详细的病历资料,而医院B则有更多的影像学数据。
-
零售行业:零售商和供应商可以通过VFL共同优化库存管理和个性化推荐系统,提高运营效率和服务质量。零售商可以提供销售数据,而供应商则可以补充产品特性等信息。
工作流程
-
初始化
- 通常由中央服务器或其中一个参与方(称为“协调者”)初始化一个全局模型,并确定哪些参与方将贡献哪些特征。
-
特征对齐
- 为了确保不同参与方的数据能够正确关联,必须先进行样本ID的匹配和特征的对齐。这一步骤至关重要,因为只有当样本对应关系明确时,才能安全地执行后续步骤。就下图的加密样本的这一步
-
本地计算
- 每个参与方根据自身的特征子集对本地数据进行计算,生成中间结果(如梯度、预测值等)。这些计算可以在加密状态下完成,以保护数据隐私。
-
安全聚合
- 中央服务器或协调者收集到来自所有参与方的安全加密中间结果后,使用特定的安全协议(如同态加密、秘密分享、多方安全计算MPC等)对这些结果进行聚合,更新全局模型。
-
迭代优化
- 新的全局模型再次被分发给各参与方,重复上述步骤直到满足收敛条件或达到预设的最大迭代次数。
-
部署与评估
- 最终得到的全局模型可以在所有参与方内部署,用于做出预测或决策;也可以用独立的测试集来进行性能评估。
挑战与解决方案
-
特征对齐问题:确保不同参与方的数据能够在样本层面正确匹配是一个关键挑战。可以通过引入唯一标识符、哈希函数等方式解决这一问题,同时保持匿名性和隐私性。
-
通信效率:频繁地在参与方之间传递中间结果会带来显著的通信负担。为此,研究者们提出了多种压缩技术(如量化、稀疏化)、局部更新规则以及异步更新机制来减少通信频率和量级。
-
系统异构性:参与方之间的硬件设备性能、网络状况可能存在很大差异,影响整体训练速度。可以通过设计灵活的任务调度策略、优化算法以及采用边缘计算等方式来缓解这一问题。
-
模型复杂度增加:随着更多特征的加入,模型的复杂度可能会增加,导致过拟合风险上升。为了解决这个问题,可以引入正则化项、调整损失函数权重,或是采用更加复杂的模型结构如深度神经网络。
3.联邦迁移学习(Federated Transfer Learning, FTL)
联邦迁移学习(Federated Transfer Learning, FTL)是联邦学习与迁移学习相结合的一种形式,旨在解决数据分布不均匀、样本量有限或特征空间差异较大的问题。FTL允许在不同领域或任务之间共享知识,从而提升模型的泛化能力和效率,同时确保数据隐私。
数据分布特点:
- 样本ID不一致
- 特征空间和目标变量也显著差异,例如,一个电商网站可能拥有大量的用户行为数据,而一家金融机构则可能有丰富的金融交易记录,两者之间的数据几乎没有重叠。
目标:
- 核心思想是从一个或多个源域中提取有用的知识,并将其应用到目标域的任务上
典型的应用包括但不限于:
- 零售与电子商务:零售商和电商平台可以通过FTL共同优化库存管理和个性化推荐系统,即使它们的产品种类和服务模式有所区别。例如,一家服装零售商可以与一家电子产品零售商合作,通过共享用户行为模式来提高双方的销售转化率。
工作流程
-
初始化
- 通常由中央服务器或协调者根据源域的数据训练一个基础模型,这个模型可以是一个通用的深度神经网络,也可以是特定领域的专家模型。
-
特征映射与对齐
- 在不同的特征空间之间建立联系,使得源域的知识能够有效地迁移到目标域。这一步骤可能涉及到特征变换、嵌入学习等技术,以确保源域和目标域的数据能够在相同的特征空间内进行比较和结合。
-
本地适应
- 每个参与方(客户端)在其本地数据集上调整从源域迁移过来的知识,以适应自己的具体任务需求。例如,在目标域上微调预训练模型的某些层,或者仅使用源域提供的特征表示作为输入。
-
安全聚合
- 中央服务器或协调者收集到来自所有参与方的安全加密更新后,通过特定的安全协议(如同态加密、秘密分享、多方安全计算MPC等)对这些更新进行聚合,更新全局模型。
-
迭代优化
- 新的全局模型再次被分发给各参与方,重复上述步骤直到满足收敛条件或达到预设的最大迭代次数。
-
部署与评估
- 最终得到的全局模型可以在所有参与方内部署,用于做出预测或决策;也可以用独立的测试集来进行性能评估。
2. 按照网络结构和通信模式分类
中心化联邦学习(Centralized Federated Learning)
- 特点:存在一个中央服务器协调全局模型的训练过程。客户端从服务器下载最新的全局模型,在本地数据上进行训练后上传更新给服务器。服务器负责聚合所有客户端的更新并生成新的全局模型。
去中心化联邦学习(Decentralized Federated Learning)
- 特点:没有单一的中央服务器;相反,节点之间直接相互通信以交换模型参数或梯度信息。这种方式减少了对单点故障的依赖,并且可以在更复杂的网络环境中运作。
3. 按照参与者的角色分类
对称式联邦学习(Symmetric Federated Learning)
- 特点:每个参与者都扮演相同的角色,即所有的客户端都可以平等参与到模型训练过程中,贡献自己的数据用于更新全局模型。
非对称式联邦学习(Asymmetric Federated Learning)
- 特点:一些参与者可能拥有更多的资源或者更好的数据质量,因此它们可能会被赋予更大的权重或更多的责任,例如作为“领导者”来指导其他参与者的工作。
三.各个隐私计算技术在联邦学习中的应用
1. 差分隐私 (Differential Privacy, DP)
概念
差分隐私是一种数学框架,旨在通过向输出添加可控噪声来保护个体记录的隐私性,即使攻击者拥有其他所有记录的信息,也无法准确推断出特定个体的数据。
应用
- 模型更新保护:在联邦学习中,客户端上传的模型参数更新会被加入适当的随机噪声,以防止泄露关于单个用户的具体信息。
- 查询结果保护:当从聚合后的模型获取统计信息时,同样可以通过差分隐私机制保护这些查询的结果,避免暴露敏感信息。
2. 同态加密 (Homomorphic Encryption, HE)
概念
同态加密允许对密文执行某些类型的运算,而无需解密,其结果解密后与直接对明文进行相同运算的结果一致。
应用
- 安全聚合:客户端可以在本地对数据或模型参数进行加密,并将加密后的值发送给中央服务器。服务器能够直接处理这些加密数据,比如求和或平均值,而不会知道实际的内容。
- 保持数据机密性:在整个联邦学习过程中,数据始终保持加密状态,只有最终的聚合结果是可以解密的,从而极大增强了安全性。
3. 安全多方计算 (Secure Multi-party Computation, MPC)
概念
安全多方计算允许多个参与方共同计算一个函数,每个参与方仅提供自己的输入部分,且在整个计算过程中任何一方都无法得知其他方的输入内容。
应用
- 联合建模:不同机构之间可以利用MPC技术来进行联合机器学习任务,如构建线性回归模型或分类器,而不必公开各自的数据集。
- 特征工程:多个参与方可以共同计算特征变换或特征选择,例如PCA降维等操作,同时保证原始数据的安全性和隐私性。
4. 零知识证明 (Zero-Knowledge Proof, ZKP)
概念
零知识证明让一方(证明者)能够在不透露任何额外信息的情况下向另一方(验证者)证明某个陈述的真实性。
应用
- 身份验证和授权:在联邦学习环境中,零知识证明可用于验证客户端的身份或权限,而不需要暴露具体的个人信息。
- 模型贡献度验证:客户端可以使用ZKP来证明自己对全局模型做出了有效贡献,而无需揭示具体的训练细节。
5. 私有信息检索 (Private Information Retrieval, PIR)
概念
私有信息检索使用户可以从数据库中获取所需的信息,而不会让服务提供商知道用户具体请求了哪一条记录。
应用
- 数据访问控制:在一个联邦学习系统中,PIR可以帮助参与者安全地访问其他参与者的公共数据集中的特定条目,而不会泄露查询意图。
- 模型参数下载:客户端可以使用PIR来下载所需的模型参数更新,而不必让服务器知道它需要哪些参数。
6. 联邦学习中的混合方案
实际上,在实际部署中,往往不是单一使用某一种隐私计算技术,而是结合多种技术形成混合方案,以达到最佳的安全性和效率平衡。例如:
- 差分隐私 + 同态加密:可以在客户端侧使用差分隐私保护本地更新,然后使用同态加密传输这些更新到中央服务器进行安全聚合。
- MPC + ZKP:利用MPC实现跨组织的安全计算,再结合ZKP验证各方的行为合规性,确保整个过程透明可信。
四.开源的联邦学习框架
框架名称 | 受众定位 | 牵头公司 | 支持类型 | 机器学习算法 | 基础隐私 计算技术 | 开源地址 |
---|---|---|---|---|---|---|
FATE | 工业产品、 学术研究 | 微众银行 | 横向联邦、 纵向联邦、 迁移学习 | LR、GBDT、DNN等 | 同态加密、 秘密共享 | https://github.com/ FederatedAI/FATE |
PaddleFL | 工业产品、 学术研究 | 百度 | 横向联邦、 纵向联邦 | LR、D NN等 | 同态加密、 秘密共享、 差分隐私 | https://github.com PaddlePaddle/Pad- dleFL |
TensorFlow Federated | 学术研究 | 谷歌 | 横向联邦 | LR、D NN等 | 差分隐私 | https://github.com/ tensorflow/federated |
Pysyft | 学术研究 | OpenMind | 横向联邦 | LR、D NN等 | 同态加密、 秘密共享、 差分隐私 | https://github.com/ OpenMined/PySyft |
CrypTen | 学术研究 | 横向联邦 | L R 、 D N N 等 | 秘密共享 | https://github.com/ facebookresearch/cry- pten |
更多推荐
所有评论(0)