数据安全实践:能力体系、产品实现与解决方案
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.5.2 联邦学习

联邦学习(Federated Learning)是一种分布式机器学习方法,可以使多个数据拥有方在不交换数据的情况下共同训练并产生全局模型。在这一过程中,数据不需要离开数据拥有方的手机、笔记本电脑或服务器,而是将学习算法部署在边缘设备上来实现。边缘设备上运行的学习算法会产生模型更新,然后将这些更新聚合在中心服务器上以产生全局模型。由于在训练过程中数据不发生转移,联邦学习可以很好地解决传统机器学习中数据集中带来的隐私与可扩展性问题,具有广阔的发展前景。

联邦学习有三大构成要素:数据源、联邦学习系统和用户。在联邦学习系统下,各个数据源方进行数据预处理,共同建立机器学习模型,并将输出结果反馈给用户。联邦学习的步骤如图1-5所示,详细说明如下。

图1-5 联邦学习步骤示意

1)在服务端预先选择一个初始模型。

2)将所选的初始模型分发到边缘设备(各数据所有者的本地设备)。

3)每个数据所有者都使用自己的本地数据进行现场训练。这些训练数据由于涉及个人隐私,是严格限制流转的。

4)本地训练后,新生成的模型会通过加密的通信信道发送回服务端。服务端没有得到任何真实的数据,只得到了模型的训练参数(如神经网络中的权重)。来自所有边缘设备的更新被平均并聚合到一个共享模型中,从而提高了模型的准确性。

5)新模型被分发到所有的设备和服务端。

根据各参与方数据源特征的不同,联邦学习可以分为三类:横向联邦学习、纵向联邦学习和联邦迁移学习。

(1)横向联邦学习

在两个数据集的用户特征重叠较多而用户重叠较少的情况下,把数据集按照横向(用户维度)切分,并取出双方用户特征相同而用户不完全相同的那部分数据进行训练。这种方法叫作横向联邦学习。比如业务相同但是分布在不同地区的两家企业,它们的用户群体分别来自各自所在的地区,相互的交集很小。但是,它们的业务很相似,因此,记录的用户特征是相同的。此时,就可以使用横向联邦学习来构建联合模型。

(2)纵向联邦学习

在两个数据集的用户重叠较多而用户特征重叠较少的情况下,把数据集按照纵向(特征维度)切分,并取出双方用户相同而用户特征不完全相同的那部分数据进行训练。这种方法叫作纵向联邦学习。同一个区域里的两个不同业务机构,例如银行和电商,它们的用户群体很有可能包含该地的大部分居民,因此用户的交集较大。但是,银行记录的都是用户的收支行为与信用评级,而电商则保有用户的浏览与购买记录,它们的用户特征交集较小。纵向联邦学习就是将这些不同特征在加密的状态下进行聚合,以增强模型能力的联邦学习。

(3)联邦迁移学习

在两个数据集的用户与用户特征重叠都较少的情况下,我们不对数据进行切分,而可以利用迁移学习来克服数据或标签不足的情况。这种方法叫作联邦迁移学习。在不同区域的两个不同业务机构,例如位于中国的银行和位于美国的电商,由于受到地域限制,这两家机构的用户群体交集很小。同时,由于机构类型的不同,二者的用户特征也只有小部分重合。在这种情况下,要想进行有效的联邦学习,就必须引入迁移学习来解决单边数据规模小和标签样本少的问题,从而提升模型的效果。