Expand description
Differential Privacy Module (MLOPS-015)
DP-SGD implementation following Abadi et al. (2016) for privacy-preserving training.
§Toyota Way: Jidoka (Autonomation)
Built-in privacy protection stops data leakage. The privacy budget acts as an Andon system, halting training when privacy guarantees would be violated.
§Example
ⓘ
use entrenar::optim::dp::{DpSgdConfig, DpSgd, PrivacyBudget};
use entrenar::optim::SGD;
let config = DpSgdConfig::new()
.with_max_grad_norm(1.0)
.with_noise_multiplier(1.1)
.with_budget(PrivacyBudget::new(8.0, 1e-5));
let dp_sgd = DpSgd::new(SGD::new(0.01), config);§References
[3] Abadi et al. (2016) - Deep Learning with Differential Privacy [4] Mironov (2017) - Renyi Differential Privacy
Re-exports§
pub use accountant::compute_rdp_gaussian;pub use accountant::rdp_to_dp;pub use accountant::RdpAccountant;pub use budget::PrivacyBudget;pub use config::DpSgdConfig;pub use dp_sgd::DpSgd;pub use error::DpError;pub use error::Result;pub use gradient::add_gaussian_noise;pub use gradient::clip_gradient;pub use gradient::grad_norm;pub use utils::estimate_noise_multiplier;pub use utils::privacy_cost_per_step;
Modules§
- accountant
- RDP (Renyi Differential Privacy) accountant.
- budget
- Privacy budget tracking.
- config
- Configuration for DP-SGD.
- dp_sgd
- Differentially private SGD wrapper.
- error
- Error types for the Differential Privacy module.
- gradient
- Gradient operations for differential privacy.
- utils
- Utility functions for differential privacy.