联邦学习——一种基于分布和知识蒸馏的聚合策略

《FEDBE: Making Bayesian Model Ensemble Applicable to Federated Learning》是ICLR 2021的一篇文章。该文章主要提出了一种新的聚合策略,该策略在 multi-round FL 以及 Non-IID 下具有不错的表现。这里我主要总结这个策略的思路。

  • 构建模型分布:首先客户端将本地训练好的模型发送给服务端,服务端应用 Dirichlet 或 Bayesian 构建模型的分布,具体构建方法可以看论文,其中用到的蒙特卡洛方法可以参考【怎么通俗理解蒙特卡洛模拟?】
  • 模型采样:服务端对所构建的模型分布进行采样,得到 model ensemble,注意,这里采样得到的是多个模型,是无法应用于联邦学习的(受限于通信代价,服务端一般只把一个模型发送给客户端)。那么就需要把这多个模型聚合成一个,但这里又不像 FedAvg 可以根据数据量大小来进行聚合,因此这篇文章提出了一个新的方法。
  • 模型聚合:文章假设服务端可以收集到一些无标签数据,然后以集成学习的方法用采样得到的 model ensemble 对数据进行预测,将预测结果作为伪标签,进而以知识蒸馏的方式将 model ensemble 总结为 single global model。具体是以伪标签为 teacher,single global model 为 student。
  • 有一个问题是,集成学习预测出的伪标签实际存在很多噪声,为了预防 single global model 对噪声过拟合,文章在蒸馏过程中应用了 stochastic weight average(SWA)。SWA采样"循环学习率"执行随机梯度下降(SGD),并对 traversed models(个人理解为model ensemble) 的权值平均化,使 traversed models 能跳出嘈杂的局部最小值,从而使 student 更加 robust。
  • 伪代码如下,其中 Equation 5 和 Equation 7 分别为采用 Bayesian 和 Dirichlet 构建模型分布的公式。
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述
  • 4
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
联邦学习中应用知识蒸馏(Knowledge Distillation)可以帮助将教师模型的知识传输给较小的学生模型,从而减小模型的大小并保持较高的预测性能。下面是一个简单的联邦学习知识蒸馏的实战步骤: 1. 设计教师模型:首先,需要设计一个较大、复杂的教师模型,该模型在全局数据上进行训练,并具有较高的预测性能。 2. 分发教师模型:将教师模型分发给各个边缘设备或客户端,设备使用本地数据对教师模型进行推理,生成软标签或教师输出。 3. 设计学生模型:设计一个较小、简单的学生模型,该模型将用于在边缘设备上进行训练和推理。学生模型应该具有与教师模型相似的结构,但参数量较少。 4. 本地训练学生模型:在每个边缘设备上使用本地数据训练学生模型。在训练过程中,使用教师模型的软标签或教师输出作为目标,而不是真实标签。这样,学生模型可以学习教师模型的知识。 5. 参数聚合:将每个设备上训练得到的学生模型参数传输回中央服务器,通过聚合这些参数生成一个全局的学生模型。 6. 全局学生模型预测:使用全局学生模型对新的数据进行预测。可以将新的数据发送到中央服务器,或者在边缘设备上进行预测。 需要注意的是,知识蒸馏的效果取决于教师模型和学生模型之间的差异。如果学生模型的容量过小,可能无法充分利用教师模型的知识。因此,在设计学生模型时,需要在模型大小和预测性能之间进行权衡。 此外,还可以通过调整温度参数(Temperature)来控制软标签的软化程度,从而影响知识传输的强度。较高的温度会使软标签分布更平滑,减少标签之间的差异,而较低的温度会增加标签之间的差异。 综上所述,联邦学习知识蒸馏包括设计教师模型、分发教师模型、设计学生模型、本地训练学生模型、参数聚合和全局学生模型预测等步骤。通过这些步骤,可以在联邦学习环境中实现知识蒸馏,从而减小模型的大小并保持较高的预测性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

联邦学习小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值