首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >联邦学习的其他压缩方法

联邦学习的其他压缩方法
EN

Stack Overflow用户
提问于 2020-08-17 18:51:15
回答 1查看 240关注 0票数 3

我注意到梯度量化压缩方法已经在TFF框架中实现了。在非传统压缩方法中,我们通过删除全局模型的某些部分来选择子模型,怎么样?我在论文“通过减少客户资源需求扩展联邦学习的范围”(https://arxiv.org/abs/1812.07210)中遇到了“联邦Dropout”压缩方法。如果联邦Dropout方法已经在Tensorflow Federated中被支持的话。如果没有,那么如何实现它(该方法的主要思想是在全局模型中放弃一定百分比的激活和过滤器,以交换和训练一个较小的子模型)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-18 12:34:57

目前,在TFF代码库中没有这种思想的实现。

但是,下面是您如何做到这一点的概要,我建议从examples/simple_fedavg开始

  1. 修改顶级build_federated_averaging_process以接受两个model_fns --一个用于全局模型的server_model_fn,一个用于较小的子模型结构的client_model_fn,该结构实际上是在
  2. build_server_broadcast_message上训练的,仅从server_state.model_weights中提取相关的子模型。这将是从服务器模型到客户端模型的映射。
  3. client_update实际上可能不需要更改(我不能100%确定),只要只从client_model_fn server_update中提供weights_deltaweights_delta将是对客户端子模型的更新,因此您需要将其映射回更大的全局模型。

一般来说,步骤2和步骤4是很棘手的,因为它们不仅取决于模型中的哪些层,还取决于它们是如何连接的。因此,很难创建一个易于使用的通用解决方案,但是可以为您预先知道的特定模型结构编写这些解决方案。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63456963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档