I am trying to implement a Differentially private FL binary classification model using gaussian adaptive clipping geometric method.
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)
I know that the initial_l2_norm_clip is the initial value of clipping norm which is updated based on the target_unclipped_quantile value.
How can we determine the appropriate value of initial_l2_norm_clip for a particular model?
when I set it (initial_l2_norm_clip) to 0.1 I am getting a really low AOC (around 0.4) but when I set it to a higher value of 1.0 I am getting a better AOC value (around 0.8) and in both cases the 'clip' metric which is recorded by the iterative process always increases (i.e it goes from 0.1 to 0.3 and 1.0 to 1.2)
my model is running for 13 rounds with 10 clients per round does this make a difference?