PipelineDP
PipelineDP copied to clipboard
(WIP) Support to PLD composition #259
Description
Solving "Advance composition in PipelineDP" #259
The approach I'm using is:
- Propagates noise_standard_deviation (in the case of NaiveAccountant, it is None throughout)
- When it reaches apply_laplace_mechanism/apply_gaussian_mechanism, if noise_standard_deviation is NOT None, we use it for noise (ignoring eps/delta)
- Otherwise (if noise_standard_deviation is None), eps/delta are used to add noise.
Tasks:
- [x] Add noise_standard_deviation to scalar computations and parameters
- [x] Ajust tests to pass after changes
- [ ] Create tests for scalar computations with noise_standard_deviation
- [ ] Same as above, just to vector sum computation
Additionally:
- I've also did some minor changes, like two TODOs in the
dp_computations.py
and formatting. - I see that
request_budget
receivesnoise_standard_deviation
, do you know why? not sure if it is needed, asnoise_standard_deviation
is only calculated in compute_budgets.