FedBN总结

Posted 联邦学习小白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FedBN总结相关的知识,希望对你有一定的参考价值。

《FEDBN: FEDERATED LEARNING ON NON-IID FEATURES VIA LOCAL BATCH NORMALIZATION》ICLR 2021。文章通过在局部模型中加入批量归一化层(BN)解决联邦学习数据异构性中feature shift这种情况(之前很多文章都是研究label shift或client shift),文章将这种方法名为FedBN。

什么是feature shift

y为标签,x为特征,文章将feature shift定义为以下情况:
1)covariate shift:即使所有客户的 P i P_i Pi(y|x)是相同的,不同客户之间的边缘分布 P i P_i Pi(x)是不同的;
2)concept shift:不同客户的条件分布 P i P_i Pi(x|y)不同,但P(y)相同。
例如:医学成像中不同的扫描仪/传感器,自动驾驶中不同的环境分布(公路和城市),使得本地客户端的样本分布不同于其他客户端。

FedBN ALGORITHM

与FedAvg类似,FedBN也进行局部更新和模型聚合,不同的是,FedBN假设局部模型有批量归一化层(BN),且BN的参数不参与聚合。

收敛性分析

一片华丽的数学推导也太秀了,暂时没能看懂…
反正结论是在feature shift场景下,FedBN的收敛比FedAvg更快更光滑

实验

文章分benchmark和real-world datasets两种数据进行实验

1、benchmark experiment

1.1 实验设置

数据集:五个来自不同域且带有feature shift性质的数据集(不同域的数据具有异构的性质,但具有相同的标签和标签分布)。具体包括SVHN, USPS, MNIST-M, MNIST, SynthDigits。文章还对这五个数据集进行了些预处理,主要是控制无关因素,例如客户之间样本数量不平衡问题,使BN的作用在实验中更加易于观察。
模型:在卷积层和全连接层后面加入BN层。

客户端:默认设置下,有五个客户端,每个客户端的数据来自对不同的数据集的采样,且只有对应数据集的数据量的10%。
其他参数略详见论文。

1.2 收敛速度分析

具体设置:

与收敛性分析的结论相同,聚合模型在每个数据集(也就是每个客户端)上的收敛曲线显示,FedBN的收敛比FedAvg更快更光滑。

1.3 局部模型训练迭代次数分析

具体设置:

不同迭代次数(E)下,FedBN和FedAvg测试集上的准确率曲线显示,在各种E上,FedBN的准确率稳定地超过FedAvg。

1.4 本地数据集的大小分析

具体设置:

结果表明,每个客户端持有的Non-IID数据越少,FedBN的优越性越明显。

1.5 统计异质性的影响

具体设置:

更多的客户端对应更小的异构性。在所有异质性水平上,FedBN都比FedAvg实现了更高的测试精度。

1.6 Comparison with State-of-the-art

具体设置:

(1) FedBN实现了最高的精度;
(2) FedBN对SVHN数据集的性能最为显著,SVHN的图像外观与其他图像有很大的不同。

2、EXPERIMENTS ON REAL-WORLD DATASETS

总结与展望

其实这篇文章的中心很简单,就是在本地模型中加入BN层,然后应用于feature shift这种异构性场景并获得了不错的性能。有望与其他方法和框架,例如客户端选择策略,聚合策略等等相结合。并且BN本身也有优化版本可以尝试应用于此。

以上是关于FedBN总结的主要内容,如果未能解决你的问题,请参考以下文章

ExtJs 4:如何在一个请求中发送所有修改、新和删除的记录?

键盘用的手感不一样 跟新和旧有啥关系?

指针的优越性在哪?

ThinkPHP有啥优越性?如何使用?另外在PHP+MySQL中如何实现置顶、收索、转跳到指定第几页的功能。

中国量子优越性再获突破,量子计算时代已经到来?

优越性