1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
//! 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
//!
//! ```ignore
//! 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 for API compatibility
pub use ;
pub use PrivacyBudget;
pub use DpSgdConfig;
pub use DpSgd;
pub use ;
pub use ;
pub use ;