-
* Implement `GaussianNoiseModule`, to enable adding gaussian noise to step-wise batch-averaged gradients as part of local DP-SGD or to clients-averaged updates as part of central DP-SGD. * Implement an abstract `NoiseModule` layer, paving the way for other noise-addition mechanisms. This commit squashes some incremental work by multiple authors: * Nathan Bigaud implemented `GaussianNoiseModule` after doing the scientific and technical review of requirements, notably as to the use of a cryptographically-safe RNG. * Paul Andrey abstracted part of the code into the `NoiseModule` class, fixed some pending todos, and adjusted unit tests. Co-authored-by:
Paul Andrey <paul.andrey@inria.fr>
* Implement `GaussianNoiseModule`, to enable adding gaussian noise to step-wise batch-averaged gradients as part of local DP-SGD or to clients-averaged updates as part of central DP-SGD. * Implement an abstract `NoiseModule` layer, paving the way for other noise-addition mechanisms. This commit squashes some incremental work by multiple authors: * Nathan Bigaud implemented `GaussianNoiseModule` after doing the scientific and technical review of requirements, notably as to the use of a cryptographically-safe RNG. * Paul Andrey abstracted part of the code into the `NoiseModule` class, fixed some pending todos, and adjusted unit tests. Co-authored-by:
Paul Andrey <paul.andrey@inria.fr>