Max-value entropy search, multi-fidelity (cost-aware) optimization
This release adds the popular Max-value Entropy Search (MES) acquisition function, as well as support for multi-fidelity Bayesian optimization via both the Knowledge Gradient (KG) and MES.
Compatibility
New Features
- Add cost-aware KnowledgeGradient (
qMultiFidelityKnowledgeGradient
) for multi-fidelity optimization (#292). - Add
qMaxValueEntropy
andqMultiFidelityMaxValueEntropy
max-value entropy search acquisition functions (#298). - Add
subset_output
functionality to (most) models (#324). - Add outcome transforms and input transforms (#321).
- Add
outcome_transform
kwarg to model constructors for automatic outcome transformation and un-transformation (#327). - Add cost-aware utilities for cost-sensitive acquisiiton functions (#289).
- Add
DeterminsticModel
andDetermisticPosterior
abstractions (#288). - Add
AffineFidelityCostModel
(f838eac). - Add
project_to_target_fidelity
andexpand_trace_observations
utilities for use in multi-fidelity optimization (1ca12ac).
Performance Improvements
- New
prune_baseline
option for pruningX_baseline
inqNoisyExpectedImprovement
(#287). - Do not use approximate MLL computation for deterministic fitting (#314).
- Avoid re-evaluating the acquisition function in
gen_candidates_torch
(#319). - Use CPU where possible in
gen_batch_initial_conditions
to avoid memory issues on the GPU (#323).
Bug fixes
- Properly register
NoiseModelAddedLossTerm
inHeteroskedasticSingleTaskGP
(671c93a). - Fix batch mode for
MultiTaskGPyTorchModel
(#316). - Honor
propagate_grads
argument infantasize
ofFixedNoiseGP
(#303). - Properly handle
diag
arg inLinearTruncatedFidelityKernel
(#320).
Other changes
- Consolidate and simplify multi-fidelity models (#308).
- New license header style (#309).
- Validate shape of
best_f
inqExpectedImprovement
(#299). - Support specifying observation noise explicitly for all models (#256).
- Add
num_outputs
property to theModel
API (#330). - Validate output shape of models upon instantiating acquisition functions (#331).