论文地址: 《Personalized Federated Learning using Hypernetworks》
github地址: https://github.com/AvivSham/pFedHN

解决问题

  1. 每个客户端保留自己独有模型;
  2. 限制通讯成本;

创新点

通过深度网络学习模型融合策略;
将模型通过embembedding为向量vi用以表示模型。

算法原理

在这里插入图片描述
FedHN原理:

  1. 从所有客户端中随机挑选客户端i;
  2. 更新该客户端模型参数 θ i \theta_i θi,初始 θ i \theta_i θi由h(vi; ϕ \phi ϕ) 获取;
  3. 计算该客户端模型网络参数 Δ θ i \Delta \theta_i Δθi
  4. 根据 Δ θ i \Delta \theta_i Δθi更新HN网络参数 ϕ \phi ϕ
  5. 根据 θ i \theta_i θi ϕ \phi ϕ更新客户端i的descriptor vi.

循环迭代,返回 ϕ \phi ϕ
其中vi用于表征第i个客户端,且为可学习参数;
pFedHN-PC客户端增加local层,用于个性化模型输出,即HN仅输出公共层参数。

实验结果

在这里插入图片描述

优缺点

优点:

  1. 由于pFedHN在不同分布客户端上生成一个统一的模型,因此针对新客户,不需要重新训练中心模型,泛化行强;
  2. 可以处理具有不同运算能力的客户端;
  3. 解耦训练与通讯的复杂度。

缺点:
1、各个客户端串行更新模型,耗时长。
可尝试修改为并行,所有梯度平均后 ϕ \phi ϕ进行更新;
2、vi每次初始化不同,可能导致两次训练结果不同;
3、没有比较不错的预训练模型,训练时长将增加,且性能可能受影响。
4、层与层直接缺少相关性学习,当网络比较复杂,某一层参数发生变化时,后续层目标域受此影响可能发生变化。

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐