当前位置:   article > 正文

Communication-Efficient On-Device Machine Learning: Federated Distillation and Augmentation 论文笔记_fedfa: federated learning with feature anchors to

fedfa: federated learning with feature anchors to align features and classif

   本文提出使用使用联邦蒸馏 (federated distillation FD)和联邦增强(federated augmentation FAug)来解决联邦学习中客户端数据非独立同分布和客户端之间通讯开销大的问题。

论文地址:Communication-Efficient On-Device Machine Learning: Federated Distillation and Augmentation under Non-IID Private Data NIPS 2018

总体思想
  需要明确的是在这篇论文中训练的是客户端模型,服务端并没有模型,服务端只是起到训练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%。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/571969
推荐阅读
相关标签
  

闽ICP备14008679号