tff.learning.dp_aggregator
Creates aggregator with adaptive zeroing and differential privacy.
tff.learning.dp_aggregator(
noise_multiplier: float, clients_per_round: float, zeroing: bool = True
) -> tff.aggregators.UnweightedAggregationFactory
Zeroes out extremely large values for robustness to data corruption on
clients, and performs adaptive clipping and addition of Gaussian noise for
differentially private learning. For details of the DP algorithm see McMahan
et. al (2017) https://arxiv.org/abs/1710.06963 The adaptive clipping uses the
geometric method described in Andrew, Thakkar et al. (2021)
https://arxiv.org/abs/1905.03871
Args |
noise_multiplier
|
A float specifying the noise multiplier for the Gaussian
mechanism for model updates. A value of 1.0 or higher may be needed for
meaningful privacy. See above mentioned papers to compute (epsilon, delta)
privacy guarantee.
|
clients_per_round
|
A float specifying the expected number of clients per
round. Must be positive.
|
zeroing
|
Whether to enable adaptive zeroing for data corruption mitigation.
|
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-09-20 UTC.
[null,null,["Last updated 2024-09-20 UTC."],[],[]]