tensorflow / tensorflow/privacy

Following the original DPSGD algorithm (Abadi et al, 2016)

Open
#135 4 comments 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.