ProBO: Versatile Bayesian Optimization Using Any Probabilistic Programming Language
arXiv:1901.11515
Abstract
Optimizing an expensive-to-query function is a common task in science and engineering, where it is beneficial to keep the number of queries to a minimum. A popular strategy is Bayesian optimization (BO), which leverages probabilistic models for this task. Most BO today uses Gaussian processes (GPs), or a few other surrogate models. However, there is a broad set of Bayesian modeling techniques that could be used to capture complex systems and reduce the number of queries in BO. Probabilistic programming languages (PPLs) are modern tools that allow for flexible model definition, prior specification, model composition, and automatic inference. In this paper, we develop ProBO, a BO procedure that uses only standard operations common to most PPLs. This allows a user to drop in a model built with an arbitrary PPL and use it directly in BO. We describe acquisition functions for ProBO, and strategies for efficiently optimizing these functions given complex models or costly inference procedures. Using existing PPLs, we implement new models to aid in a few challenging optimization settings, and demonstrate these on model hyperparameter and architecture search tasks.
References in corpus (7)
- Neural Architecture Search with Reinforcement Learning
- Approximate Bayesian computation scheme for parameter inference and model selection in dynamical systems
- Edward: A library for probabilistic modeling, inference, and criticism
- Learning Disentangled Representations with Semi-Supervised Deep Generative Models
- Predictive Entropy Search for Bayesian Optimization with Unknown Constraints
- Deep Probabilistic Programming
- Deep Amortized Inference for Probabilistic Programs