rsindper / autodp

autodp: A flexible and easy-to-use package for differential privacy

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

autodp: Automating differential privacy computation

Author:

Yu-Xiang Wang

Highlights:

  1. An RDP (Renyi Differential Privacy) based analytical Moment Accountant implementation that is numerically stable.
  2. Supports privacy amplification for generic RDP algorithm for subsampling without replacement and poisson sampling.
  3. Stronger composition than the optimal composition using only (ε,δ)-DP.
  4. A privacy calibrator that numerically calibrates noise to privacy requirements using RDP.
  5. Bring Your Own Mechanism: Just implement the RDP of your own DP algorithm as a function.

How to use?

It's easy. Just run:

pip install autodp

Then follow the Jupyter notebooks in the tutorials folder to get started.

Notes:

  • pip should automatically install all the dependences for you.
  • Currently we support only Python3.
  • You might need to run pip3 install autodp --upgrade

Research Papers:

Examples:

Composing Subsampled Gaussian Mechanisms (high noise)Composing Subsampled Gaussian Mechanisms (low noise)

Figure 1: Composing subsampled Gaussian Mechanisms. Left: High noise setting with σ=5, γ=0.001, δ=1e-8. Right: Low noise setting with σ=0.5, γ=0.001, δ=1e-8.

Composing Subsampled Laplace Mechanisms (high noise)Composing Subsampled Laplace Mechanisms (low noise)

Figure 2: Composing subsampled Laplace Mechanisms. Left: High noise setting with b=2, γ=0.001, δ=1e-8. Right: Low noise setting with b=0.5, γ=0.001, δ=1e-8.

About

autodp: A flexible and easy-to-use package for differential privacy

License:Apache License 2.0


Languages

Language:Jupyter Notebook 83.9%Language:Python 16.1%