联邦学习的过程分为自治和联合两部分。
自治的部分:首先,两个或两个以上的的参与方们在各自终端安装初始化的模型,每个参与方拥有相同的模型,之后参与方们可以使用当地的数据训练模型。由于参与方们拥有不同的数据,最终终端所训练的模型也拥有不同的模型参数。
联合的部分:不同的模型参数将同时上传到云端,云端将完成模型参数的聚合与更新,并且将更新好的参数返回到参与方的终端,各个终端开始下一次的迭代。以上的程序会一直重复,直到整个训练过程的收敛。
现以包含两个数据拥有方(即企业A和B)的场景为例来介绍联邦学习的系统构架,该构架可扩展至包含多个数据拥有方的场景。假设企业 A 和 B 想联合训练一个机器学习模型,它们的业务系统分别拥有各自用户的相关数据。此外,企业 B 还拥有模型需要预测的标签数据。出于数据隐私和安全考虑, A 和 B 无法直接进行数据交换。此时,可使用联邦学习系统建立模型,系统构架如图所示。
第一部分:加密样本对齐。
由于两家企业的用户群体并非完全重合,系统基于加密的用户样本对齐技术(如RSA),在A和B不公开各自数据的前提下确认双方的共有用户,并且不暴露不互相重叠