tensorflow / tensorflow/privacy
Privacy guarantees of of privacy amplification by iteration example
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 2k
- Forks
- 477
- Avg merge
- 22h 12m
- Merged PRs (30d)
- 1
Description
Hi!
First, thanks for this excellent library and for publishing research experiments!
I have questions about the privacy amplification by iteration script. Could the authors provide a clear explanation of the following:
- Which theorem are they using for privacy accounting?
- How was the theorem implemented in tensorflow privacy?
As far as I understand from this file (but please correct me if I am wrong), TF Privacy is computing a average over clipped gradients, and then noise has a scale of sensitivity * noise_multiplier. So the updates rule is
$W_{T+1} = W_T - \eta(\frac{1}{B} (\underset{x \in B_i}{\sum}clip(\underset{W_t}{\nabla} loss(x, W_t), C)) + N(0, C^ 2\sigma^2)) $
Where $\eta$ is the learning rate, C is the sensitivity, and B is the batch size. To account for this, the authors correctly multiply the noise term with the batch size so they can derive the correct privacy amplification by iteration guarantees, rewriting the above term as:
$W_{T+1} = W_T - \frac{\eta}{B}( (\underset{x \in B_i}{\sum}clip(\underset{W_t}{\nabla} loss(x, W_t), C) + N(0, B^2 C^2 \sigma^2))$
That's how we can observe a RDP coefficient of:
$\alpha \frac{2}{\sigma^2 B^2} \mathcal{O}(T^{-1})$
Now, this is neat, but I am not sure this is comparable with the analysis of DP-SGD from here, as they are considering an update rule of:
$W_{T+1} = W_T - \frac{\eta}{B}(\underset{x \in B_i}{\sum}clip( \underset{W_t}{\nabla} loss(x, W_t), C)) + N(0, C^2 \sigma^2))$
For them to be comparable, shouldn't we scale $\sigma$ with $B$ when computing the RDP analysis for SGM here?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with tutorials/mnist_lr_tutorial.py and tensorflow_privacy/privacy/optimizers/dp_optimizer.py, then compare the referenced RDP analysis for SGM with the privacy amplification by iteration example. Done means documenting which theorem is used, how it is implemented, and whether the noise scaling and accounting comparison are correct.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- machine-learning, security
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100