联邦学习(Federated Learning)是一种分布式机器学习技术,其核心思想是通过在多个拥有本地数据的数据源之间进行分布式模型训练,在不需要交换本地个体或样本数据的前提下,仅通过交换模型参数或中间结果的方式,构建基于虚拟融合数据下的全局模型,从而实现数据隐私保护和数据共享计算的平衡,即“数据可用不可见”、“数据不动模型动”的应用新范式。
背景介绍
随着人类社会数字化进程越来越快,产生了大量数据。通过机器学习技术可以自动化地挖掘数据中蕴藏的宝藏,经过大量数据训练出来的机器学习模型已经应用在各类场景中,正在深刻改变着我们的世界,例如精准医疗、临床辅助诊断、新药研发、人像识别、声纹识别、千人千面推荐算法、图片、语音、自然语言等多模态学习。在应用中,模型的精度、泛化能力等至关重要,而这些都赖于机器对大量数据的学习。
受限于法律法规、政策监管、商业机密、个人隐私等数据隐私安全上的约束,多个数据来源方无法直接交换数据,形成“数据孤岛”现象,制约着人工智能模型能力的进一步提高。联邦学习的诞生即是为了解决这一问题。
定义
联邦学习本质上是一种分布式机器学习框架,其做到了在保障数据隐私安全及合法合规的基础上,实现数据共享,共同建模。它的核心思想是在多个数据源共同参与模型训练时,不需要进行原始数据流转的前提下,仅通过交互模型中间参数进行模型联合训练,原始数据可以不出本地。这种方式实现数据隐私保护和数据共享分析的平衡,即“数据可用不可见”的数据应用模式。
发展史
联邦学习的技术理论基础可以追溯到分布式数据库(Distributed Database)关联规则挖掘技术,1996年,Cheung等人首次提出在分布式数据库中实现关联规则(Association Rules)挖掘。
2006年,Yu等人提出了在横向和纵向分割的数据上,实现带有隐私保护的分布式支持向量机建模。
2012年,王爽教授团队首次提出分布式隐私保护下的在线机器学习等概念,并首次解决医疗在线安全联邦学习问题,该框架服务于多个国家级医疗健康网络,也是联邦学习系统构架层面的突破。
2016年,Google AI团队提出联邦学习算法框架应用于移动互联网手机终端的隐私保护。
2019年,微众银行AI团队提出联邦迁移学习,结合联邦学习和迁移学习并发布FATE开源系统。
2020年,李晓林教授首创知识联邦理论体系。
2021年3月,IEEE正式发布联邦学习首个国际标准《IEEE 3652.1-2020 - IEEE Guide for Architectural Framework and Application of Federated Machine Learning》。
重要节点及里程碑
2012年
王爽:提出医疗在线安全联邦学习框架
2012年,王爽教授团队提交并于2013年发表在SCI学术期刊Journal of Biomedical Informatics的《Expectation Propagation Logistic Regression (EXPLORER): Distributed privacy-preserving online model learning》论文,这是有据可查的全球第一篇医疗在线安全联邦学习文献,论文提出了数据“可用不可见”问题,在不需要分享原始个体数据的情况下,利用多个数据源进行带有隐私保护的联合建模的概念。同年,该团队发表了开源联邦学习框架“WebGLORE: a web service for Grid Logistic Regression”,该底层技术服务于多个医疗网络数据的联邦建模需求。
2016年
Google:联邦学习移动端应用框架
2016年,Google AI团队提出联邦学习算法框架应用于移动互联网手机终端的隐私保护。该算法框架主要针对设备数据集进行协同机器学习模型训练,让数据在不离开设备的情况下,可以在多种设备上训练共享机器学习模型。2019年,Google实现了第一个产品级的移动端联邦学习系统,并把该系统从联邦学习推广到联邦计算和联邦分析。
2019年
微众银行:发布联邦学习开源项目FATE
2019年2月,微众银行AI团队对外发布自主研发的联邦学习开源项目FATE(Federated AI Technology Enabler)。FATE提供了一种带有数据隐私保护功能的分布式安全计算框架,为机器学习、迁移学习算法提供隐私计算支持。同时,FATE提供了一套跨域交互信息管理方案,提供联邦学习信息安全审计功能。
2020年
李晓林:提出知识联邦学习理论体系
2020年,李晓林教授提出知识联邦理论体系,知识联邦是一个安全多方应用框架,它支持安全多方查询、安全多方计算、安全多方学习、安全多方推理等联邦应用。知识联邦关注的是数据到知识的全生命周期隐私安全保护,包括知识创造、管理和使用及其监管,设计目标是面向生产环境的知识联邦生态系统,致力于推动人工智能发展。
本文出自微众银行AI项目组对于联邦学习介绍的白皮书,网址:FedAI.org – Federated AI Ecosystem
一、联邦学习背景和重要性
1、人工智能发展概况
数据源之间存在着难以打破的壁垒,一般情况下人工智能的所需要的数据会涉及多个领域,例如在基于人工智能的产品推荐服务中,产品销售方拥有产品的数据、用户购买商品的数据,但是没有用户购买能力和支付习惯的数据。在大多数行业中,数据是以孤岛的形式存在的,由于行业竞争、隐私安全、行政手续复杂等问题,即使是在同一个公司的不同部门之间实现数据整合也面临着重重阻力,在现实中想要将分散在各地、各个机构的数据进行整合几乎是不可能的,或者说所需的成本是巨大的。
2、GDPR与人工智能挑战
随着大数据的进一步发展,重视数据隐私和安全已经成为了世界性的趋势。 每一次公众数据的泄露都会引起媒体和公众的极大关注,例如最近 Facebook 的数据泄露事件就引起了大范围的抗议行动。同时各国都在加强对数据安全和隐私的保护,欧盟最近引入的新法案《通用数据保护条例》(General Data Protection Regulation,GDPR表明,对用户数据隐私和安全管理的日趋严格将是世界趋势。这给人工智能领域带来了前所未有的 挑战,研究界和企业界目前的情况是收集数据的一方通常不是使用数据的一方,如 A 方收集数据,转移到B方清洗,再转移到C方建模,最后将模型卖给D方使用。这种数据在实体间转移,交换和交易的形式违反了GDPR,并可能遭到法案严厉的惩罚。在这个问题上,人工智能的学界和企业界,目前暂无较好的解决方案来应对这些挑战。
3、联邦学习成为可行的解决方案
如何在满足数据隐私、安全和监管要求的前提下,设计一个机器学习框架,让人工智能系统能够更加高效、准确的共同使用各自的数据,是当前人工智能发展的一个重要课题。我们倡议把研究的重点转移到如何解决数据孤岛的问题。我们提出一个满足隐私保护和数据安全的一个可行的解决方案,叫做联邦学习。
联邦学习的特点是:
1)各方数据都保留在本地,不泄露隐私也不违反法规;
2)各个参与者联合数据建立虚拟的共有模型,并且共同获益的体系;
3)在联邦学习的体系下,各个参与者的身份和地位相同;
4)联邦学习的建模效果和将整个数据集放在一处建模的效果相同,或相差不大;
5)迁移学习是在用户或特征不对齐的情况下,也可以在数据间通过交换加密参数达到知识迁移的效果。
二、联邦学习的定义和范围
1、联邦学习概述
什么是联邦学习呢?举例来说,假设有两个不同的企业 A 和 B,它们拥有不同数据。比 如,企业 A 有用户特征数据;企业 B 有产品特征数据和标注数据。这两个企业按照上述 GDPR 准则是不能粗暴地把双方数据加以合并的,因为数据的原始提供者,即他们各自的用户并没有机会来同意这样做。假设双方各自建立一个任务模型,每个任务可以是分类或预测,而这些任务也已经在获得数据时有各自用户的认可。那现在的问题是如何在 A 和 B 各端建立高质量的模型。但是,由于数据不完整(例如企业 A 缺少标签数据,企业 B 缺少特征数据), 或者数据不充分 (数据量不足以建立好的模型),那么,在各端的模型有可能无法建立或效果并不理想。 联邦学习是要解决这个问题: 它希望做到各个企业的自有数据不出本地,而后联邦系统可以通过加密机制下的参数交换方式,即在不违反数据隐私法规情况下,建立一 个虚拟的共有模型。这个虚拟模型就好像大家把数据聚合在一起建立的最优模型一样。但是在建立虚拟模型的时候,数据本身不移动,也不泄露隐私和影响数据合规。这样,建好的模型在各自的区域仅为本地的目标服务。在这样一个联邦机制下,各个参与者的身份和地位相同,而联邦系统帮助大家建立了“共同富裕”的策略。 这就是为什么这个体系叫做“联邦学习”。
2、联邦学习定义
当多个数据拥有方(例如企业) 想要联合他们各自的数据
训练机器学习模型时,传统做法是把数据整合到一方并利用数据
进行训练并得到模型
。然而,该方案由于其涉及到的隐私和数据安全等法律问题通常难以实施。为解决这一问题,我们提出联邦学习。联邦学习是指使得这些数据拥有方
在不用给出己方数据
的情况下也可进行模型训练并得到模型 M_FED 的计算过程,并能够保证模型 M_FED 的效果 V_FED 与模型 M_SUM 的效果 V_SUM 间的差距足够小,即: |V_FED-V_SUM |<δ, 这里 δ 是任意小的一个正量值。
三、 联邦学习的分类
我们将以孤岛数据的分布特点为依据对联邦学习进行分类。 考虑有多个数据拥有方,每个数据拥有方各自所持有的数据集 可以用一个矩阵来表示。矩阵的每一行代表一个用户,每一列代表一种用户特征。同时,某些数据集可能还包含标签数据。如果要对用户行为建立预测模型,就必须要有标签数据。我们可以把用户特征叫做 X,把标签特征叫做 Y。比如,在金融领域,用户的信用是需要被预测的标签 Y;在营销领域, 标签是用户的购买愿望 Y;在教育领域,则是学生掌握知识的程度等。用户特征 X 加标签 Y 构成了完整的训练数据(X, Y)。但是,在现实中,往往会遇到这样的情况:各个数据集的用户不完全相同,或用户特征不完全相同。具体而言,以包含两个数据拥有方的联邦学习为例,数据分布可以分为以下三种情况:
1)两个数据集的用户特征(X1,X2,…)重叠部分较大,而用户(U1, U2…)重叠部分较小;
2)两个数据集的用户(U1, U2…)重叠部分较大,而用户特征(X1,X2,…)重叠部分较小;
3)两个数据集的用户(U1, U2…)与用户特征重叠(X1,X2,…)部分都比较小。
为了应对以上三种数据分布情况,我们把联邦学习分为横向联邦学习、纵向联邦学习与联邦迁移学习。
1、横向联邦学习
在两个数据集的用户特征重叠较多而用户重叠较少的情况下,我们把数据集按照横向 (即用户维度)切分,并取出双方用户特征相同而用户不完全相同的那部分数据进行训练。这 种方法叫做横向联邦学习。比如有两家不同地区银行,它们的用户群体分别来自各自所在的地区,相互的交集很小。但是,它们的业务很相似,因此,记录的用户特征是相同的。此时,就可以使用横向联邦学习来构建联合模型。Google 在 2017 年提出了一个针对安卓手机模型更新的数据联合建模方案:在单个用户使用安卓手机时,不断在本地更新模型参数并将参数上传到安卓云上,从而使特征维度相同的各数据拥有方建立联合模型的一种联邦学习方案。
2、纵向联邦学习
在两个数据集的用户重叠较多而用户特征重叠较少的情况下,我们把数据集按照纵向 (即特征维度)切分,并取出双方用户相同而用户特征不完全相同的那部分数据进行训练。 这种方法叫做纵向联邦学习。比如有两个不同机构,一家是某地的银行,另一家是同一个地方的电商。它们的用户群体很有可能包含该地的大部分居民,因此用户的交集较大。但是,由于银行记录的都是用户的收支行为与信用评级,而电商则保有用户的浏览与购买历史,因此它们的用户特征交集较小。纵向联邦学习就是将这些不同特征在加密的状态下加以聚合,以增强模型能力的联邦学习。目前,逻辑回归模型,树型结构模型和神经网络模型等众多机器学习模型已经逐渐被证实能够建立在这个联邦体系上。
3、联邦迁移学习
在两个数据集的用户与用户特征重叠都较少的情况下,我们不对数据进行切分,而可以 利用迁移学习来克服数据或标签不足的情况。这种方法叫做联邦迁移学习。 比如有两个不同机构,一家是位于中国的银行,另一家是位于美国的电商。由于受到地域限制,这两家机构的用户群体交集很小。同时,由于机构类型的不同,二者的数据特征也只有小部分重合。在这种情况下,要想进行有效的联邦学习,就必须引入迁移学习, 来解决单边数据规模小和标签样本少的问题,从而提升模型的效果。
四、联邦学习系统架构
我们以包含两个数据拥有方(即企业 A 和 B)的场景为例来介绍联邦学习的系统构架, 该构架可扩展至包含多个数据拥有方的场景。假设企业 A 和 B 想联合训练一个机器学习模 型,它们的业务系统分别拥有各自用户的相关数据。此外,企业 B 还拥有模型需要预测的标签数据。出于数据隐私和安全考虑,A 和 B 无法直接进行数据交换。此时,可使用联邦学习系统建立模型,系统构架由两部分构成,如下图所示。
第一部分:加密样本对齐。由于两家企业的用户群体并非完全重合,系统利用基于加密的用户样本对齐技术,在 A 和 B 不公开各自数据的前提下确认双方的共有用户,并且不暴露不互相重叠的用户。 以便联合这些用户的特征进行建模。
第二部分:加密模型训练。在确定共有用户群体后,就可以利用这些数据训练机器学习模型。为了保证训练过程中数据的保密性,需要借助第三方协作者 C 进行加密训练。以线性回归模型为例,训练过程可分为以下 4 步:
1)协作者 C 把公钥分发给 A 和 B,用以对训练过程中需要交换的数据进行加密;
2)A 和 B 之间以加密形式交互用于计算梯度的中间结果;
3)A 和 B 分别基于加密的梯度值进行计算,同时 B 根据其标签数据计算损失,并把这些结果汇总给 C,C 通过汇总结果计算总梯度并将其解密;
4)C 将解密后的梯度分别回传给 A 和 B;A 和 B 根据梯度更新各自模型的参数。
迭代上述步骤直至损失函数收敛,这样就完成了整个训练过程。在样本对齐及模型训练过程中,A 和 B 各自的数据均保留在本地,且训练中的数据交互也不会导致数据隐私泄露。因此,双方在联邦学习的帮助下得以实现合作训练模型。
第三部分: 效果激励。联邦学习的一大特点就是它解决了为什么不同机构要加入联邦共同建模的问题, 即建立模型以后模型的效果会在实际应用中表现出来,并记录在永久数据记录机制(如区块链)上。 提供的数据多的机构会看到模型的效果也更好,这体现在对自己机构的贡献和对他人的贡献。这些模型对他人效果在联邦机制上以分给各个机构反馈,并继续激励更多机构加入这一数据联邦。
以上三个步骤的实施,即考虑了在多个机构间共同建模的隐私保护和效果,有考虑了如何奖励贡献数据多的机构,以一个共识机制来实现。 所以, 联邦学习是一个“闭环”的学习机制。
五、总结展望
近年来,数据的孤岛分布以及对数据隐私监管力度的加强正在逐渐成为人工智能的下一 个挑战,联邦学习的产生为人工智能打破数据屏障和进一步发展提供了新的思路。它实现了在保护本地数据的前提下让多个数据拥有方联合建立共有的模型,从而实现了以保护隐私和数据安全为前提的互利共赢。本文概括性地介绍了联邦学习的基本概念、构架与技术原理,并且尝试在一些应用场景中探讨联邦学习对人工智能发展的巨大助力。期待在不远的将来,联邦学习能够帮助打破各领域、各行业的数据壁垒,在保护数据隐私和安全的前提下形成一 个数据与知识共享的共同体,并同时解决了奖励对联盟做出贡献机构的共识机制,必将能为人工智能带来的红利落实到社会的各个角落。