联邦学习part1概述

1.联邦学习定义: 

联邦学习是利用分散在各参与方的数据集,通过隐私保护技术融合多方数据信息,协同构建全局模型的一种分布式训练方式。

在模型训练过程中,模型的相关信息能够在各参与方之间交换(交换方式可以是明文或加密的),但本地训练数据不会离开本地。训练好的联邦学习模型可以在各数据参与方之间共享和部署使用。

 2.联邦学习的核心理念:

数据不动模型动,数据可用不可见

3.联邦学习的特征:(也是进行算法和理论分析时应遵守的原则和前提)

  • 两个或以上的联邦学习参与方协作构建一个共享的机器学习模型。每个参与方都拥有若干能够用来训练模型的训练数据。
  • 在联邦学习模型的训练过程中,每一个参与方拥有的数据都不会离开参与方,即数据不离开拥有者。
  • 联邦学习模型相关的信息能够以加密的方式在各方之间进行传输和交换,并且需要保证任何一个参与方都不能推测出其他方的原始数据。
  • 联邦学习模型的性能要能够充分逼近理想模型(通过所有训练数据集中在一起并训练所获得的机器学习模型)的性能。
  • 联邦学习模型的构建不影响客户端设备的正常使用,即客户端在本地训练的过程中,应能保证该设备其他进程的正常运行。

 4.联邦学习性能损失:

狭义: |V sum - V fed | < δ

广义:V sum - V fed < δ    (剔除异常客户端)

5.联邦学习的分类(按照特征和样本空间划分)

横向联邦学习:样本特征相似,数据量增加。取出双方用户特征相同而用户不完全相同的那部分数据进行训练。

纵向联邦学习:样本对齐,样本特征扩增,标签共享。取出双方用户相同而用户特征不完全相同的那部分数据进行训练。

联邦迁移学习:源域中学习特征分布,将特征信息迁移到目标域中,处理异构数据联邦问题

6.分类(按照协调方式的不同)

  • 集中式拓扑(中心计算方,服务器,整合其他各方的参数信息,易于设计)
  • 对等网络拓扑(更安全,但设计难度大)

7.分布式机器学习和联邦学习的区别或联系

  • 用户对于自己的设备和有着控制权。 

用户可以随时让数据停止通讯或参与计算,像联邦一样,有自治权,传统分布式机器学习,workerserver的控制,接受server的指令。

  • Worker节点是不稳定的。

节点往往是手机ipad等,比如手机可能突然就没电了,或者进入了电梯突然没信号了,连不上server。但传统分布式学习,设备往往在机房,连着高速宽带,24小时开机,有专人维护,很稳定。

设备各不相同,计算能力也会不同,同时计算的话,有的节点已经计算了好几遍,有的还没计算完,但传统分布式结点相同型号机器和处理器计算性能几乎相同。

  • 通信代价往往比计算代价要高

传统分布式节点网线连或者接入高速宽带稳定,联邦学习中workerserver远程连接,甚至不在一个国家,带宽低网络延迟很高

  • 分布在Worker节点上的数据并不是独立同分布的(not IID)

传统分布式,数据划分均匀随机打乱,每个节点计算统计量结果差不多,数据随机在节点间shuffle,独立同分布的,这样有利于设计高效的算法,但对于手机 里面数据不同,用户习惯不一样,有的人拍风景,有的自拍,图片的统计性质就完全不一样。数据不是独立同分布的,因此很多已有的减少通信次数的算法就不适用了。

  • 节点负载不平衡,不平衡的数据量

有的设备数据多有的设备数据少。比如有的用户几天拍一张照片有的用户一天拍好多照片,这给建模带来了困难。如果给图片的权重一样,那么模型可能往往取决于拍图片多的用户,拍照少的用户就被忽略了。如果用户的权重相同,有的用户使用时间长,这样学出来的模型对重度用户效果又不太好了。负载不平衡也给计算带来了挑战,数据少的用户可能一下子算了很多epoch了,数据多的用户还早着。这一点上,联邦学习不像传统的分布式学习可以做负载均衡,不能负载平衡,不能将一个节点的数据转移到另一个节点。

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