联邦学习综述

目录

  • 引言
  • 横向联邦学习
  • 纵向联邦学习
  • 联邦学习迁移
  • 联邦学习开源框架
  • 结论
  • 参考文献

引言

       在联邦学习白皮书[1]中给出了明确的联邦学习的定义:

  • 各方数据都保留在本地,不泄露隐私也不违反法规;
  • 多个参与者联合数据建立虚拟的共有模型,并且共同获益的体系;
  • 在联邦学习的体系下,各个参与者的身份和地位平等;
  • 联邦学习的建模效果和将整个数据集放在一处建模的效果相同,或相差不大(在各个数据的用户对齐或特征对齐的条件下);
  • 迁移学习是在用户或特征不对齐情况下,也可以在数据间通过交换加密参数达到知识迁移的效果。

       综上,联邦学习的目的是:使多个参与方在保护数据隐私、满足合法合规要求的前提下继续进行机器学习,解决数据孤岛问题。在实际中,孤岛数据具有不同的分布特点,根据这些特点,可以提出相应的联邦学习方案。以孤岛数据的分布特点为依据可将联邦学习分为三类:横向联邦学习、纵向联邦学习和联邦迁移学习,下面将逐一进行介绍。

横向联邦学习

图 1 横向联邦学习

       在两个数据集的用户特征重叠较多,而用户重叠较少的情况下,可将数据集按照横向(用户维度)进行切分,并取出双方用户特征相同而用户不完全相同的那部分数据进行训练,这种方法叫做横向联邦学习[1]。Google在2016年提出了针对安卓手机模型更新的数据联合建模方案[2, 3],在不同的用户使用手机时,在手机本地持续地更新模型参数,并将参数上传至云端。从而利用不同用户的、特征维度相同的这些数据建立一个横向联邦学习方案。

纵向联邦学习

图 2 纵向联邦学习

       在两个数据集的用户重叠较多,而用户特征重叠较少的情况下,可将数据集按照纵向(特征维度)切分,并取出双方用户相同而用户特征不完全相同的那部分数据进行训练,这种方法叫做纵向联邦学习[1]。一个常见的例子是:有两个不同机构,一家是某地的银行,另一家是同一个地方的电商。它们的用户群体很有可能包含该地的大部分居民,因此用户的交集较大。但是,由于银行记录的都是用户的收支行为与信用评级,而电商则保有用户的浏览与购买历史,因此它们的用户特征交集较小。纵向联邦学习就是将这些不同特征在加密的状态下加以聚合,以增强模型能力的联邦学习。

       目前,逻辑回归模型、树型结构模型和神经网络模型等众多机器学习模型已经逐渐被证实能够建立在这个纵向联邦学习体系上。

联邦学习迁移

图 3 联邦迁移学习

       在两个数据集的用户与用户特征重叠都较少的情况下,我们部队数据进行切分,而利用迁移学习克服数据或标签不足的情况,这种方法叫做联邦迁移学习。还是借用在纵向联邦学习小节中银行和电商的例子,不同的是,银行和电商不在同一个地方,而是相去甚远。这导致,受到地域的限制,银行和电商的用户交集很小。同时,二者的数据特征交集也很小。在这种情况下,需要在联邦学习中引入迁移学习,用于解决单边数据规模小、标签样本少的问题,来提升模型的效果[1]。

联邦学习开源框架

       目前业界中主要的联邦学习框架有FATE[4]、TensorFlow Federated[5]、PaddleFL[6]、Pysyft[7]等。

       2019年2月,微众银行开源FATE开源项目,截止2019年12月发布FATE vl.2版本,覆盖横向联邦学习,纵向联邦学习,联邦迁移学习,得到了社区内广泛的关注与应用。同时,FATE 提供20多个联邦学习算法组件,涵盖LR、GBDT、DNN等主流算法,覆盖常规商业应用场景建模需求。尤真值得注意的是,FATE提供了一站式联邦模型服务解决方案,涵盖联邦特征工程,联邦机器学习模型训练,联邦模型评估,联邦在线推理,相比真他开源框架,在工业应用上高显著的优势。

       Open Minded开源的Pysyft框架,较好地支持横向联邦学习。该框架同时支持Tensorflow、Keras、Pytorch,为使用人员快速上手提供了较多的选择。Pysyft提供了安全加密算子,数值运算算子,及联邦学习算法,用户也可以高效搭建自己的联邦学习算法。相比较FATE,OpenMinded尚未提供高效的部署方案及serving端解决方案,相比工业应用,更适合作为高效的学术研究、原型开发的工具。

       谷歌开源的TensorFlow Federated框架,截止2019年12月已发布至0.11版本,较好地支持横向联邦学习。其中,可以通过 Federated Learning (FL) API,与Tensorflow/Keras交互,完成分类、回归等任务。用户也可以通过真提供的Federated Core (FC) API,通过在强类型函数编程环境中将TensorFlow与分布式通信运算符相结合,简洁地表这新的联合算法。目前TensorFlow Federated在安全加密算子上缺少开放实现,同时缺少对线上生产的完善支撑。

       2019年11月,百庭宣布开源真联邦学习框架PaddleFL。PaddleFL开源框架中包含了DiffieHellman等安全算子,及LR等机器学习算法。由于真开源时间较短,算子丰富程度逊于上述三个框架。PaddleFL的优势在于通过与百度机器学习开源框架Paddle Paddle的交互,吸引相关生态开发者加入开发。

结论

       近年来,数据的孤岛分布以及对数据隐私监管力度的加强正在逐渐成为人工智能的下个挑战,联邦学习的产生为人工智能打破数据屏障和进步发展提供了新的思路。它实现了在保护本地数据的前提下让多个数据拥有方联合建立共有的模型,从而实现了以保护隐私和数据安全为前提的互利共赢。本文概括性地介绍了联邦学习的基本概念、构架与技术原理,并且尝试在些应用场景中探讨联邦学习对人工智能发展的巨大助力。期待在不远的将来,联邦学习能够帮助打破各领域、各行业的数据壁垒,在保护数据隐私和安全的前提下形成个数据与知识共享的共同体,并同时解决了奖励对联盟做出贡献机构的共识机制,必将能为人工智能带来的红利落实到社会的各个角落。

       联邦学习在未来,可以从以下角度进行研究:

  • 安全性,用于对抗联邦学习过程中遭受的恶意攻击。
  • 激励机制,用于激励更多终端用户,或者不同企业、组织参与联邦学习。
  • 有效性和效率,用于提升联邦学习的可靠性和速度。

参考文献

[1] https://aisp-1251170195.cos.ap-hongkong.myqcloud.com/wp-content/uploads/pdf/%E8%81%94%E9%82%A6%E5%AD%A6%E4%B9%A0%E7%99%BD%E7%9A%AE%E4%B9%A6_v2.0.pdf
[2] Konecny J, McMahan H B, Yu F X, et al. Federated learning: Strategies for improving communication
efficiency[J]. arXiv preprint arXiv:1610.05492, 2016.
[3] McMahan H B, Moore E, Ramage D, et al. Communication-efficient learning of deep networks from decentralized data[J]. arXiv preprint arXiv:1602.05629, 2016.
[4] 微众很行 工业级联邦学习框架[OL]. [2020-02-17]. https://fate.fedai.org/
[5] 谷歌. TensorFlow Federated :基于分散式数据的机器学习[OL]. [2020-02-17]. https://tensorflow.google .en/federated
[6] 百度飞桨. release note[OL]. [2020-02-17]. https://www.paddlepaddle.org.cn/
[7] Openmined.syft[OL]. [2020-02-17]. https://pypi.org/project/syft/

你可能感兴趣的:(深度学习,机器学习,联邦学习)