tff.learning.dp_aggregator

Creates aggregator with adaptive zeroing and differential privacy.

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

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.

A tff.aggregators.UnweightedAggregationFactory.