1.5.1 模型训练

联邦学习的训练过程是指由各方数据建立模型的过程。从训练过程的整体来看,如果把联邦学习的训练过程分为“分治”和“联合”两个部分,那么理解起来会简单、清晰。

1.“分治”部分

“分治”源于“分治算法”的思想。基于各个参与方在保护数据安全前提下的合作建模需求,各方工程师需要识别具体问题。因为我们需要基于各个参与方不同的数据进行模型训练,所以各个参与方需要先在各自本地终端部署数据和进行模型初始化,通过在本地执行训练程序进行本地模型的更新,最后所训练的模型也拥有不同的模型参数。

2.“联合”部分

虽然不同的框架的实现方式不同(如横向联邦学习、纵向联邦学习),但主要是全局模型、本地模型的训练和模型更新。全局模型通过聚合各个参与方本地计算的信息进行训练来完成模型更新,然后再把各个参与方所需的信息传递到本地,开始下一轮的迭代训练。在这个过程中,我们需要注意的是敏感数据的安全传输,比如对模型的梯度损失值常常采用同态加密,以在满足计算要求的前提下保护各方隐私。