tensorflow / tensorflow/privacy
Following the original DPSGD algorithm (Abadi et al, 2016)
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 2k
- Forks
- 477
- Avg merge
- 22h 12m
- Merged PRs (30d)
- 1
Description
Hi. First off, I presume that the code, particularly "dp_optimizer.py" implements the original algorithm proposed by Abadai et al, 2016 (https://arxiv.org/abs/1607.00133). If this is not the case, correct me please. If so, it is meant to clip gradient corresponding to each individual input sample. However, in the code, "def process_microbatch", right in the very beginning it takes mean over individual gradients in the microbatch each of which is corresponding to one input sample so that the impact of individual input samples is canceled out. So, it seems the Abadi algorithm is not followed. Is this true?
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
Read dp_optimizer.py and inspect process_microbatch first, then compare its gradient aggregation and clipping order with the Abadi et al. 2016 algorithm linked in the issue. Done means confirming whether the implementation matches the paper and documenting the conclusion or identifying the specific correction needed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- machine-learning
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100