Getting to Know Dragonfly Better
Learn about the different modes and methods of operations in Dragonfly.
Dragonfly is a library that is designed for scaling Bayesian optimization and experimental design. The library offers a wide range of features that allow for high dimensionality, multifidelity evaluations, multitask settings, parallel evaluations, and derivative evaluations.
The library is developed to be both modular and flexible, allowing users to plug and play different components, optimizers, acquisition functions, and surrogate models. It also provides an interface for customizing various parameters and settings to suit specific use cases.
Modes in Dragonfly
Bayesian optimization mode: This mode focuses on optimizing expensive black box functions. Dragonfly implements a variety of surrogate models including GPs, random forests, and others. It also supports several acquisition functions such as EI, UCB, and knowledge gradient (KG).
Multifidelity optimization mode: This mode is useful when we have access to multiple versions of our objective function, each with different costs and accuracies. Dragonfly makes use of cheaper, less accurate fidelities to guide the search for the optimum in the more expensive, accurate fidelities. This results in significantly reduced optimization costs.
Multitask optimization mode: This mode is applicable when optimizing functions under multiple related tasks simultaneously. Dragonfly exploits similarities across tasks to speed up the optimization process.
Parallel optimization mode: If we have access to a system that can evaluate multiple points simultaneously, this mode is for us. Dragonfly can suggest batches of points to be evaluated in parallel, speeding up the optimization process.
Derivative-based optimization mode: This mode leverages gradient information, if available, to guide the ...