首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TFF中的范数裁剪技术

TFF中的范数裁剪技术
EN

Stack Overflow用户
提问于 2021-05-21 17:06:13
回答 1查看 65关注 0票数 2

我正在使用" DP -FedAvg“算法训练DP联合学习模型,该算法基于以下论文:

Learning Differentially Private Recurrent Language Models

本文提出了“平面裁剪”和“逐层裁剪”两种规范裁剪技术,并利用“逐层裁剪”进行了实验。

在TFF的情况下,当将DP查询和聚合过程附加到联邦模型时,默认情况下实现哪种裁剪技术?有没有办法指定所使用的裁剪技术?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-21 18:25:18

您可以使用tff.learning.dp_aggregator获取基本的推荐设置,并将其用作

代码语言:javascript
复制
iterative_process = tff.learning.build_federated_averaging_process(
    ...,
    model_update_aggregation_factory=tff.learning.dp_aggregator(...))

有关如何在学习算法中使用它的指导,请参阅教程:Tuning recommended aggregations for learning

所使用的默认裁剪方法对应于“平面裁剪”,如链接到的论文中所述。然而,裁剪规范并不是固定的,而是根据前几轮训练中看到的值自动调整的。有关详细信息,请参阅文档和论文Differentially Private Learning with Adaptive Clipping

如果你想使用一个固定的裁剪规范my_clip_norm,你可以看看它的实现,看看哪些组件可以修改。我相信你应该能够简单地使用:

tff.aggregators.DifferentiallyPrivateFactory.gaussian_fixed(..., clip=my_clip_norm)

如果您想要使用某种形式的逐层裁剪,则需要编写自己的聚合器。tff.aggregators.DifferentiallyPrivateFactory的实现可能是一个很好的开始,请参阅教程Implementing Custom Aggregations

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

https://stackoverflow.com/questions/67633859

复制
相关文章

相似问题

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