ICML2020 Federated Learning 解读 - 2/5

这是ICML2020 Federated Learning 解读系列的第二篇,本系列文章用于分析和解读ICML2020 Accepted paper中 Federated Learning领域的论文:

  • Communication-Efficient Federated Learning with Sketching
  • FedBoost: A Communication-Efficient Algorithm for Federated Learning
  • Federated Learning with Only Positive Labels
  • SCAFFOLD: Stochastic Controlled Averaging for Federated Learning
  • From Local SGD to Local Fixed Point Methods for Federated Learning

Federated Learning简介以及本系列的上一篇文章请前往:

今天我们来看这一篇paper:

FedBoost: A Communication-Efficient Algorithm for Federated Learning

这篇文章想要实现什么目标?

Ensemble 是一种有效的机器学习算法, 它具体来说并不是一种机器学习算法,而是训练多个机器学习的模型,然后将他们结合起来从而产生高于任何一个单个模型的聚合模型。如果将Ensemble 直接用于Federated Learning显然是不可行的,因为Federated Learning本来就受到communication的限制 (移动端的网络传输速率较低)和移动端计算能力的限制,现在还要变本加厉的传送和训练多个模型。这篇文章试图设计一种适用于Federated Learning的Ensemble算法。

这篇文章提出的方法是什么?

这篇文章主要研究了Boost算法。简单来说,假设我们有100个已经训练好的机器学习模型(称为base predictor),现在我们给base predictor的输出加一个权重,然后全部加起来,得到一个新的模型。怎么训练这个模型呢?方法就是100个base predictor固定不变,我们学习这100个权重。

如何将boost算法用到Federated Learning里面呢?文章提出了一个叫做FedBoost的算法。具体做法就是,在每一轮训练中,通过uniform sampling或者加权随机sampling的方法在100个base predictor里随机选取T个,然后更新对应的T个权重,发送回server端,然后server端再根据一些公式来更新100个权重。

除此之外,文章还证明了在经验风险最小化的density estimation任务中,文章提出的方法是最优算法。具体的一堆公式和证明就不提了。

总结

可能是因为公式和证明太多了,这篇文章我越看疑惑越多。首先文章的实验非常简单,仅仅在Shakespeare数据集和一个合成数据集上做了实验,结果也只是汇报了KL divergence,而且文章里仅有的三个实验结果的图,其中有两个的Y轴竟然不是从0开始的。并且文章的方法给我感觉也没有很大的创新性。

不过文章尝试解决的问题很有意义,Ensemble方法在工业界还是应用很广泛的,如何把FL和Ensemble结合起来是一个很有意思的问题。不过这篇文章嘛...还是仅供参考吧。

发布于 2020-07-21 13:24