tff.learning.dp_aggregator | TensorFlow Federated (original) (raw)
tff.learning.dp_aggregator
Stay organized with collections Save and categorize content based on your preferences.
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. |
Returns |
---|
A tff.aggregators.UnweightedAggregationFactory. |
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.