tensorflow / tensorflow/privacy

Federated DPFTRL and Adaptive Clipping noise injection.

Open
#519 1 comment 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

Dear developers of the privacy framework. I was checking the implementation of quantile_adaptive_clip_tree_query.py

I can see that a new tree is required to inject noise after aggregating the norm bit as the traditional QuantileEstimatorQuery
is wrapped from the TreeQuantileEstimatorQuery

In this paper Federated Learning of Gboard Language Models with Differential Privacy I see the paragraph highlighted in the image below.
Question: Does this mean that I can just keep the logic of restarting the tree and then updating the clipping norm of the DPFTRL skipping the second tree that injects noise on norm bits and just replace the whole noise of Federated DP-FTRL with Adaptive clipping setup with just a Tree based Gaussian noise with Z as stated in the figure? I am confused here.

Thanks you in advance.

image

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 tensorflow_privacy/privacy/dp_query/quantile_adaptive_clip_tree_query.py and quantile_estimator_query.py, then compare their tree and norm-bit handling with the cited Federated Learning of Gboard Language Models with Differential Privacy paper. Trace whether the proposed DPFTRL and adaptive-clipping noise arrangement is supported by the current implementation; done means a maintainer-confirmed design decision or a clearly scoped implementation plan.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
machine-learning, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.