【问题标题】:What does intial_clip_norm mean in gaussian adaptive clipping in TFF?intial_clip_norm 在 TFF 中的高斯自适应裁剪中是什么意思?
【发布时间】:2021-06-02 18:32:51
【问题描述】:

我正在尝试使用高斯自适应裁剪几何方法实现差分私有 FL 二元分类模型。

aggregation_factory = tff.aggregators.DifferentiallyPrivateFactory.gaussian_adaptive(
            noise_multiplier=0.6,
            clients_per_round=10,
            initial_l2_norm_clip=0.1,
            target_unclipped_quantile=0.8,
            learning_rate=0.2)

我知道 initial_l2_norm_clip 是裁剪范数的初始值,它是根据 target_unclipped_quantile 值更新的。

我们如何确定适合特定模型的 initial_l2_norm_clip 值?

当我将它 (initial_l2_norm_clip) 设置为 0.1 时,我得到一个非常低的 AOC(大约 0.4),但是当我将它设置为更高的值 1.0 时,我得到一个更好的 AOC 值(大约 0.8)并且在这两种情况下迭代过程记录的“剪辑”指标总是增加(即从 0.1 到 0.3 和 1.0 到 1.2)

我的模型运行了 13 轮,每轮有 10 个客户端,这有什么不同吗?

【问题讨论】:

    标签: tensorflow-federated federated-learning


    【解决方案1】:

    我要指出的一件事是,13 轮训练通常相对较少。如果您进行更长时间的训练,我希望剪辑范数最终会稳定在相同的值附近,而不管初始值如何。

    裁剪范数的自适应选择的要点是初始范数的超参数配置应该没有那么重要。如果您在训练期间看到指标中报告的裁剪范数增加,则意味着 initial_l2_norm_clip 相对于运行时实际看到的值的 target_unclipped_quantile 很小。因此,您可以增加初始范数,它应该更快地匹配目标分位数。如果你想花时间调整这个参数,你也可以使用gaussian_fixed构造函数,并且在整个训练过程中保持裁剪范数不变。

    但是,请注意,如果您对差异隐私感兴趣,较大的裁剪规范可能会降低您可以获得的保证。因此,需要权衡取舍,以及训练模型的总轮数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-12
      • 2017-06-11
      • 2018-03-05
      • 2023-03-27
      相关资源
      最近更新 更多