Code Monkey home page Code Monkey logo

Comments (6)

npapernot avatar npapernot commented on May 19, 2024

@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.

ilyamironov avatar ilyamironov commented on May 19, 2024

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.

ycpei avatar ycpei commented on May 19, 2024

@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.

srxzr avatar srxzr commented on May 19, 2024

@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.

ilyamironov avatar ilyamironov commented on May 19, 2024

@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.

schien1729 avatar schien1729 commented on May 19, 2024

Paper posted on arXiv: https://arxiv.org/pdf/1908.10530.pdf

from privacy.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.