联邦学习(Federated Learning)概述

联邦学习(Federated Learning)概述1.什么是联邦学习

哈尔滨工程大学 区块链讨论课

2018065124 杨儒浓

1.什么是联邦学习

也许很多人从未听说过联邦学习是联邦学习?甚至从词义本身也无法得知是何种领域的技术。今天我将为大家介绍一下这种近几年由人工智能与区块链技术结合并衍生出的一种全新概念,联邦学习。关于联邦学习的定义,可以理解为是在保证数据隐私安全及合法合规的基础上,利用各个节点掌握的数据实现共同建模,提升AI模型的效果。联邦学习最早在 2016 年由谷歌提出,原本用于解决安卓手机终端用户在本地更新模型的问题。目前广泛用于人工智能研究方向。

在详细介绍联邦学习之前,我们需要知道区块链和人工智能的联系。2016年人工智能棋手AlphaGo击败了当时的世界冠军职业九段棋手李世石,此后又在在中国棋类网站上以“大师”为账户注册账号与中日韩数十位围棋高手进行快棋对决,连续60局无一败绩。AlphaGo让全世界了解了人工智能的所取得的长足发展。

联邦学习(Federated Learning)概述

然而AlphaGo的训练需要将近300000盘比赛作为训练数据,才能取得优异的成绩。这说明了人工智能是靠数据来喂的,而且是大量优质数据。而人工智能成长的过程中,需要的算力和时间也是巨大的。因此,人们提出了协作运算的想法。然而多部门协作运算又会衍生出另一个问题,那就是跨组织传输数据的保密和计算贡献度的问题。

2.为什么要引入区块链

为了高效率的协调训练,来源于虚拟货币的区块链思想正好能完美解决上述问题。区块链技术,也就是这一类工作与隐私保护机器学习非常相关的技术,因为它还考虑了去中心化协作学习设置中的数据隐私。这一技术将联邦学习网络中的节点连接到了一起,日常生活中的手机,电脑甚至智能设备都可以是联邦学习的一部分。在区块链中,他们行使的职责是在本地完成计算,最后将计算完成的加密结果上传。

联邦学习(Federated Learning)概述

区块链技术,也就是这一类工作与隐私保护机器学习非常相关的技术,因为它还考虑了去中心化协作学习设置中的数据隐私。这一技术将联邦学习网络中的节点连接到了一起,日常生活中的手机,电脑甚至智能设备都可以是联邦学习的一部分。在区块链中,他们行使的职责是在本地完成计算,最后将计算完成的加密结果上传。

我们有了区块链技术以后。各个节点作为数据训练的参与者进行联合训练,其中可能需要提供的保密训练数据也能得到保护。而作为联邦学习网络中的记账者(可信第三方或者选中的节点)可以在完成集成数据并构建模型以后,在账本上记录各个节点所得的奖励,也就是训练完成的数据模型。因此联邦学习网络在高度发达的网络时代像是一个永不关机的训练机。

这样的共同建模需要满足以下三大前提:

1.双方均获得数据保护

2.共同提升模型效果

3.模型无损失

 

3.联邦学习分类

联邦学习依据分类方式划分有三种方式,分别为横向联邦学习(特征对齐的联邦学习),纵向联邦学习(样本对齐的联邦学习),联邦迁移学习(找到源领域和目标领域之间的相似性)。鉴于目前的联邦迁移学习理论还不够成熟。下文中,我将当今最常用的纵向联邦学习来解释联邦学习在生活的应用。

 

4.横向和纵向联邦学习

4.1 横向联邦学习

横向联邦学习的特征便是横向划分,也就是联合多个参与者的具有相同特征的多行样本进行联邦学习,即各个参与者的训练数据是横向划分的。在实际的运用过程中可以理解为,跨国企业(例如不同国家的超市)之间的合作,他们所共有的用户信息是明显不一样的,在共同训练用户模型的时候发现用户所具有的特征选项基本一致。因此这个时候运用到横向联邦学习的效率是最高的。

联邦学习(Federated Learning)概述

目前所应用的联邦学习流程可以理解为如下几步:

1.参与方各自从第三方可信机构的服务器中下载需要训练的模型

2.每个参与方利用本地数据训练模型(无需上传本地数据),加密梯度数据上传给第三方可信机构,第三方可信机构聚合各用户的梯度更新模型参数

3.第三方可信机构依据贡献度,返回更新后的模型给各节点

4.各参与方更新各自模型,并将模型用于实际问题之中

联邦学习(Federated Learning)概述

4.2 纵向联邦学习

纵向联邦学习作为最常用的联邦学习方式原理是在两个数据集的用户重叠较多而用户特征重叠较少的情况下,我们可以将已有的数据集进行纵向维度的切分。

联邦学习(Federated Learning)概述

如上图,也就是截取双方相同的样本ID(在这里可以理解为用户的主键)。因此,纵向联邦学习也称为样本对齐的联邦学习,在服务器训练多方提交的梯度数据前,找出参与者拥有的共同的样本ID,这一过程也叫“数据库撞库“。而纵向联邦学习的实现过程与上文中所提到的流程相同,在这里便不过多赘述。

在实际应用中,例如同一地区的银行和电商平台(此时的目标用户基本可以说是重合的)。两个平台各方可以输入自己手中的X和Y特征值在本地进行训练,银行拥有当地可以是用户的收支记录x1,电商平台拥有用户的消费记录和浏览记录x2,以这些数据为依据,对当地用户的行为和信用值Y进行评级,其本质是将多方对相同目标的不同特征描述进行训练提取。双方可以在保持自己所有的机密信息不被泄露的的情况下,依据汇总得到的模型数据对不同类型的用户采取不同的措施,例如是否继续推送贷款广告,奢侈品广告还是对目标用户停止放贷,等等。

联邦学习(Federated Learning)概述

5.总结

虽然近几年联邦学习的概念非常火热,但是该领域仍然处于起步阶段。除了在科学领域的少量应用,在城市管理,商业领域的应用依然停留在理论和实验阶段。当前存在的问题包括联邦学习体制跨国主体协作效率低,联邦迁移学习体制尚不完善,共识算法存在可利用的缺陷等问题。在联邦中每台节点机器实际交互的过程中,每一轮的模型迭代都需要严格的解密训练、加密上传的步骤,每一次的数据交换均需要实现于中心服务服务器复杂的连接建立和数据交换,因此相比于传统的直接收集数据进行统一数据训练来看,联邦学习的方式的效率会慢很多。

但是相信随着计算机科学的发展,相信在可预见的未来,更多的社会机构将会加入联邦学习体系,共同构建一个智慧的人工智能社会。

架构君码字不易,如需转载,请注明出处:https://javajgs.com/archives/222687
0
 

发表评论