初认联邦学习—背景和框架介绍

1 背景介绍

1.1 人工智能的遇到的困境

(1)数据孤岛问题。一个AI项目可能涉及多个领域,需要融合各个公司、各个部门的数据。(比如研究居民线上消费问题,需要各个消费平台的数据,可能还需要银行数据等等)但在现实中想要将分散在各地、各个机构的数据进行整合几乎是不可能的。

(2)数据隐私问题。GDPR的出台,使得各方对数据所有权和隐私性的关注越来越多,对用户隐私和安全管理日趋严格,拿不到赖以生存的数据集
GDPR:2018年欧洲联盟出台《通用数据保护条例》。旨在保护用户的个人隐私和数据安全。用户可以删除或撤回其个人数据 没有用户的允许,公司的不可以有其它用途。违反该法案的公司将面临高额罚款。

1.2数据隐私保护可解决方案

(1)要解决大数据的困境,仅仅靠传统的方法已经出现瓶颈。两个公司简单的交换数据,法规、GDPR都是不允许的;用户是原始数据的拥有者,在用户没有批准的情况下,公司间不能交换数据。

(2)如何在满足隐私监管要求的前提下,设计一个机器学习框架。让数据拥有方不暴露自己的数据,但能共同使用数据,。让人工智能系统能够更加高效、准确地共同使用各自的数据,解决数据孤岛的问题。因此,一个满足隐私保护和数据安全的一个可行的解决方案就诞生了 ,即 联邦学习。

2 联邦学习简介

2.1定义

(1)所谓“联邦学习”,顾名思义,就是搭建一个虚拟的“联邦国家”,把大大小小的“数据孤岛”联合统一进来。他们就像这个“联邦国家”里的一个州,既保持一定的独立自主(比如商业机密,用户隐私),又能在数据不共享出去的情况下,共同建模,提升AI模型效果。

(2)本质上,它是一种加密的分布式机器学习技术,参与各方可以在不披露底层数据和底层数据的加密(混淆)形态的前提下共建模型。这也是一种共赢的机器学习方式,它打破了山头林立的数据次元壁,盘活了大大小小的“数据孤岛”,连成一片共赢的AI大陆。

2.2 联邦学习特性

1、各方数据都保留在本地,不泄露隐私也不违反法规
2、多个参与者联合数据建立虚拟的共有模型,并且共同获益的体系
3、在联邦学习的体系下,各个参与者的身份和地位相同
4、在各个数据的用户对齐或特征对齐的条件下,联邦学习的建模效果和将整个数据集放在一处建模的效果相同,或相差不大
5、迁移学习是在用户或特征不对齐的情况下,也可以在数据间通过交换加密参数达到知识迁移的效果
6、联邦学习使得两方或多方的数据使用实体在合作当中数据不出本地也能共同使用,解决数据孤岛问题
在这里插入图片描述

3 联邦学习分类

  • 孤岛数据具有不同分布特点,根据这些特点,提出了相对应的联邦学习方案,将以孤岛数据的分布特点为依据对联邦学习进行分类。
  • 考虑有多个数据拥有方,每个数据拥有方各自所持有的数据集D_ i可以用一个矩阵来表示。矩阵的每一行代表一个用户,每一列代表一种用户特征。同时,某些数据集可能还包含标签数据。如果要对用户行为建立预测模型,就必须要有标签数据。我们可以把用户特征叫做X,把标签特征叫做Y。用户特征X加标签Y构成了完整的训练数据(X,Y)。但是,在现实中,往往会遇到这样的情况:各个数据集的用户不完全相同,或用户特征不完全相同。
  • 具体而言,以包含两个数据拥有方的联邦学习为例,数据分布可以分为三种情况:纵向联邦、横向联邦、迁移联邦

3.1纵向联邦

  • 纵向联邦学习,A与B的数据集有些样本重叠,但特征不同,重点解决特征缺的问题。比如你携程的数据和你滴滴的数据,样本都是你,但特征肯定不同。
    在这里插入图片描述
    在这里插入图片描述

3.2横向联邦

  • 横向联邦学习,A与B的数据集有些特征重叠,但样本不同,重点解决样本缺的问题。比如工行和建行的数据,特征都差不多,但样本不同
    在这里插入图片描述
    在这里插入图片描述

3.3迁移联邦

  • 联邦迁移学习,A与B的数据集样本也不同,特征也不同,这个就是对模型更高的追求了。比如国内滴滴的数据和国外google的数据,他们特征也不同,样本也不同。
    在两个数据集的用户与用户特征重叠都较少的情况下,不对数据进行切分,可以利用迁移学习来克服数据或标签不足的情况。

  • 比如有两个不同机构,一家是位于中国的银行,另一家是位于美国的电商。由于地域限制和机构类型不同,这两家机构的用户群体交集很小,数据特征也只有小部分重合,这种情况就可以利用迁移联邦学习
    在这里插入图片描述

3.4谷歌输入法案例

  • 我们敲键盘的时候,谷歌输入法会预测下一个最有可能的字单词。之前是把用户数据全部汇总到服务器,统一跑模型,更新参数。
  • 现在是利用初始模型,在用户本地跑模型更新中间过程参数,将参数传回云端,云端汇总更新后,再下发到用户User。
    在这里插入图片描述

框架特点

1、多个用户,一个服务器 云端

2、所有数据特征维度相同 输入法的相关特征是一样的

3、用户本地训练

4、用户通过服务器共享参数

框架流程

A:每个手机接受云端分发的初始模型,用本地的数据进行训练

B:每个手机更新的模型参数传回云端,云 端对来自各个手机端的数据进行聚合

C:形成新的模型再下发,重复这一过程。

小结:不是上传原始数据 上而是传模型更新需要的loss,梯度 保护用户的数据
在这里插入图片描述

4 联邦开源框架

联邦分层图
目前比较流行的两个开源框架:

  1. 实验环境TensorFlow Federated
    TensorFlow Federated是Tensorflow专门为联邦学习推出了一个学习框架,现有的TensorFlow或Keras模型代码通过一些转换后就可以变为联邦学习模型。甚至可以加载单机版的预训练的模型,以迁移学习的模式应用到分散式数据的机器学习中 。TFF主要是针对类似谷歌输入法案例的横向联邦学习,目前仅支持实验环境。

  2. 工业环境FATE
    2019年2月,微众银行Al团队对外发布自主研发的开源项目FATE (Federated AI Technology Enabler),是全球首个联邦学习开源框架,支持工业环境。
    FATE提供了一种基于数据隐私保护的分布式安全计算框架,为机器学习、深度学习、迁移学习算法提供高性能的安全计算支持,支持同态加密、SecretShare等多种多方安全计算协议。简单易用,多个机构在满足用户隐私保护、数据安全和政府法规的前提下,可以进行多方数据合作。

5 应用场景

  1. 车险定价。车险定价包含人、从车、从行为等数据,分散在不同的公司,无法直接进行聚合并建模。利用纵向联邦学习,在保护各合作机构企业用户隐私数据不出库的前提下,共同建模,使车险定价模型更加精准。

  2. 信贷风控。针对小微企业信贷评审数据稀缺、不全面、历史信息沉淀不足等问题,设立多源数据融合机制,包括小微企业的交易数据、税务数据、工商信息等,并协助相关金融机构获取更多维度的数据,引入纵向联邦学习,丰富特征体系。

  3. 智慧安防。利用出行轨迹及用户异常出行,来提升社区安全及社区管理效率。通过引入联邦学习,联合多社区数据进行安防模型建立,实现数个社区间信息的互联互通,让智能安防建立在同纬度的一张网上,提升模型效果。

  4. 辅助诊断。医院分为三级十等,通过对大小医院的数据标准化,利用患者健康信息,及化验、检查信息,建立横向联邦学习模型,保证患者数据仅留在就诊医院的信息系统内,共建模型,帮助医生提高判断患者罹患相应疾病的准确率。

  5. 无人驾驶。一辆车受制于驾驶的时间和空间限制,通常获取到的传感器信息是有一定局限的。通过引入横向联邦学习,融合不同车辆的摄像头、超声波传感器、雷达等传感器信息,快速建立场景信息,同时有助于提高模型的鲁棒性。

  6. 销售预测。在智慧零售场景中,涉及到的数据特征包含用户购买能力、用户个人偏好、产品特点三部分,这三种数据特征很可能分散在三个不同的部门或企业。利用纵向联邦学习,保护企业数据隐私,三方联合构建机器学习模型,共同受益。

后记: 横向联邦、纵向联邦的参数更新流程、相关算法和实现会在后续更新文章中介绍啦~