Comments (6)
@ilyamironov would be the best person to answer this question, but my guess is that the RDP paper would be a good starting points: https://arxiv.org/abs/1702.07476.
from privacy.
Indeed, the algorithm that we use to maintain the RDP accountant is different from the Abadi et al. paper. We are working on a paper that fully documents the procedure. Once it's available, we'll update the README file. (For the record, the results of doing privacy analysis via the moments/RDP accountant must be identical. The main difference is in numerical stability for a wide range of parameters.)
from privacy.
@srxzr The epsilon is computed using the inversion of Item 2 of Theorem 2 in Abadi et. al., and it computes the smallest such epsilon given a list of lambdas (alpha
or orders
in the code).
The rdp
parameter is the log moment generating function (alpha in Abadi et. al.), computed using _compute_log_a_int
or _compute_log_a_frac
depending on whether lambda is an integer or not.
_compute_log_a_int
uses the binomial expansion to compute the log moment generating function of log((1 - q) mu_0(X) + q mu_1(X)) - log (mu_0(X))
where mu_0 is the density of N(0, sigma^2) and mu_1 is the density of N(1, sigma^2), and X is distributed according to (1 - q) mu_0 + q mu_1.
I have yet to decode _compute_log_a_frac
.
Hope this helps. Let me know if you have further questions.
from privacy.
@ycpei Thank you for your response. Just to make sure Abadi et. al. uses random sampling (instead of shuffling) but the implementations here use shuffling. I was wondering if you use any theorem to compensate for the difference.
Also, I implemented a random sampler with replacement and my results were a bit lower compare to the shuffling.
from privacy.
@srxzr Re shuffling vs sampling, it's a correct observation. Our analysis assumes that the minibatches are iid samples, while in practice they are most likely fixed-sized disjoint (within a single epoch) samples. The best reference that compares various policies of sampling is this one: https://arxiv.org/pdf/1807.01647.pdf
from privacy.
Paper posted on arXiv: https://arxiv.org/pdf/1908.10530.pdf
from privacy.
Related Issues (20)
- from tensorflow_privacy.privacy.analysis import privacy_ledger HOT 3
- How can we specify to install it on tensorflow-gpu==2.4.0
- A Question about Research mi_lira_2021: why set training=True at Inference
- Inconsistency in released Versions between GitHub and PyPI HOT 1
- Privacy?
- cannot import name 'dp_event' from 'tensorflow_privacy.privacy.analysis' HOT 2
- Python version restricted to >=3.9, inability to use official docker containers of tensorflow HOT 1
- AttributeError: module 'tensorflow_privacy.privacy.analysis.compute_dp_sgd_privacy' has no attribute 'compute_dp_sgd_privacy' HOT 2
- Why isn't SampledWithoutReplacementDpEvent used instead of PoissonSampledDpEvent for DP-SGD epsilon calculation? HOT 2
- Question about rdp_accountant.py HOT 1
- question about "tensorflow_privacy.privacy.dp_query.gaussian_query" HOT 2
- Privacy guarantees of of privacy amplification by iteration example
- Federated DPFTRL and Adaptive Clipping noise injection. HOT 1
- Fresh install doesn't work (incompatible versions of tensorflow and tensorflow_privacy)
- Incompatible with hub.KerasLayer HOT 1
- Module Not Found Error
- import tensorflow_privacy -> AttributeError
- Any recommended way to save a tf privacy model?
- Is this project abandoned? HOT 2
- Ibrahim Mohamad Attalla Alsalamin
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from privacy.