论文简介
- 论文名称:No Fear of Heterogeneity: Classifier Calibration for Federated Learning with Non-IID Data
- 作者:Luo Mi,新加坡国立大学
- 论文链接:https://proceedings.neurips.cc/paper/2021/hash/2f2b265625d76a6704b08093c652fd79-Abstract.html
- 论文来源:NIPS 2021
论文贡献
这篇论文的作者无论是思路,还是实验完善度,还是语言表达能力都很强,论文读起来感觉很舒服。首先探寻了联邦学习中数据异质性导致效果欠佳的原因:non-iid数据分布的情况下,神经网络中classifier的误差明显大于其它层。然后作者提出了对classifier的后校正方案:通过GMM模型来生成虚拟的样本表示,之后用虚拟的样本来校正分类器。
论文动机
作者首先进行了一个小实验:对于一个7层的网络,作者首先使用CKA(Centered Kernel Alignment)相似度来衡量在iid和non-iid分布下10个不同client的本地模型的各层参数的相似度:

可以看到无论在第1轮训练还是最后一轮训练,不同client的本地模型在non-iid下的各层相似度都明显低于iid分布的情况,且第七层(即classifier)的相似度最低。因为对于non-iid数据,本地模型的分类器需要进行一个比较大的调整,才能拟合本地数据的分布。
作者还进行了另外一个实验,计算每个本地模型权重的L2范数:

可以看到,在训练伊始,分类器的范数会更多的偏重于训练样本更多的类。而训练结束的时候,non-iid上训练的模型相比于iid上训练的模型,其分类器的参数偏移更严重。
基于以上对分类器的分析,作者提出的观点如下:由于分类器是直接与本地数据的标签分布相关的,因此分类器很容易偏向于异构局部数据,因此不同本地分类器之间CKA相似度较低,且权值L2范数也较大。我们认为去偏置分类器可以直接提高分类性能。作者也做出了假设:对分类器进行校正可以直接提高分类性能。
分类器校正
作者提出了以下几种分类器的校正方案,并一一进行了实验:
- 分类器权重L2归一化
- 分类器权重的平方正则
- 使用iid数据对分类器进行后校正。
当然这里的iid数据只是在实验过程中给予了客户端,用来观察校正的有效性的,在实际情况下当然不可能给客户端数据。
三种校正方案的实验结果如下:

可以看到第三种校正策略收到的效果最好。
然后作者针对第3个方案,进行了详细的验证,看看提供的iid数据规模与准确率的关系:

使用iid数据进行校准的分类器的性能都很好,就算只用$\frac{1}{50}$的训练数据样本进行校准,也能获得不错的效果。
用虚拟的表示进行分类器校准
作者提出了Classifier Calibration with Virtual Representations(CCVR)算法,在服务器上使用GMM算法提取虚拟特征,然后使用虚拟的表示来重训练全局模型$g$。
特征分布估计
理论上,任何连续的分布都可以用有限数量的高斯分布的混合来近似。这里作者假设每个类的特征都遵循高斯分布。
这样,server只在每个client上收集所有特征的均值$\mu_c$和协方差$\sum_c$。,以此来估计真实数据分布。
server先将训练过的特征提取器$f_{\hat{\theta}}$发给clients。假设$N_{c,k}$是客户端$k$上的第$c$类样本的样本数,$z_{c,k,j}$是客户端$k$的第$c$个类的第$j$个样本的特征,则每个client计算$\mu_{c,k}$和$\sum_{c,k}$的公式如下:

然后服务器对每个类的均值进行计算:

对于协方差,根据协方差的定义,有如下式:

因而全局的协方差可以写成:

得到了$\mu_c$和$\sum_c$之后,就可以通过高斯分布$N(\mu_c, \sum_c)$来生成一组带有真实标签的虚拟特征$G_c$。
具体的算法流程如下:

整个框架的最后一步就是拿虚拟的标签分布来对全局模型来一个重训练。
作者的这个CCVR使得每个客户端只上传本地高斯统计数据,而不是原始的特征表示,因此具有隐私保护较强。且CCVR只是一种后处理的方法,因此它可以很容易地与一些隐私保护技术相结合,以进一步保护隐私。
作者还在附录进行了隐私保护的实证分析,这是以前没见到过的。
实验验证
作者使用的三个数据集:CIFAR-10、CIFAR-100和CINIC-10。CINIC-10是由ImageNet和CIFAR-10构建的,样本相似但分布不同,因此常用于数据异构的验证中。
最后的实验结果如下:

表里第一栏是baseline,第二栏是作者的框架性能,第三栏相当于就是upper bound。
可以看到作者的框架对所有的baseline都有一个提升。对FedAvg和MOON算法的提升最大。
对于CIFAR-10数据集,CCVR的数据集提升效果显著,而对于CIFAR-100,提升效果就比较一般。因为对于CIFAR100,前面几层的特征就没怎么学好。因此CCVR对分类器的改进效果巨大,但是对特征提取器没什么帮助。
此外,CCVR还显著提升了模型在CINIC-10上的性能,作者还进行了可视化:

可以看到对于右上角原先分布的绿色&紫色样本,以及中间的红色&褐色样本,分类器在前期将这些边界上的样本给混淆了。但分类器校正以后,误分的情况就大大降低了。
另外作者还针对non-iid的不同程度,对CCVR的提升效果进行了验证(不得不说这个论文的实验做的真的全面)。
在狄利克雷分布$\alpha=0.5, 0.1, 0.05$的情况下进行了验证(见上面的表),结果依然是能显著提高分类的效果。
总结
这篇论文的针对性和创新性都比较强,先做了非常全面的motivaion实验,证明联邦学习的分类器有很大的提升空间,在最终的实验过程中也是考虑的非常全面,对框架的各个特点都进行了讨论。
自己是没找到这篇论文有什么改进,唯一感觉疑惑的一点就是,论文假设所有类的特征分布都遵循高斯分布,这一假设是否过强?
Comments | NOTHING