目录

一、联邦学习

二、联邦学习的分类

三、联邦学习的架构

四、联邦学习的精度损失

五、联邦学习的应用

六、总结


一、联邦学习

联邦学习(Federated Learning)是一种分布式机器学习技术,其核心思想是通过在多个拥有本地数据的数据源之间进行分布式模型训练,不需要交换本地数据,仅通过交换模型参数或中间结果来构建基于虚拟融合数据下的全局模型,从而实现数据隐私保护和数据共享计算的平衡。

随着人类社会数字化进程越来越快,产生了大量数据。通过机器学习技术可以自动化地挖掘数据中蕴藏的宝藏,经过大量数据训练出来的机器学习模型已经应用在各类场景中,正在深刻改变着我们的世界,例如精准医疗、人像识别、声纹识别、千人千面推荐算法等多模态学习。在应用中,模型的精度、泛化能力等至关重要,而这些都赖于机器对大量数据的学习。想要让机器学习模型的效果更好,就要获取尽可能多的数据,例如第三方数据。但受限于法律法规、政策监管、商业机密、个人隐私等数据隐私安全上的约束,多个数据来源方之间无法直接交换数据,形成了“数据孤岛”现象,这制约着人工智能模型能力的进一步提高。联邦学习的诞生即是为了解决这一问题,目前联邦学习技术在医疗、金融、电信、政务等领域有着广泛的应用。

联邦学习的技术理论基础可以追溯到分布式数据库(Distributed Database)关联规则挖掘技术,其发展简史如下图所示。联邦学习最早是在2016年由Google提出,用于解决安卓手机终端用户在本地更新模型的问题,目前的联邦学习技术旨在保证数据隐私安全及合法合规的基础上,实现共同建模,提升AI模型的效果。

二、联邦学习的分类

在现实中,往往会遇到这样的情况:各个data owners所拥有的用户列表不完全相同或完全不同,用户特征不完全相同或完全不同。具体而言,根据参与联邦学习的不同data owners之间数据分布的不同,可以把联邦学习分为三类:横向联邦学习、纵向联邦学习和联邦迁移学习。

横向联邦学习(Horizontal Federated Learning, HFL):

又被称为基于样本的联邦学习,“横向”表示数据是横向(按行)划分的,横向联邦可以增加训练样本的总量,数据特征维度不变(或减少,因为取交集)。

应用场景:例如两家不同地区、同一行业的公司。它们的用户群体来自不同地域,其用户交集可能非常小。但是,由于处在同一行业中,其业务可能非常相似。因此,用户特征是相似的。此时,就可以使用横向联邦学习来构建联邦模型。前几年,Google 提出一个针对安卓手机模型更新的数据联合建模方案,即当用户使用安卓手机时,会在本地不断更新模型参数并将参数上传到安卓云上,从而使特征维度相同的各个data owners建立联合模型。

横向联邦学习

纵向联邦学习(Vertical Federated Learning, VFL):

又被称为基于特征的联邦学习,纵向表示数据是纵向(按列)划分的,纵向联邦可以增加训练数据特征,训练样本总量不变(或者减少)。

应用场景:例如两家相同地区、不同行业的公司。由于两家公司处于同一地区,其用户群体很有可能有大量交集。但是,由于公司业务不同,其用户特征交集可能较小。纵向联邦学习就是将这些不同特征在加密的状态下加以聚合,以增强模型能力的联邦学习。目前机器学习模型如逻辑回归、决策树等均是建立在纵向联邦学习系统框架之下的。

  纵向联邦学习

联邦迁移学习(Federated Transfer Learning, FTL):

在两个数据集的用户与用户特征重叠都较少的情况下,我们不对数据进行切分,而可以利用迁移学习来克服小数据或无标签的情况。

应用场景:例如两家不同地区、不同行业的公司,由于地域等不同,这两家公司的用户群体交集很小。同时由于公司业务不同,两家公司用户群体的数据特征也只有小部分重合。在这种情况下,要想进行有效的联邦学习,就必须引入迁移学习来解决单边数据规模小和标签样本少的问题,从而提升模型的效果。

联邦迁移学习

三、联邦学习的架构

联邦学习系统主要由两部分构成。

1、加密样本对齐。由于各个data owners的用户群体并非完全重合,需要通过用户样本对齐技术在 不公开各自数据的前提下确认共有用户(且不暴露独有用户),随后就可以联合这些用户的特征进行建模。
2、加密模型训练。在确定共有用户群体后,就可以利用这些数据训练机器学习模型。为保证训练过程中数据的保密性,需要借助第三方协作者进行加密训练。①协作者把公钥分发给各个data owners,用以对训练过程中需要交换的数据进行加密;②data owners之间以加密形式交互中间结果用于计算梯度;③各data owners分别基于加密的梯度值进行计算,同时根据标签数据计算损失,并把这些结果汇总给第三方协作者,由第三方协作者通过汇总结果计算总梯度并将其解密;④第三方协作者将解密后的梯度回传给各data owners,让其根据梯度更新各自模型的参数。

联邦学习的架构(2 data owners)

迭代上述步骤直至损失函数收敛,这样就完成了整个训练过程。在样本对齐及模型训练过程中,各个data owners的数据始终保留在本地,且训练中的数据交互也不会导致数据隐私泄露。因此,联邦学习可实现多方合作训练模型。

四、联邦学习的精度损失

天下没有免费的午餐,想同时做到保护数据隐私和保持模型性能是不可能的。例如,同态加密中,对于密文的操作将比明文花费更长的时间,并且模型的精度会变差(半同态)。

定义N个data owners,通过合并各自的数据来训练机器学习模型,其常规方法是简单集合所有数据,使用训练模型M1。联邦学习系统是一个学习过程,其data owners在数据隐私保护的前提之下协作训练模型M2。模型M2的精度V2应非常接近模型M1的精度V1。形式上,若δ为非负实数,如果:

则认为该联邦学习算法具有δ-精度损失。δ值越小,则说明联邦学习系统的效果就越好。

2022年,杨强院士及WeBank团队提出了隐私与模型性能的"No-free-lunch安全-收益恒定"定律,从信息论的角度为隐私泄露和效用损失的权衡提供了一个通用的理论框架。这一理论框架揭示了对于满足“贝叶斯隐私”的多方计算系统而言,都满足“|安全|+|效能|≤常数” 这一“安全-效益恒定定律”。

安全联邦学习

上图的左边部分演示了四个过程:(1)Client使用自己的数据集学习本地模型信息;(2)Client采用保护机制M将模型信息转换为受保护模型信息;(3)每个Client将受保护模型信息上传到聚合器,聚合器将所有受保护模型信息聚合为一个全局模型;(4) 由Client下载全局模型并继续更新本地模型信息。右边部分说明了对手可能根据受保护模型信息推断私有数据的隐私泄露,以及保护机制导致聚合全局模型精度降低的效用损失。

五、联邦学习的应用

在金融风控中,检测多方借贷可以降低贷款损失的风险,例如当某些客户恶意从一家银行借款以支付另一家银行的贷款。多方借贷是对金融稳定的威胁,大量此类非法行为可能导致整个金融系统崩溃。为了在银行A和B之间找到此类客户,而不向彼此公开客户信息。则可以使用联邦学习的加密机制,对每一方的客户信息进行加密,然后在联邦学习系统中获取加密客户的交集,所获得结果解密后即违规客户的名单。

隐私计算在金融反欺诈场景应用示例

六、总结

联邦学习技术可以充分保护用户隐私与数据安全,为建立跨企业、跨数据、跨领域的大数据 AI 生态提供了良好的技术支持。与传统隐私保护技术相比,联邦学习不存在原始数据以及模型的交换,而是通过加密机制下的参数交换方式来保护用户数据隐私。而差分隐私、k匿名、l多样化技术通过将数据去隐私化然后进行数据交换,理论上还是存在数据泄露的可能性。联邦学习的多方联合训练与分布式机器学习也不大相同,横向联邦学习中的工作节点代表的是模型训练的数据拥有方,对本地的数据具有完全的自治权限,可以自主决定何时加入联邦学习进行建模,因此联邦学习系统变得更为复杂。

 参考资料:

1、联邦学习(隐私计算核心技术)_百度百科

2、杨强:Federated Machine Learning: Concept and Applications

3、杨强:No free lunch theorem for security and utility in federated learning

4、微众银行 AI 项目组-联邦学习白皮书

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐