Communication-Efficient Learning of Deep Networks from Decentralized Data

类型 说明
论文信息 Communication-Efficient Learning of Deep Networks from Decentralized Data
H.Brendan McMahan, Eider Moore, Daniel Ramage, Seth Hampson, Blaise Agüera y Arcas
研究的问题 移动设备的去中心化数据的高效率通信的分布式联合平均算法
算法名称 FederatedAveraging Algorithm(FedAVG)
前景知识
有限和形式 min_ωRdf(ω)  where  f(ω)=def1ni=1nf_i(ω).\min\_{\omega\in\mathbb{R}^{d}} f\left(\omega\right)  where  f\left(\omega\right) \stackrel{\text{def}}{=}\frac{1}{n}\sum^{n}_{i=1}f\_{i}\left(\omega\right).For a machine learning problem:fi(ω)=(xi,yi;ω)f_{i}\left(\omega\right)=\ell\left(x_{i},y_{i};\omega\right)
分布式形式 f(ω)=k=1KnknFk(ω)  where  Fk(ω)=1nkiPkfi(ω).f\left(\omega\right)=\sum^{K}_{k=1}\frac{n_{k}}{n}F_{k}\left(\omega\right)  where  F_{k}\left(\omega\right)=\frac{1}{n_{k}}\sum_{i\in\mathcal{P}_{k}}f_{i}\left(\omega\right).KK clients over which the data is partitioned
Pk\mathcal{P}_{k} the set of indexes of data points on client kk, nk=Pkn_{k}=\mid\mathcal{P}_{k}\mid
由下文推断nn为所有client的数据总数(论文没给出),即:k=1Knkn=1.\sum^{K}_{k=1}\frac{n_{k}}{n}=1.
预期期望 EPk[Fk(ω)]=f(ω)\mathbb{E}_{\mathcal{P}_{k}}[F_{k}\left(\omega\right)]=f\left(\omega\right)(典型IID假设,而non-IID则不会发生)
参考基准 FederatedSGD(FedSGD)
典型实现 KaTeX parse error: Expected 'EOF', got '}' at position 51: …ta\sum^{K}\{k=1}̲\frac{n_{k}}{n}….
其中,k=1Knkngk=f(ω).\sum^{K}_{k=1}\frac{n_{k}}{n}g_{k}=\nabla f\left(\omega\right).
C=1C=1,固定学习率η\eta下计算的gk=Fk(ωt)g_{k}=\nabla F_{k}\left(\omega_{t}\right)
等价形式:k,ωt+1kωtηgk,ωt+1k=1Knknωt+1k.\forall k, \omega^{k}_{t+1}\leftarrow\omega_{t}-\eta g_{k},\omega_{t+1}\leftarrow\sum^{K}_{k=1}\frac{n_{k}}{n}\omega^{k}_{t+1}.
本文算法核心 通过以下迭代,对每个client增加计算:ωkωkηFk(ωk).\omega^{k}\leftarrow\omega^{k}-\eta\nabla F_{k}\left(\omega^{k}\right).
超参数 1.CC:表示client数量的分数,C=0.0C=0.0表示1个client
2.BB:每个client的本地小批量大小(B=B=\infty时,表示本地full-batch)
3.EE:每一轮本地迭代周期数
注意 B=,E=1B=\infty, E=1时,FedAVG与FedSGD等价
本地更新次数:uk=EnkB.u_{k}=E\frac{n_{k}}{B}.
伪代码 Communication-Efficient Learning of Deep Networks from Decentralized Data
实验相关
对比数据集分布 独立同分布IID(Independently Identically Distribution)与非独立同分布non-IID
数据集 ①MNIST数据集(CV, IID vs. non-IID, both balanced)
②The Complete Works of William Shakespeare(NLP, IID vs. non-IID, balanced vs. unbalanced)
③CIFAR-10数据集(CV, IID, balanced)
④社交网络的提交数据(谷歌内部数据集,NLP, non-IID, unbalanced)
模型 1.2NN的多层感知机(数据集①)
2.带两个5×5卷积层的CNN(数据集①)
3.两层带256个节点的LSTM语言模型(数据集②自然语言处理)
4.来自TensoFlow turorial上的模型结构(数据集③)
5.256个节点的单LSTM模型
实验
超参数CC增加并行实验
每个client增加计算实验
过度优化实验→需要权重衰减
其他数据集实验(CIFAR)
大范围LSTM模型实验
结论 ①本文提出的FedAVG算法,即通过增加本地计算量的方法对于非平衡non-IID数据,能够有效减少通信轮次
②通过对比增加并行数量和增加单client计算量,发现后者对于训练提升较大!
思考 1.对于CV的实验全部都会balanced数据集,缺少比对unbalanced数据集上的测试,即每个client的本地数据集大小种类不一致时的实验
2.大范围语言模型实验仅仅对于其他条件不变下不同学习率的实验,缺少文中所说增加本地计算量能提高速度在大范围上的说服力(文中解释说大范围测试需要的大量计算资源的限制)
3.无法得知实验设备情况