联邦学习论文阅读:Multi-Center Federated Learning


论文简介

论文贡献

这篇论文的作者也是比较惨,挂在arXiv上已经87引用了,但论文一直没投出去。不过感觉论文也的确有一些硬伤,但创新点还是很足的。针对联邦数据异构问题,作者提出了多中心的联邦学习算法,用客户端的数据聚合出多个全局模型,这样每个全局模型能捕获不同客户端之间的数据异质性。然后再给每个客户端分配对它来说最优的一个全局模型进行迭代更新(有点个性化联邦的思路?)。

动机

考虑FL的中心数量的两个极端情况:

  • K=1:模型简化为单一全局模型的FedAvg,这种算法没法捕获异质性,在一些特定的客户端上的表现肯定是欠佳的。
  • K=m:给每个节点分配一个全局模型来解决异质问题。但这样一来,更新每个全局模型的设备数据很可能不够充分,这也就失去了FL的主要优势。

因此需要在这两种情况之间做好权衡,平衡好FedAvg的优势以及数据异构的劣势。

方法

多中心模型聚合

所有的局部模型分为了K个簇,每个簇覆盖一个局部模型的子集,每个模型的参数为$\{W_j\}^{m_k}_{j=1}$。




上图中,左边是传统的FL单中心聚合方式,右图是作者提出的多中心聚合方式。可以看到右边的簇内距离明显比左边的要小。而簇内距离直接反映了FL可能的loss大小。

分布式网络的联合优化

多中心的FL问题可以表示成下式:




其中,$\lambda$用于权衡supervised loss和簇内距离。这个优化问题可以从client和server两个视角入手:

  • 对于client$i$,可以固定所有变量,优化上式;
  • 对于server,可以固定所有本地模型$\{W_i\}$,然后优化$\{r_{i}^{k}\}$,$\{\widetilde{W}^{(k)}\}$。

然后讨论了在客户端终端进行多中心分配的方案:
式(6)的第2项就是为了最小化每个客户端模型与离它最近的全局模型的距离。当client呈现non-iid数据分布的时候,分布在同一簇的设备更有可能遵循同一分布。因此通过最小化簇内距离来优化全局模型:

而判断设备i是否在团簇j的算法如下:

而且因为每个设备都是依赖离他最近的全局模型的距离,因此局部模型在局部更新阶段不能有太大的变化(不然全局模型又得重新训练)。因此新的损失包含一个监督学习损失和一个正则化项来约束本地模型。
正则项作者引用了18年的一篇论文,这个正则项可以有效限制本地模型的更新:

Tian Li, Anit Kumar Sahu, Manzil Zahheer, Maziar Sanjabi, Ameet Talwalkar, and Virginia Smith. Federated optimization in heterogeneous networks. arXiv:1812.06127, 2018.

局部模型的损失最小化如下:



优化算法

一般来说期望最大化问题都可以用聚类目标函数来解决,比如K-means之类的。但作者这个情况比较特殊,因为每个局部模型$W_i$都是动态变化的。这里作者采用的优化算法是随机期望最大化(Stochastic Expectation Maximization,SEM)算法。
这里的优化算法作者命名为FLsEM算法,伪码如下:




流程如下:

  • e次循环:

    • 计算每个本地模型$\{W_i\}$和每个中心模型$\widetilde{W}^{(k)}$的距离
    • 重新分配团簇,给每个设备分配最优的中心模型$\widetilde{W}^{(k)}$。
  • m次循环:

    • 通过本地模型来聚合更新中心模型$\widetilde{W}^{(k)}$。



  • 更新本地模型:

    • 将中心模型$\widetilde{W}^{(k)}$发送给设备i。
    • 更新本地模型$\{W_i\}$。

局部训练是一个有监督的学习任务,通过前面提到的损失来结合本地数据进行更新,这样本地模型的个性化程度比较强,且不会偏离本地模型太多(因为损失里加了个正则化项)。

本地模型进行微调的伪代码如下:



实验验证




可以看到,模型在精度上表现得比较好,但是在F1指标上表现得一般。


论文弊端

看完论文,个人感觉论文的创新点还是比较足的,应该是第一篇提出多中心联邦的论文。但是无论是最终的实验结果还是其中一些细节的设定都不太好。个人感觉弊端如下:

  • 没有考虑设备的优先级和权重。按理说每个设备的数据量大小不同,对中心模型的贡献也就不同。因此从微观上来说,当某个本地模型的体量很小,和中心模型的体量差别较大的时候,用中心模型来更新本地模型得到的效果自然也不会好。这应该也是实验里F1指标较低的原因。
  • 这个聚类模型在寻找超参数:全局模型数量$K$的时候,需要不断尝试,而这个尝试是非常消耗通信成本的。
  • 关于这个模型对FL的收敛性的影响,我感觉作者的实验验证并不充足,只是拿了$K=2,3,4$的情况在两个数据集上跑了验证来证明收敛,感觉没什么说服力。
  • 中心模型一多,每个模型分到的客户端就少了,所训练的数据自然也就少了。因此会不会导致原先收敛的模型,用了他的框架以后反而不收敛了呢?

声明:奋斗小刘|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - 联邦学习论文阅读:Multi-Center Federated Learning


Make Everyday Count