NeurIPS2019,通过一个全局数据集实现知识蒸馏,解决模型异构的问题。
论文地址:arxiv
code: 没找到
贡献
提出一个新的联邦学习框架(FedMD)使参与者能够独立设计他们的模型的工作。我们的集中式服务器不控制这些模型的架构,只需要有限的黑匣子访问。
算法流程
Transfer learning:每个 client 的 local model 首先在 public data 进行训练,然后利用本地 private data 进行 fine tune。基于此进行后续的训练过程。
Communication:此时 local model 经过 private data 进行修正,此时再利用 public data 计算 class scores 作为模型蒸馏得到的知识。
Aggregate:每个 client 将得到的知识传入到 server 进行汇总,server 执行平均操作得到全局知识。
Distribute & Digest & Revisit:每个 client 下载全局知识作为 Teacher model 结果在本地执行进一步训练。
作者认为由于 public data 过于庞大可能会造成严重的通信负担,因此提出可以在每个 round 中对数据进行采样得到子集来减小通信开销
个人看法
简单的令人发指,KD扩展到FL中的两个问题(客户端样本不一致,实时通讯耗时耗力),前者直接用一个公共数据集,后者用采样子集减小通讯开销。。。。感觉看了和没看一样,实验部分还没复现,看其他人说好像达不到文章效果。