前言
内容仅为笔者主观想法,记录下来以供之后回顾,如有错误请谅解。
一、联邦学习FedAVG和分布式SGD
文献:Federated Learning of Deep Networks using Model Averaging
在笔者理解中,联邦学习的目的就是利用多个个体所拥有的数据,实现模型的有效训练。其要克服的第一个问题就是个体信息的安全性和隐私性。如何在保障个体数据不被他人获取的情况下,利用该数据进行训练,这是首要问题。第二个问题就是个体的数据差异很大,基本可以视为不满足独立同分布条件的,同时数据量也十分不均衡,无法保障不同个体所拥有的数据是相同量级的。基于这些问题,联邦学习才被提出。
从分布式训练的角度来看,分布式SGD的主要思想就是将训练的过程分散到多个workers中,而server将各worker上传的梯度用于参数更新,再将结果传回各worker。
而联邦学习,直观上感觉与分布式SGD十分相似,都是有多个worker和一个server,也需要在worker上训练,在server上对多个worker上传的数据进行处理。但二者实际上有很大不同,在联邦学习中,