ParBayesianOptimization icon indicating copy to clipboard operation
ParBayesianOptimization copied to clipboard

Parallel Acquisition functions

Open feji3769 opened this issue 3 years ago • 5 comments

Hi could you please look into adding parallel acquisition functions such as q-EI or q-UCB? Thanks for your great work so far!

feji3769 avatar Apr 08 '21 01:04 feji3769

The search for the acquisition function optimum is run in parallel, see getLocalOptimums. Is this what you are referring to?

AnotherSamWilson avatar Apr 08 '21 19:04 AnotherSamWilson

That's not what I was referring to. I meant acquisition functions which propose multiple query points at the same time. For example choosing q points that maximize the multi-point expected improvement (equation 4 in this paper https://arxiv.org/pdf/1602.05149.pdf). That same paper has an algorithm that might fit neatly into the package.

feji3769 avatar Apr 22 '21 19:04 feji3769

Yes this package has this ability. See this section of the readme.

In fact this package and the multi-point implementation, pre-dates that paper by a few months, lol.

AnotherSamWilson avatar Apr 22 '21 19:04 AnotherSamWilson

Sorry for the confusion, the paper that originally worked out the details on q-EI is from 2008 (https://hal.archives-ouvertes.fr/hal-00260579/document), but the first paper gives a good algorithm for optimizing the q-EI acquisition function. Algorithm 1 in (https://arxiv.org/pdf/1602.05149.pdf) is detailed and could work well.

q-EI can be viewed as EI applied to the random variable min{Y(x^{n+1}), . . . ,Y(x^{n+q})}. It seems getLocalOptimums finds q local optima of the original EI. These are only equivalent when q=1.

Thanks for your timely response!

feji3769 avatar Apr 22 '21 20:04 feji3769

Ahhh it's not as simple as I thought, this looks pretty cool. Do you know of any implementations, in any language? It looks pretty tough to implement.

AnotherSamWilson avatar May 04 '21 12:05 AnotherSamWilson