1、联邦学习
传统的机器学习算法需要用户将源数据上传到高算力的云服务器上集中训练,这种方式导致了数据流向的不可控和敏感数据泄露问题。Mcmahan等在2016年提出联邦学习技术,允许用户在机器学习过程中既可以保护用户隐私,又能够无须源数据聚合形成训练数据共享。联邦学习本质上是一种分布式的机器学习技术,其流程如图1所示。
客户端(如平板电脑、手机、物联网设备)在中心服务器(如服务提供商)的协调下共同训练模型,其中客户端负责训练本地数据得到本地模型(local
model)。中心服务器负责加权聚合本地模型,得到全局模型(global
model),经过多轮迭代后最终得到一个趋近于集中式机器学习结果的模型w,有效地降低了传统机器学习源数据聚合带来的许多隐私风险。
联邦学习技术特点
(1)参与联邦学习的原始数据都保留在本地客户端,与中心服务器交互的只是模型更新信息;
(2)联邦学习的参与方联合训练出的模型w将被各方共享;
(3)联邦学习最终的模型精度与集中式机器学习相似;
(4)联邦学习参与方的训练数据质量越高,全局模型精度越高。
2、联邦学习算法原理
典型的联邦学习场景是在本地客户端设备负责存储和处理数据的约束下,只上传模型更新的梯度信息,在数千万到数百万个客户端设备上训练单个全局模型w。中心服务器的目标函数F(w)
通常表现为:
其中,m是参与训练的客户端设备总数,n是所有客户端数据量总和,kn是第k个客户端的数据量,Fk(w) 是第K个设备的本地目标函数。
其中,dk是第k个客户端的本地数据集,fi(w) =α(xi,yi,w)
是具有参数w的模型对数据集dk中的实例(xi,yi)产生的损失函数。dk中所有实例产生的损失函数之和除以客户端k的总数据量就是本地客户端的平均损失函数,损失函数与模型精度成反比,因此,机器学习的目标函数优化通常是让损失函数达到最小值。
联邦学习的目标函数优化算法中,通常采用大批量随机梯度下降(SGD)算法,即通过本地客户端模型训练的损失函数,乘以固定的学习率η
,计算出新一轮的权重更新。因此,本地客户端的模型权重更新如下:
第t轮通信中心服务器的模型聚合更新如下: