Skip to content

Fix Gaussian sensitivity for replace-one adjacency - #464

Open
kernelpanic888 wants to merge 1 commit into
google:mainfrom
kernelpanic888:replace-one-gaussian-sensitivity-378
Open

kernelpanic888 wants to merge 1 commit into
google:mainfrom
kernelpanic888:replace-one-gaussian-sensitivity-378

Conversation

@kernelpanic888

Copy link
Copy Markdown

Summary

  • account for the 2C sensitivity of clipped sums under replace-one adjacency
  • apply the same sensitivity scaling to fixed-size sampling without replacement
  • add regression tests for direct and fully sampled Gaussian events

Why

GaussianDpEvent defines its noise multiplier as s / C, where C is the per-record norm bound. Under replace-one adjacency, two clipped records may differ by 2C, so formulas normalized by L2 sensitivity must receive half that multiplier. Without this adjustment, RDP can be underestimated by a factor of four.

Fixes #378.

Tests

  • python3 -m pytest python/dp_accounting/dp_accounting/rdp/rdp_privacy_accountant_test.py -q (160 passed)

Account for the 2C sensitivity of clipped sums under replace-one adjacency and add regression coverage for direct and fully sampled Gaussian events.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Sensitivity off by a factor of 2 with 'replace_one' neighbouring relation

1 participant