News for hackers. Stuff that matters.
Re:BoTorch – Bayesian Optimization in PyTorch by fastneutron on Friday September 01, 2023 @06:05AM (#37348798)
We built (internally) an engineering optimization framework on top of Botorch. Bayesian optimization is a great tool to have in the toolbox for mapping a design space and finding the limiting cases with fewer calls to the expensive physics-based solvers. The computational budget often winds up being 5-10x smaller than it would have been using traditional design-of-experiments sampling methods.
Re:BoTorch – Bayesian Optimization in PyTorch by agravier on Friday September 01, 2023 @07:23AM (#37349357)
What are you talking about? I understand the individual words but not the overall meaning.
Re:BoTorch – Bayesian Optimization in PyTorch by fastneutron on Friday September 01, 2023 @08:06AM (#37349711)
If you’re not from a traditional engineering background, some of my terminology may have been confusing. Here’s a less jargon-heavy version:

- We use Bayesian optimization to find the optimum (or worst-case) configuration of real manufactured objects and systems. - Bayesian optimization lets us arrive at that design configuration faster than explicit, physics-based simulation of many samples within the space of all possible configurations.

- We built the framework to do that using Botorch.

- It’s not an uncommon practice by any means, but the availability of tools like Botorch now makes it a lot easier to implement Bayesian optimization in-house, vs relying on a vendor-based engineering tool.

Re:BoTorch – Bayesian Optimization in PyTorch by afp on Friday September 01, 2023 @08:25AM (#37349898)
Are the tolerances of the optimum important in your case? (i.e., how sensitive it is to errors in the design parameters) If so, did you use any method to incorporate this information into the optimization?
Re:BoTorch – Bayesian Optimization in PyTorch by fastneutron on Friday September 01, 2023 @08:39AM (#37350060)
It depends on the needs of the specific application. What typically happens is that you’d use BO to globally converge to within some tolerance and use the resulting surrogate to get a map of where the interesting regions are. You can then more densely sample these candidate regions or switch to a gradient-based method (via finite difference). For uncertainty information, we usually add this as a noise parameter, either on the input samples, or as part of the GP kernel.
Re:BoTorch – Bayesian Optimization in PyTorch by afp on Friday September 01, 2023 @10:00AM (#37350952)
That's very useful, thanks!
Re:BoTorch – Bayesian Optimization in PyTorch by altell on Friday September 01, 2023 @07:45AM (#37349526)
how flexible was Botorch for your task and is it difficult to map it to a Botorch specific format. And want kind of understanding did you have about the underlying cost/objective function and what kind of surrogate model did you used? Just basic GP(gaussian process) ?
Re:BoTorch – Bayesian Optimization in PyTorch by fastneutron on Friday September 01, 2023 @08:16AM (#37349797)
It wasn’t terribly difficult once we got a feel for the underlying API. GP surrogates work out of the box, but you can plug in other kinds as well. Same goes for acquisition functions.

As far as the objective, usually we’re calling an external physics-based solver (e.g. finite elements) and post-processing the solution to get the quantity we’re trying to optimize. There’s almost never any gradient information, so Bayesian optimization winds up being the method of choice.

Re:BoTorch – Bayesian Optimization in PyTorch by tomrod on Friday September 01, 2023 @08:25AM (#37349892)
This is so cool! Is there anywhere I can learn more about the approach?
Re:BoTorch – Bayesian Optimization in PyTorch by fastneutron on Friday September 01, 2023 @09:08AM (#37350341)
These two references are both really good, and freely available:

Bayesian Optimization - https://bayesoptbook.com/

Surrogates - https://bobby.gramacy.com/surrogates/

Re:BoTorch – Bayesian Optimization in PyTorch by vervez on Friday September 01, 2023 @09:50AM (#37350824)
There's also recent Bayesian Optimal Experimental Design methods that allow you to directly design experiments using gradient ascent. Not sure how it compares with BayesOpt on your problem, though.
Re:BoTorch – Bayesian Optimization in PyTorch by capableweb on Friday September 01, 2023 @11:12AM (#37351864)
That sounds really interesting, do you have more information about it?