google / google/differential-privacy
Feature: Double Mixture of Gaussians for dp_accounting
- Dominant language
- Go
- Stars
- 3.4k
- Forks
- 434
- Avg merge
- 4d 9h
- Merged PRs (30d)
- 9
Description
Hi,
https://github.com/google/differential-privacy/commit/af761ba5bc7fb0007ed8bdde62db77046d1aff8b added "MixtureGaussianPrivacyLoss" to `dp_accounting/pld/privacy_loss_mechanism.py`, which enables privacy accounting for mechanisms that are dominated by a single Gaussian and a mixture of Gaussians.
For certain use cases, it might be nice to generalize this to mechanisms dominated by two mixture of Gaussians, each with different mixture weights and means/sensitivities.
For instance, such a "DoubleMixtureGaussianPrivacyLoss" can be used for efficient (albeit non-tight) accounting when considering substitutions of records, see Sections 6.2 & 6.3 in https://proceedings.mlr.press/v108/koskela20b.html.
It is also needed for tight accounting of group privacy under insertion/removal, see Theorem 3.8 in https://arxiv.org/abs/2403.04867.
I already had to implement this for my last project, see https://github.com/jan-schuchardt/group_amplification/blob/master/group_amplification/privacy_analysis/composition/pld/accounting.py.
So if you'd like, I could clean my code up a bit and create a pull request.
Let me know if you think that this would be useful addition :)
Contributor guide
Assessment
This issue has not been assessed yet.