Bayesian optimization for multidimensional inputs?

Hi, all.
I’m new to using Pyro, and am trying to implement Bayesian optimization with multidimensional input (dim >= 2).
However, the code in the Pyro tutorial only shows Bayesian optimization for 1D inputs.
Aren’t there any examples or tips for implementing multidimensional Bayesian optimization using Pyro?
I tried several ways to modify the given code but all failed.

Thank you for reading.

Hi @Minsoo, one way to do this is with the Coregionalize kernel, but that can quickly become expensive. Perhaps @fehiepsi knows a cheaper solution.

I think the code for multidimensional inputs would be at most the same as 1D input, with the exception at constraint stuff. In Bayesian Optimization tutorial, the constraint is torch.distributions.constraints.interval(0, 1). You can just replace 0 and 1 with the constraint of your multidimensional input, e.g. torch.zeros(N) and torch.ones(N) (where N is the dimension of your input). I would recommend to remove all constraint stuffs to see if the result agrees with your expectation first, then do Bayesian optimization for constrained inputs later.

I tried several ways to modify the given code but all failed.

@Minsoo Could you be more explicit on what you have tried? I can’t think of what is not working on the top of my head. :slight_smile: