Skip to main content

Module private_hyperparameter_optimization

Module private_hyperparameter_optimization 

Source
Expand description

Differentially private hyperparameter optimization.

§Module layout

moduleresponsibility
typesconfiguration and the search-component data types
budget_managerprivacy budget allocation and accounting
optimizerthe PrivateHyperparameterOptimizer driver
resultsprivate aggregation and the selection report
selectionthe private selection mechanisms and noisy statistics
gaussian_processthe GP surrogate and acquisition function
random_searchNoisyOptimizer for random search
bayesian_optimizationNoisyOptimizer for Bayesian optimization
functionsthe NoisyOptimizer trait and function aliases
trait_implsthe Default impls

§0.3.2 notes

Hyperparameter selection is now differentially private. Previously HyperparameterNoiseMechanism was stored and never matched on: the choice was the exact argmax over utilities computed from the private data, which is precisely what private HPO exists to avoid.

Behavioural and API changes:

Re-exports§

pub use budget_manager::AdaptiveBudgetController;
pub use budget_manager::HPOBudgetManager;
pub use budget_manager::DEFAULT_SELECTION_BUDGET_FRACTION;
pub use gaussian_process::encode_configuration;
pub use gaussian_process::ConfigurationEncoding;
pub use gaussian_process::ExpectedImprovement;
pub use gaussian_process::GaussianProcessFit;
pub use optimizer::PrivateHyperparameterOptimizer;
pub use results::PrivateResultsAggregator;
pub use results::SelectionReport;
pub use results::PRIVATE_TOP_K;
pub use selection::exponential_mechanism_index;
pub use selection::exponential_mechanism_probabilities;
pub use selection::gaussian_sigma;
pub use selection::laplace_sample;
pub use selection::mechanism_name;
pub use selection::noisy_summary_statistics;
pub use selection::report_noisy_max_gaussian;
pub use selection::report_noisy_max_gumbel;
pub use selection::report_noisy_max_laplace;
pub use selection::summary_mean_noise_scale;
pub use selection::NoisySummary;
pub use selection::SelectionOutcome;
pub use selection::OBJECTIVE_SENSITIVITY_KEY;
pub use selection::SUMMARY_QUANTILES;
pub use functions::*;
pub use types::*;

Modules§

bayesian_optimization
NoisyOptimizer for private Bayesian optimization.
budget_manager
Privacy budget accounting for hyperparameter optimization.
functions
Auto-generated module
gaussian_process
Gaussian-process surrogate and acquisition function for private Bayesian optimization.
optimizer
The private hyperparameter optimizer driver.
random_search
NoisyOptimizer for private random search.
results
Private aggregation and reporting of hyperparameter search results.
selection
Differentially private selection of hyperparameter configurations.
trait_impls
Default implementations for the private-HPO components.
types
Auto-generated module