一、概念
联邦学习本质上是一种分布式的机器学习技术。联邦学习由一个服务器,𝑁个持有私有数据集的客户端组成。通常,联邦学习的实施涉及三个步骤:
生成初始模型:云服务器首先生成初始的全局模型,将全局模型作为机器学习模型广播给联邦学习环境下的客户端 (0 < 𝑖 < 𝑁,𝑁为客户端的总数量)。
本地模型更新:客户端接收到从云服务器广播的全局模型之后,借助本地私有的数据集对模型进行训练,再将训练后的模型更新发送给服务器。
模型聚合:服务器接收从客户端发送来的更新后的训练模型,并进行聚合生成全局模型。服务器再将聚合的全局模型广播给所有参与训练的客户端。
自此,联邦学习进入迭代阶段。每一次迭代,全局模型都会进行更新。此外,服务器在任何阶段都可以在训练过程中添加或删除客户端。
二、挑战
异质性:分为设备异质性及数据异质性。现实世界中,各个设备的存储、CPU计算能力、网络传输等多个方面存在差异,这些异构性使得设备的计算时间不同,甚至导致在训练过程中个别设备直接掉线。数据异构性问题主要是由参与训练的各客户端的数据虽独立分布但不服从同一采样方法所导致的。不同设备中数据特征、数据样本量等各不一致。
通信开销:云服务器与客户端之间不断地进行通信,会带来较大的通信开销问题。
隐私安全:联邦学习只共享模型更新信息,比如梯度,而不是原始数据。尽管如此,仍存在泄露给第三方或者中央服务器信息的问题。最近用于增加隐私保护的方法,如SMC和差分隐私等,可能会降低系统效率和模型效果。需要在这些方面进行权衡。