初识联邦学习

Posted AI浩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初识联邦学习相关的知识,希望对你有一定的参考价值。

摘要

  联邦机器学习又名联邦学习,联合学习,联盟学习。联邦机器学习是一个机器学习框架,能有效帮助多个机构在满足用户隐私保护、数据安全和政府法规的要求下,进行数据使用和机器学习建模。 

 中文名:联邦机器学习

 外文名:Federated machine learning/Federated Learning

背景

  联邦学习技术及数据隐私保护大会上明确提出了“联邦机器学习”这个概念。 数据是机器学习的基础 ,而在大多数行业中,由于行业竞争、隐私安全、行政手续复杂等问题,数据常常是以孤岛的形式存在的。甚至即使是在同一个公司的不同部门之间实现数据集中整合也面临着重重阻力。在现实中想要将分散在各地、各个机构的数据进行整合几乎是不可能的,或者说所需的成本是巨大的。随着人工智能的进一步发展,重视数据隐私和安全已经成为了世界性的趋势。每一次公众数据的泄露都会引起媒体和公众的极大关注,例如Facebook的数据泄露事件就引起了大范围的抗议行动。  

  同时各国都在加强对数据安全和隐私的保护,欧盟最近引入的新法案《通用数据保护条例》(General Data Protection Regulation, GDPR)表明,对用户数据隐私和安全管理的日趋严格将是世界趋势。要解决大数据的困境,仅仅靠传统的方法已经出现瓶颈。两个公司简单的交换数据在很多法规包括GDPR框架下是不允许的。用户是原始数据的拥有者,在用户没有批准的情况下,公司间是不能交换数据的。  

  针对数据孤岛和数据隐私的两难问题,多家机构和学者提出解决办法。针对手机终端和多方机构数据的隐私问题,谷歌公司和微众银行分别提出了不同的“联邦学习”(Federated Learning)算法框架。谷歌公司提出了基于个人终端设备的“联邦学习”(Federated Learning)算法框架,而AAAI Fellow 杨强教授与微众银行随后提出了基于“联邦学习”(Federated Learning)的系统性的通用解决方案,可以解决个人(2C)和公司间(2B)联合建模的问题。在满足数据隐私、安全和监管要求的前提下,设计一个机器学习框架,让人工智能系统能够更加高效、准确的共同使用各自的数据。  

定义

联邦机器学习(Federated machine learning/Federated Learning),又名联邦学习,联合学习,联盟学习。联邦机器学习是一个机器学习框架,能有效帮助多个机构在满足用户隐私保护、数据安全和政府法规的要求下,进行数据使用和机器学习建模。

举例来说,假设有两个不同的企业 A 和 B,它们拥有不同数据。比如,企业 A 有用户特征数据;企业 B 有产品特征数据和标注数据。这两个企业按照上述 GDPR 准则是不能粗暴地把双方数据加以合并的,因为数据的原始提供者,即他们各自的用户可能不同意这样做。假设双方各自建立一个任务模型,每个任务可以是分类或预测,而这些任务也已经在获得数据时有各自用户的认可,那问题是如何在 A 和 B 各端建立高质量的模型。由于数据不完整(例如企业 A 缺少标签数据,企业 B 缺少用户特征数据),或者数据不充分 (数据量不足以建立好的模型),那么,在各端的模型有可能无法建立或效果并不理想。联邦学习是要解决这个问题:它希望做到各个企业的自有数据不出本地,而后联邦系统可以通过加密机制下的参数交换方式,即在不违反数据隐私法规情况下,建立一个虚拟的共有模型。这个虚拟模型就好像大家把数据聚合在一起建立的最优模型一样。但是在建立虚拟模型的时候,数据本身不移动,也不泄露隐私和影响数据合规。这样,建好的模型在各自的区域仅为本地的目标服务。在这样一个联邦机制下,各个参与者的身份和地位相同,而联邦系统帮助大家建立了“共同富裕”的策略。 这就是为什么这个体系叫做“联邦学习”。

根据孤岛数据的分布特点将联邦学习分为三类。

数据分布基本可以分为以下三种情况:

两个数据集的数据特征(X1,X2,…)重叠部分较大,而用户(U1, U2…)重叠部分较小; [1]  [4] 

两个数据集的用户(U1, U2…)重叠部分较大,而数据特征(X1,X2,…)重叠部分较小; [4] 

两个数据集的用户(U1, U2…)与数据特征重叠(X1,X2,…)部分都比较小。 [4] 

为了应对以上三种数据分布情况,我们把联邦学习分为横向联邦学习、纵向联邦学习与联邦迁移学习。 [1] 

横向联邦学习,也称为特征对齐的联邦学习  

纵向联邦学习,也称为样本对齐的联邦学习 

联邦迁移学习

数据矩阵的横向的一行表示一条训练样本,纵向的一列表示一个数据特征。联合多个参与者的具有相同特征的多行样本进行联邦学习,即各个参与者的训练数据是横向划分的,称为横向联邦学习(Horizontal Federated Learning  。横向联邦学习也称为特征对齐的联邦学习(Feature-Aligned Federated Learning),即横向联邦学习的参与者的数据特征是对齐的。横向联邦可以增加训练样本总量。  

联合多个参与者的共同样本的不同数据特征进行联邦学习,即各个参与者的训练数据是纵向划分的,称为纵向联邦学习(Vertical Federated Learning) 。纵向联邦学习也称为样本对齐的联邦学习(Sample-Aligned Federated Learning),即纵向联邦学习的参与者的训练样本是对齐的。纵向联邦可以增加训练数据特征维度。

相关术语

技术——涉及到的技术及概念

① 机器学习

a. 机器学习

b. 深度学习

c. 迁移学习 

d. 分布式机器学习

②分布式存储

a.kvdb数据存储;

b. 外部存储持久化;

d. 内存数据存储

e. 保证数据的可用性、可靠性。

③加密算法

a. 同态加密

b. 秘密共享

c. 遗忘传输

d. 混淆电路

e. RSA加密算法

f. 软件保护扩展 [6] 

技术成果及开源论文

1.H. Brendan McMahan, Eider Moore, Daniel Ramage, and Blaise Agüera y Arcas. 2016. Federated Learning of DeepNetworks using Model Averaging. CoRR abs/1602.05629 (2016). arXiv:1602.05629

2.Qiang Yang, Yang Liu, Tianjian Chen, Yongxin Tong. "Federated Machine Learning: Concept and Applications". ACM Transactions on Intelligent Systems and Technology (TIST), Volume 10 Issue 2, February 2019.

3.Jakub Konecný, H. Brendan McMahan, Felix X. Yu, Peter Richtárik, Ananda Theertha Suresh, and Dave Bacon. 2016.Federated Learning: Strategies for Improving Communication Efficiency [6] 

4. 杨强,刘洋,陈天健,童咏昕, “联邦学习”。 中国计算机学会通讯, 第14卷,第11期,2018年11月。

5. 杨强, “GDPR对AI的挑战和基于联邦迁移学习的对策”,. 中国人工智能学会通讯,第8卷,第8期2018年8月。

6.Jakub Konecný, H. Brendan McMahan, Daniel Ramage, and Peter Richtárik. 2016. Federated Optimization: DistributedMachine Learning for On-Device Intelligence, CoRR abs/1610.02527 (2016). arXiv:1610.02527

7. Andrew Hard, Kanishka Rao, Rajiv Mathews, Swaroop Ramaswamy, Françoise Beaufays, Sean Augenstein, Hubert Eichner, Chloé Kiddon, Daniel Ramage. "Federated Learning for Mobile Keyboard Prediction". arXiv.org, 2018.11.08

8. Abhishek Bhowmick, John Duchi, Julien Freudiger, Gaurav Kapoor, Ryan Rogers. “Protection Against Reconstruction and Its Applications in Private Federated Learning”. arXiv, 2018.12.03.

9. Florian Hartmann. "Federated Learning for Firefox".github.io, 2018.08.27.

开源框架

(1)联邦学习FATE (Federated AI Technology Enabler)是微众银行AI团队自主研发的开源联邦学习框架,为联邦AI生态提供了一种安全计算框架。 

作为一个工业级的联邦学习框架,联邦学习能有效帮助多个机构在满足用户隐私保护、数据安全和政府法规的要求下,进行数据使用和建模。FATE提供了一种基于数据隐私保护的安全计算框架,为机器学习、深度学习、迁移学习算法提供强有力的安全计算支持。 安全底层支持同态加密、秘密共享、哈希散列等多种多方安全计算机制,算法层支持多方安全计算模式下的逻辑回归、Boosting、联邦迁移学习等。

2019年2月18日,FATE在GitHub正式发布了0.1版本。

(2)谷歌是联邦学习技术及应用的积极推动者,于2019年2月发布了开源的联邦学习开源框架TensorFlow Federated。TensorFlow Federated运行于谷歌的开源深度学习框架TensorFlow之上,方便科研人员和应用开发者基于分布式的数据(即数据没有集中在一起)来训练全局模型。 

标准及规范

为了加速“联邦学习”的普及与落地,微众银行于2018年10月向IEEE标准协会提交关于建立联邦学习标准的提案——“Guide for Architectural Framework and Application of Federated Machine Learning”(联邦学习基础架构与应用标准)。该立项提案已于2018年12月获批。由微众银行主办的IEEEP3652.1(联邦学习基础架构与应用)标准工作组第一次会议在深圳成功召开,此次会议的召开也正式宣告“联邦学习”走入行业规范。

联盟学习生态

联盟学习生态是由微众银行AI项目组发起的,旨在开发和推广数据安全和用户隐私保护下的AI技术及其应用。通过以下几点来发展联邦学习:

(1)推动开源并建立技术联盟机制

(2)研制和建立国内外的标准和规范

(3)使用区块链等技术建立多方共识机制

(4)鼓励各方参与并推广行业垂直领域的应用

作用

联邦机器学习可以避免非授权的数据扩散和解决数据孤岛问题 。

以上是关于初识联邦学习的主要内容,如果未能解决你的问题,请参考以下文章

阅读笔记联邦学习实战——联邦学习医疗健康应用案例

阅读笔记联邦学习实战——联邦学习智能用工案例

阅读笔记联邦学习实战——联邦学习视觉案例

阅读笔记联邦学习实战——联邦学习在智能物联网中的应用案例

阅读笔记联邦学习实战——联邦学习攻防实战

阅读笔记联邦学习实战——联邦个性化推荐案例