【联邦学习】FedAvg 过程简介
一、FedAvg 简介
FedAvg是一种分布式框架,允许多个用户同时训练一个机器学习模型。在训练过程中并不需要上传任何私有的数据到服务器。本地用户负责训练本地数据得到本地模型,中心服务器负责 加权聚合本地模型 从而得到全局模型,经过多轮迭代后最终得到一个趋近于集中式机器学习结果的模型,有效地降低了传统机器学习源数据聚合带来的许多隐私风险。
二、联邦训练过程
-
首先用户从服务器中下载模型参数,更新本地模型参数,进行本地机器学习训练。
-
其次在用户中通过 本地随机梯度下降 不断更新模型的精度,当达到 预定的本地训练次数 时,将本地训练后的模型参数上传到服务端中。
-
服务端 随机抽取 用户设备(当客户端达到一定数量之后,联邦学习对客户端进行抽样聚合),并接收本地用户上传的模型参数梯度进行聚合。表示服务端模型参数梯度聚合,服务端将抽样的用户模型参数梯度加权平均并与上一轮聚合后模型参数相加,更新全局模型参数。最后将聚合后的模型参数回传给抽样用户设备,然后继续执行步骤1操作。重复执行上述步骤直至 通讯次数达到 t 。