Papers › Bayesian Optimization with High-Dimensional Outputs

Bayesian Optimization with High-Dimensional Outputs

24 Jun 2021NeurIPS 2021 12arXiv:2106.12997archive 2025-07-28

Wesley J. Maddox, Maximilian Balandat, Andrew Gordon Wilson, Eytan Bakshy

Bayesian Optimization is a sample-efficient black-box optimization procedure that is typically applied to problems with a small number of independent objectives. However, in practice we often wish to optimize objectives defined over many correlated outcomes (or "tasks"). For example, scientists may want to optimize the coverage of a cell tower network across a dense grid of locations. Similarly, engineers may seek to balance the performance of a robot across dozens of different environments via constrained or robust optimization. However, the Gaussian Process (GP) models typically used as probabilistic surrogates for multi-task Bayesian Optimization scale poorly with the number of outcomes, greatly limiting applicability. We devise an efficient technique for exact multi-task GP sampling that combines exploiting Kronecker structure in the covariance matrices with Matheron's identity, allowing us to perform Bayesian Optimization using exact multi-task GP models with tens of thousands of correlated outputs. In doing so, we achieve substantial improvements in sample efficiency compared to existing approaches that only model aggregate functions of the outcomes. We demonstrate how this unlocks a new class of applications for Bayesian Optimization across a range of tasks in science and engineering, including optimizing interference patterns of an optical interferometer with more than 65,000 outputs.

PaperPDFConference PDFCodeCode Syntology ran

In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.

For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="2106.12997")

Code

Syntology Ran 5 of 18 code samples harvested from 2 repositories linked to this paper; 13 have no recorded run. Of those that ran: 1 ran · violated contract; 4 ran with no contract checked.

By repository: official repository: 7 samples from 1 repository, 0 ran; found in paper text by Syntology: 10 samples from 1 repository, 4 ran; 1 identical to code first harvested elsewhere. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.

wjmaddox/mtgp_sampler officialmentioned in papermentioned on GitHubpytorchApache-2.0 report
facebookresearch/ContextualBO officialmentioned in paperpytorchMIT report
nataliemaus/joco_icml24 mentioned on GitHubpytorch report

Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

18 samples harvested; 5 ran; 0 honoured the contract we drafted; 13 have no recorded run. Read from Syntology's graph 2026-09-24; that is when this build read the record, not when the samples ran.

1ran · violated contract
4ran
13unverified

Licence: 1 of the 18 samples is pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.

Harvested from 2 repositories linked to this paper, official or community; each sample names its own and says which. Some samples are identical code Syntology first harvested from another repository; for those, this paper's copy is not located and its licence is not recorded. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.

Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.

Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted. community: Not in the archive's code links for this paper; a community repository Syntology harvested. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.

construct_acqf wjmaddox/mtgp_sampler/contextualbo_experiments/cbo_experiment.py official repository unverified Apache-2.0 (permissive) · 4e8a410bff1b8df8 · report
env_cfun wjmaddox/mtgp_sampler/hogp_experiments/data.py official repository unverified Apache-2.0 (permissive) · 444ab21c53e16453 · report
gen_rand_points wjmaddox/mtgp_sampler/hogp_experiments/utils.py official repository unverified Apache-2.0 (permissive) · fcdd19ca76f3859a · report
generate_initial_data wjmaddox/mtgp_sampler/mtgp_experiments/mobo_utils.py official repository unverified Apache-2.0 (permissive) · dc89546ae499f50a · report
optimize_acqf_and_get_candidate wjmaddox/mtgp_sampler/contextualbo_experiments/cbo_experiment.py official repository unverified Apache-2.0 (permissive) · 7cd6031f32f7d8a4 · report
optimize_acqf_and_get_candidate wjmaddox/mtgp_sampler/contextualbo_experiments/contextual_full.py official repository unverified Apache-2.0 (permissive) · cf6ec1288cd5c5c2 · report
prepare_data wjmaddox/mtgp_sampler/hogp_experiments/data.py official repository unverified Apache-2.0 (permissive) · fdbd5f42a8ca30e4 · report
default_termination msu-coinlab/pymoo/pymoo/core/algorithm.py found in paper text by Syntology ran Apache-2.0 (permissive) · b04755c45bc26c0d · report
find_outliers_upper_tail msu-coinlab/pymoo/pymoo/core/decision_making.py found in paper text by Syntology ran fingerprinted Apache-2.0 (permissive) · dbd4210d0d367d05 · report
stats_avg_nevals msu-coinlab/pymoo/pymoo/algorithms/hyperparameters.py found in paper text by Syntology ran Apache-2.0 (permissive) · 3c81f0994213bd5b · report
stats_single_objective_mean msu-coinlab/pymoo/pymoo/algorithms/hyperparameters.py found in paper text by Syntology ran Apache-2.0 (permissive) · 0299b2bbd2a03fc2 · report
calc_cv msu-coinlab/pymoo/pymoo/core/individual.py found in paper text by Syntology unverified Apache-2.0 (permissive) · 05e60ce5f589dcbe · report
constr_to_cv msu-coinlab/pymoo/pymoo/core/individual.py found in paper text by Syntology unverified Apache-2.0 (permissive) · 4dd1c3e56754b861 · report
create msu-coinlab/pymoo/pymoo/algorithms/hyperparameters.py found in paper text by Syntology unverified Apache-2.0 (permissive) · a7040e3e99b92e1b · report
default_attr msu-coinlab/pymoo/pymoo/core/duplicate.py found in paper text by Syntology unverified Apache-2.0 (permissive) · aaf5cc78c99f164e · report
to_float msu-coinlab/pymoo/pymoo/core/duplicate.py found in paper text by Syntology unverified Apache-2.0 (permissive) · 6485142c167f898b · report
to_hash msu-coinlab/pymoo/pymoo/core/duplicate.py found in paper text by Syntology unverified Apache-2.0 (permissive) · 1e8fc99e292bad09 · report
str2bool identical code first harvested elsewhere ran · violated contract licence of this copy not recorded · 7c508037b40522af · report

Tasks

Bayesian OptimizationVocal Bursts Intensity Prediction

Results from the paper archive 2025-07-28

No leaderboard rows for this paper in the archive.

Methods

Gaussian Process

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections