联邦学习基础概念(一)

1.什么是联邦学习?

  联邦机器学习(Federated machine learning/Federated Learning),又名联邦学习,联合学习,联盟学习。联邦机器学习是一个机器学习框架,能有效帮助多个机构在满足用户隐私保护、数据安全和政府法规的要求下,进行数据使用和机器学习建模。联邦学习作为分布式的机器学习范式,可以有效解决数据孤岛问题,让参与方在不共享数据的基础上联合建模,能从技术上打破数据孤岛,实现AI协作。谷歌在2016年提出了针对手机终端的联邦学习,微众银行AI团队则从金融行业实践出发,关注跨机构跨组织的大数据合作场景,首次提出“联邦迁移学习”的解决方案,将迁移学习和联邦学习结合起来。据杨强教授在“联邦学习研讨会”上介绍,联邦迁移学习让联邦学习更加通用化,可以在不同数据结构、不同机构间发挥作用,没有领域和算法限制,同时具有模型质量无损、保护隐私、确保数据安全的优势。

  联邦学习定义了机器学习框架,在此框架下通过设计虚拟模型解决不同数据拥有方在不交换数据的情况下进行协作的问题。虚拟模型是各方将数据聚合在一起的最优模型,各自区域依据模型为本地目标服务。联邦学习要求此建模结果应当无限接习传统模式,即将多个数据拥有方的数据汇聚到一处进行建模的结果。在联邦机制下,各参与者的身份和地位相同,可建立共享数据策略。由于数据不发生转移,因此不会泄露用户隐私或影响数据规范。为了保护数据隐私、满足合法合规的要求。

  联邦学习有三大构成要素:数据源、联邦学习系统、用户。三者间关系如图所示,在联邦学习系统下,各个数据源方进行数据预处理,共同建立及其学习模型,并将输出结果反馈给用户

2.联邦学习的分类:

横向联邦学习:适用于两个数据集的用户特征重叠较多而用户重叠较少的情况下,把数据集按照横向(即用户维度)切分(跨行拼接样本),并取出双方用户特征相同而用户不完全相同的那部分数据进行训练。

场景:比如业务相同但是分布在不同地区的两家企业,它们的用户群体分别来自各自所在的地区,相互的交集很小。但是,它们的业务很相似,因此,记录的用户特征是相同的。此时,就可以使用横向联邦学习来构建联合模型。

 

纵向联邦学习:在两个数据集的用户重叠较多而用户特征重叠较少的情况下,我们把数据集按照纵向(即特征维度)切分,并取出双方用户相同而用户特征不完全相同的那部分数据进行训练。

这种方法叫做纵向联邦学习。纵向联邦学习就是将这些不同特征在加密的状态下加以聚合,以增强模型能力的联邦学习。目前,逻辑回归模型,树型结构模型和神经网络模型等众多机器学习模型已经逐渐被证实能够建立在这个联邦体系上

场景:假设这样一个场景,淘宝和知乎联合起来训练一个模型,预测一个用户是否对科技类产品感兴趣。淘宝有用户A、B、C三个人的购买历史数据,而知乎有B、C、D三个人的知乎文章浏览数据。使用纵向联邦学习,在淘宝和知乎都不泄露各自的用户数据前提下,我们可以整合B、C两个人的淘宝和知乎数据特征,共同训练一个预测模型,由于使用到了两类数据进行训练,理论上来说得到的结果应该比淘宝或者知乎各自训练出的模型更准确。由于模型训练需要同时使用淘宝和知乎的数据,我们发现用户A仅仅有淘宝的数据,没有知乎的数据,因此用户A无法做为训练样本使用。同样的,知乎的用户D也无法参与训练。因此在纵向联邦学习之前,双方需要计算出共有的样本,也就是B、C两人,后续的计算都围绕BC两人进行。而隐私集合求交就是双方通过加密计算,得到B、C两人这个集合,同时不暴露各自的原始集合的方法。


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

场景:比如有两个不同机构,一家是位于中国的银行,另一家是位于美国的电商。由于受到地域限制,这两家机构的用户群体交集很小。同时,由于机构类型的不同,二者的数据特征也只有小部分重合。在这种情况下,要想进行有效的联邦学习,就必须引入迁移学习,来解决单边数据规模小和标签样本少的问题,从而提升模型的效果。

 

posted @ 2021-05-19 19:12  AmbitiousMice  阅读(667)  评论(0编辑  收藏  举报