赞
踩
本文提出使用使用联邦蒸馏 (federated distillation FD)和联邦增强(federated augmentation FAug)来解决联邦学习中客户端数据非独立同分布和客户端之间通讯开销大的问题。 |
总体思想
需要明确的是在这篇论文中训练的是客户端模型,服务端并没有模型,服务端只是起到训练cgan和通讯的作用。
首先通过联邦增强,使得各个客户端的本地数据都达到独立同分布。在接下来的训练中通过联邦蒸馏来让本地的客户端模型学习到其他客户端模型的知识从而提升客户端本地模型的效果。
1.联邦蒸馏(FD)
在传统的联邦学习中,客户端每一轮都需要将模型参数传给服务端,在这种方法下,通讯量是与模型参数的规模成正比的。而FedMD这篇文章中构建了一个共享数据集,客户端每一轮将本地模型对共享数据集的预测分数发给服务端,然后客户端模型通过知识蒸馏来获得客户端模型所学习到的知识。在这种情况下,通讯量是与共享数据集的大小成正比的。
但是本篇论文的作者认为以上两种方法都没有达到高效率通讯,于是提出了联邦蒸馏:每个客户端定期客户端上传本地每类数据的平均预测分数。然后定期从客户端下载全局每类数据的预测分数总和,然后再本地再求全局每类数据的平均预测分数
注意:我上面说的是定期,而不是每一轮。
联邦蒸馏算法 |
---|
联邦蒸馏示意图 |
---|
联邦蒸馏优点
1.通讯量进一步减少,现在通讯量是与数据种类数成正比的。
2.不需要像FedMD那样构建共享数据集。
缺点
1.通讯的信息质量不高。因为客户端最终得到的是每类数据的全局平均预测分数,这样客户端模型并不能有效学到其他客户端模型的知识。
2.联邦增强(FAug)
每个客户端将自己缺少的数据的标签和这些标签的少量种子数据上传到服务端,然后服务端就用这些种子数据通过Google的视觉数据图像搜索进行采样,然后使用采样到的数据训练出cgan(条件生成对抗网络)。客户端就从服务端下载cagn然后生成本地缺少的数据,从而使得客户端本地数据独立同分布。
联邦增强示意图 |
---|
实验效果
可以看到FD的模型的准确率并不怎么高,但通讯量确实是很小。FD的精确度降低可以通过FAug来补充。
作为通信开销的回报,FL(FedAvg)对非独立同分布的数据集更为健壮。这是通过FAug观察到的,它将FD的测试精度提高了7-22%。并且与无FAug(即非IID数据集)样本的相比,FL的增加0.8-2.7%。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。