Federated Machine Learning: Concept and Applications
论文链接: link
概述
① AI的两大挑战:数据孤岛、加强数据隐私和安全。
② 文章提出的方法:联邦安全学习
③ 作者提出的全面的安全的联邦学习框架:横向联邦学习、纵向联邦学习、联邦迁移学习。
④ 作者建议在基于联邦机制的组织之间建立数据网络,可以在保护用户隐私的情况下进行知识共享。
1. Introduction
(1)困难:
AI项目需要的数据的类型太多,数据集融合阻力太多,对数据安全和用户隐私的强调。
(2)当今的一个主要挑战:
如何合法地解决数据碎片化和隔离的问题。
(3)解决方法:
联邦学习(符合数据隐私和安全法律的数据集成的方法)
2. An overview of fedreated learning
(1)联邦学习的主要思想:
在防止数据泄露的同时,基于分布在多个设备上的数据集建立一个机器学习模型。
(2)优化的主要因素:分布式移动设备用户交互,大规模分布的通信成本,数据分布不平衡和设备可靠性。
数据通过用户ID或设备ID进行分区,因此,可以在数据空间中水平地划分数据。
(3)文章工作:
提供了一个更全面的联邦学习定义,它考虑了数据分区、安全性和应用程序。还描述了一个针对联邦学习系统的工作流和系统体系结构。
2.1 联邦学习的定义
传统方法:取并集,合作训练一个模型
联邦学习方法:数据拥有者不公开数据,合作训练模型
2.2 联邦学习的隐私
这一节的工作:简要回顾和比较联邦学习的不同隐私技术,并确定了防止间接泄漏的方法和潜在挑战。
(1)FL的隐私技术
① 多方安全计算SMC
需要多方参与,在定义良好的仿真框架中提供安全证明,以保证完全零知识(各方除了输入和输出什么都不知道)。
零知识是非常理想的,但是这种理想的特性通常需要复杂的计算协议,而且可能不能有效地实现。在某些场景中,如果提供了安全保证,则可以认为部分知识公开是可以接受的。
在较低的安全要求下,可以用SMC建立一个安全模型,以换取效率。
除了SMC架构还有MPC协议,MPC协议一般是除去用户暴露的敏感隐私数据.
这些工作都是基于部分数据能够被加密分享在没有共谋的服务商之间.
② 差分隐私
差分隐私、k-匿名、分散化等方法包括:在数据中加入变化的噪音、使用泛化方法来模糊某些敏感属性,直到第三方无法区分,从而使数据无法恢复以保护用户的隐私
这些方法都需要将数据传输到其他地方,这通常涉及到隐私性与安全性的权衡
在link 中,作者介绍一个差分隐私的方法,可以通过在训练时隐藏客户的贡献,来保护客户端的数据。
③ 同态加密
通过在机器学习中对参数进行置换从而保护隐私数据。模型和数据都在本地,同时不会被对方数据猜到,因此原始数据基本不会泄露。
在实际应用的机器学习算法中,加法同态加密可以对非线性函数进行多项式逼近,从而在精度和隐私之间进行权衡
(2)间接信息泄露
问题:SGD等优化算法的参数更新,没有提供安全保障,当与数据结构一起公开时,梯度的泄露可能会泄露重要的数据信息(在联邦全局模型中插入隐藏的后门,)。
解决方法:并提出一种新的“约束和规模”模型-中毒方法,以减少数据中毒。
推理攻击:在协作机器学习中,一个对抗性的参与者可以推断出成员身份以及与训练数据子集相关的属性。
解决方法:提出了梯度下降方法的一种安全变体,能容忍一定的拜占庭作恶。
其他方法:使用区块链作为促进联邦学习的平台。
在BlockFL结构中,移动设备的本地学习模型更新,利用区块链进行交换和验证。他们考虑了最优块生成、网络可伸缩性和鲁棒性问题。
2.3 联邦学习的种类
根据 数据如何在特征和样本ID空间中在各方之间分布,分为:
横向联邦学习、纵向联邦学习、联邦迁移学习。
(1)横向联邦学习
定义:基于样本的联邦学习:数据集有共享的特征空间,但是样本不一样。
目前的相关研究:
[58]一个协作式的深度学习方案,参与者独立训练,只共享参数更新的子集。(谷歌为安卓手机型号更新 提出了横向联邦学习解决方案,手机的单个用户本地更新参数,并将参数上传到安卓云,从而与其他数据所有者共同训练集中式模型)
[9]中还引入了一种安全的聚合方案,以在联邦学习框架下保护聚合用户更新的隐私。
[51]的作者附加使用同态加密进行模型参数聚合,以提供针对中央服务器的安全性。
[60]多任务模式的联邦学习:允许多个站点完成单独的任务,同时共享知识和保持安全性。另外也解决高通信成本、故障排除和容错问题。
[41]构建一个安全的客户端-服务器结构:联邦学习系统按用户划分数据,并允许在客户端设备上构建的模型在服务器站点上协作,以构建全局联邦模型。模型的构建过程确保了没有数据泄露。
[36]为了提高通信成本,便于基于分布在移动客户端上的数据来训练集中式模型。
[39]在大规模分布式训练中,提出了一种称为深度梯度压缩的压缩方法。
安全定义:
一般假设建立在诚实的参与节点中,只有服务器能够破坏参与者的隐私.。
最近,另一种考虑恶意用户[29]的安全模型也被提出,但是这给隐私带来了额外的挑战,它在训练结束时,将通用模型和所有模型参数暴露给所有参与者。
(2)纵向联邦学习
定义: 基于特征的联邦学习:两个数据集有相同的样本ID空间,但特征空间不同。
针对垂直划分的数据,提出了保护隐私的机器学习算法, 包括合作统计分析[15],关联规则挖掘[65],安全线性回归[22,32,55],分类[16],梯度下降[68]。
纵向联合学习的过程:聚合这些不同的特征,并以保护隐私的方式计算训练损失和梯度,以利用两者的数据协作构建模型。
安全定义:
假设参与者是honest-but-curious的。
安全定义是,对手只能从它损坏的客户端学习数据,而不能从其他客户端学习除了输入和输出之外的数据。
为了帮助在双方之间实现安全计算,有时候会引入半成熟的第三方(semi-honest third party STP)。
在这种情况下,假定STP不与任何一方串通。SMC为这些协议提供了正式的隐私证明。
在学习结束时,每一方只持有那些与自己的特征相关的模型参数。
因此,在预测时,双方还需要协作来生成输出。
(3)联邦迁移学习 FTL
定义: 这两个数据集不仅在样本空间上不同,而且在特征空间上也不同。
在这种情况下,迁移学习技术可以用于 在联邦下,为整个样本和特征空间提供解决方案。
安全定义:
一个迁移联邦学习需要包含两个部分。它的协议类似于纵向联邦学习中的协议。(后文会详细介绍)
2.4 一个联邦学习系统的结构
这一节工作:举例说明联邦学习系统的通用架构
(1)横向联邦学习
拥有相同数据结构的K个参与者,通过参数和云服务器的,共同学习一个机器学习模型
假设:一个典型的假设是,参与者是诚实的,而服务器是诚实但好奇的,因此不允许从任何参与者向服务器泄露信息
步骤:
step 1:参与者本地计算训练梯度,使用加密算法、差分隐私、秘密共享技术隐藏梯度,并将加密后的数据发送给服务器;
step 2: 服务器在不学习参与者数据的前提下,进行安全聚合;
step 3:服务器将聚合后的结果发送给参与者
step 4:参与者根据解密梯度,来更新各自的模型
迭代以上步直到损失函数收敛,完成整个训练的过程。该结构独立于特定的机器学习算法(logistic regression, DNN等),所有参与者将共享最终的模型参数。
安全性分析:
如果使用SMC或同态加密进行梯度聚合,证明上述体系结构可以防止半诚实服务器的数据泄漏。
但是在另一个安全模型中,它可能在协作学习过程中受到恶意参与者通过训练生成对抗网络(GAN)进行攻击。
(2)纵向联邦学习
假设:可信的第三方合作者C是诚实的,不与A或B串通,但A和B互相honest-but-curious
联邦学习架构包括两部分:
Part 1:加密实体对齐
由于这两家公司的用户组不相同,因此系统使用了基于加密的用户ID对齐技术,用来确认双方的共同用户,而A和B不公开各自的数据。.在实体对齐时,系统不会公开彼此不重叠的用户。
Part 2:加密模型训练
在确定公共实体后,可以利用这些公共实体的数据来训练机器学习模型
步骤:
step 1:第三方写作者C创建加密对,向a和B发送公钥
step 2:A和B加密、交换中间结果,来进行梯度和损失计算
step 3:A和B计算加密后的梯度,并分别添加另外的掩码,B也计算加密损失;A和B向C发送加密值;
step 4:C解密,并将解密后的梯度和损失发送回A和B;A和B解码梯度,更新模型和参数。
使用线性回归和同态加密描述训练过程
训练阶段:
评估阶段:
该模型的效率取决于加密数据的通信成本和计算成本。
因此,采用分布式并行计算技术可以进一步提高该算法的效率。
安全性分析:
表1所示的训练协议 没有泄露任何的信息给C,因为C学到的都是加了掩码的梯度,保证了掩码梯度和掩码矩阵的随机性和保密性。
A根据每一步学习的梯度,不足以根据:
学到B的信息。同理B也无法学到A的信息。证明了协议的安全性。
注意:我们假设双方之间都是半诚实的.
如果一方是恶意的,并且通过伪造输入来欺骗系统,这种偏差会扭曲下一次迭代的结果,使另一方警觉,导致终止学习过程。
整个训练中,A和B都不知道另一方的数据结构,只能获得与自己的特征相关的模型参数。在推断时,按照表2所示的步骤协同计算预测结果,仍然不会导致信息泄露。
(3)联邦迁移学习
使覆盖范围扩展到整个样本空间
整体结构与纵向联邦学习类似,交换中间结构的细节不同。
迁移学习通常包括学习A方和B方特征之间的共同表征,并且通过利用源域方(此案例中的B)的标签,来最小化预测目标域方标签的错误(最小化损失 )
AB在计算梯度时,与纵向联邦学习的不同:在预测时,仍然需要双方计算预测结果。
(4)激励机制
使不同组织之间的联邦学习完全商业化,需要建立一个公平的平台和机制。
架构:将模型的性能记录在永久的数据记录机制中,提供更多数据的组织会更好,模型的有效性取决于数据提供者对系统的贡献。
上述架构的实现不仅考虑了多个组织之间协作建模的隐私保护和有效性,还考虑了如何奖励提供更多数据分析的组织,以及如何通过共识机制实施激励机制。因此,联邦学习是一种“闭环”的学习机制。
3. 相关工作
这一节从多个角度解释联邦学习与其他相关概念之间的关系。
3.1 隐私-保护的机器学习
联邦学习可以看作是一种保护隐私、分布式协同的机器学习.。因此,它与多方保护隐私的机器学习紧密相关。过去在这一领域进行了许多研究工作。
3.2 联邦学习 vs 分布式机器学习
横向联邦学习有点类似于分布式机器学习。分布式机器学习涵盖了许多方面,包括训练数据的分布式存储、计算任务的贡献操作,模型结果的分布式分布,
分布式机器学习:参数服务器是分布式机器学习的典型元素。可以通过存储分布式工作节点的数据、定位数据、通过中心调度节点计算资源,来加速训练过程,使训练更高效。
横向联邦学习:工作节点只表示数据拥有者。其他都由本地数据自己决定是否加入联邦学习。学习环境更复杂。在模型训练中更强调数据拥有者的数据隐私保护。有效的保护数据隐私的措施可以更好地应对未来日益严格的数据隐私和数据安全监管环境。
3.3 联邦学习 vs 边缘计算
联邦学习可以被看作是一个边缘计算的操作系统,因为它提供了协调和安全的学习协议。
文献[69]的作者考虑了一类通用的机器学习模型,这些模型使用基于梯度下降的方法进行训练。他们从理论上分析了分布梯度下降法的收敛界,在此基础上提出了一种控制算法,在给定资源预算的情况下,通过确定局部更新和全局参数聚集之间的最佳权衡,使损失函数最小化。
3.4 联邦学习 vs 联邦数据库系统
联邦数据库系统是集成多个数据库单元、并对管理整个集成系统的系统。
为了实现与多个独立数据库的互操作性,才提出的
联邦数据库系统在数据的类型和存储方面与联邦学习有很多相似的。但是在交互过程中,不涉及隐私保护机制,所有的数据库单元对管理系统都是完全可见的。
联邦数据库系统的重点是数据的基本操作,包括插入、删除、搜索和合并;
联邦学习的目的是在保护数据隐私的前提下,为每个数据所有者建立一个联合模型,从而使数据所包含的各种价值和规律更好的为我们服务。
4. 应用
(1)概述
联邦学习作为一种创新的建模机制,可以在不损害数据隐私和安全性的情况下,使用多方数据训练一个联合的模型。
联邦学习具有良好的前景,在销售、金融和许多其他行业中有广泛的应用。由于知识产权、隐私保护以及数据安全等因素,数据不能直接用于训练机器学习模型。
(2)问题:数据堡垒、数据异质的模型训练
首先,为了保护数据隐私和数据安全,银行、社交网站和电子购物网站之间的数据障碍很难被打破。因此,数据不能被直接聚合用来训练模型。
其次,存储在三方中的数据通常是异质的,传统的机器学习模型不能直接用于异质数据。
(3)解决方法
联邦学习+迁移学习
首先,利用联邦学习的特点,我们可以在不导出企业数据的情况下,为各方建立一个机器学习模型,这不仅完整保护了数据的隐私和数据安全,也为客户提供个性化和有针对性的服务,从而实现互利。
同时,我们可以利用迁移学习来解决数据的异质性问题,突破传统人工智能技术的局限性。
因此联邦学习可以让我们为给大数据和人工智能构建一个跨企业、跨数据和跨领域的生态圈提供了良好的技术支持。
(4)具体应用
银行业:
人们可以使用联邦学习框架进行多方数据库查询,而不公开数据。
智慧医疗:
.迁移学习可以应用于填补缺失的标签,从而扩大可用数据的规模,进一步提高训练模型的性能。
5. 联邦学习和企业数据联盟
(1)重要性:联邦学习的商业模式为大数据的应用提供了一个新的范例。
(2)发展历程:传统数据集中训练、云计算、联邦学习
(3)意义:
当各机构所占用的孤立数据不能产生一个理想的模型时,联邦学习机制使机构和企业能够在不用数据交换的情况下,可以共享一个统一的模型。
此外,联邦学习可以利用区块链技术的共识机制,制定公平的利润分配规则。
6. 总结和前景
(1)总结:数据孤岛和对数据隐私的重视正成为人工智能面临的下一个挑战,联邦学习带来了希望。联邦学习在保护本地数据的同时,为多方企业建立了一个联合的模型,使企业可以以数据安全为前提共同取胜。
(2)前景: 希望联邦学习将打破工业之间的障碍,建立一个社区,使数据和知识可以安全共享 ,同时利润将根据每个参与者的贡献进行公平分配。人工智能的好处最终将被带到我们生活的每个角落。