联邦学习综述

什么是联邦学习

本质:联邦学习本质上是一种分布式机器学习技术,或机器学习框架。

目标:联邦学习的目标是在保证数据隐私安全及合法合规的基础上,实现共同建模,提升AI模型的效果。

前置知识:

优化过程

通信成本占主导

一般数据中心中,通讯花费占少数,计算花费占大头。但是在联邦优化中,通讯占主导地位

因为单个客户端的训练数据很小,而且当前智能手机等客户端的计算能力是足够强的,所以通过使用额外的计算量来减少通信的次数

联邦平均算法

联邦背景下,对梯度下降算法的扩展。

选取K个Client,Server将当前的参数传递给Client,Client根据本地数据集和参数来进行梯度下降。

最后将训练后的参数返回给Server,Server将获得的所有参数加权处理后得到最终的参数。然后再进行下一轮计算。

fedsvg.png

如图所示,当B $\rightarrow$ $\infty$,E $\rightarrow$ 1  表示本地数据全部参与训练,只训练一次,称为FedSGD。

分类

我们把每个参与共同建模的企业称为参与方,根据多参与方之间数据分布的不同,把联邦学习分为三类:横向联邦学习、纵向联邦学习和联邦迁移学习。

横向联邦学习

横向联邦学习的本质是 样本的联合,适用于参与者间业态相同但触达客户不同,即特征重叠多,用户重叠少时的场景,比如不同地区的银行间,他们的业务相似(特征相似),但用户不同(样本不同)

学习过程:

纵向联邦学习

纵向联邦学习的本质是 特征的联合,适用于用户重叠多,特征重叠少的场景,比如同一地区的商超和银行,他们触达的用户都为该地区的居民(样本相同),但业务不同(特征不同)。

学习过程

纵向联邦学习的本质是交叉用户在不同业态下的特征联合,比如商超A和银行B,在传统的机器学习建模过程中,需要将两部分数据集中到一个数据中心,然后再将每个用户的特征join成一条数据用来训练模型,所以就需要双方有用户交集(基于join结果建模),并有一方存在label。其学习步骤如上图所示,分为两大步:

第一步:加密样本对齐。是在系统级做这件事,因此在企业感知层面不会暴露非交叉用户。

第二步:对齐样本进行模型加密训练:

联邦迁移学习

当参与者间特征和样本重叠都很少时可以考虑使用联邦迁移学习,如不同地区的银行和商超间的联合。主要适用于以深度神经网络为基模型的场景。

迁移学习,是指利用数据、任务、或模型之间的相似性,将在源领域学习过的模型,应用于 目标领域的一种学习过程。