Git Product home page Git Product logo

responsible-ai-toolbox-privacy's Introduction

Empirical Estimation of Differential Privacy

This repository provides utilities for estimating DP-$\varepsilon$ from the confusion matrix of a membership inference attack based on the paper Bayesian Estimation of Differential Privacy.

Installation

Simply run the following command to install the privacy-estimates python package. It should install all the relevant dependencies as well.

pip install privacy-estimates

Example

The following command takes the output of a membership inference attack on a target model or multiples models in the form of true positives (TP), true negatives (TN), false positives (FP) and false negatives (FN). It also requires the value for $\alpha$ which states the significance level of the estimate for two sided intervals of the estimated $\varepsilon$ value.

For example, we can post-proces the attack outputs of a CNN trained on CIFAR10 with $(\varepsilon = 10, \delta = 10^{-5})$ by running

python scripts/estimate-epsilon.py --alpha 0.1 --delta 1e-5 --TP 487 --TN 1 --FP 512 --FN 0 

This should take approximately 5 minutes and produce the following output

Method             Interval                Significance level  eps_lo  eps_hi
Joint beta (ours)  two-sided equal-tailed  0.100               0.145   6.399
Joint beta (ours)  one-sided               0.050               0.145   inf
Clopper Pearson    two-sided equal-tailed  0.100               0.000   inf
Clopper Pearson    one-sided               0.050               0.000   inf
Jeffreys           two-sided equal-tailed  0.100               0.000   inf
Jeffreys           one-sided               0.050               0.000   inf

Tests

We provide a few test cases which can be run by

pytest .

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repositories using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

responsible-ai-toolbox-privacy's People

Contributors

microsoft-github-operations[bot] avatar microsoftopensource avatar shrutitople avatar wulu473 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

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.