Understanding MC acquisiton functions #2266
-
I have a question regarding the acquisition functions:
Let X and Y be some arbitrary points that i condition the model on. This grafic is taken from the BayesOpt Book .
This code did not compute an acquisition function value for each value in the x tensor instead it only output one acquisition function value. I want to know why that is? i think that that is probably connected the fact that BoTorch can perform with multidimensional inputs, but to be honest i don't know whats going on. Why do i still get a value when inputting the whole x tensor? how can i interpret this value? Is it some kind of crazy transform or is it just the acquistion function value for the last entry of my x tensor? Secondly i wanted to better understand the MC acquisition functions and came across this discussion BoTorch Discussion talking about the sampling of MC acquisition functions.
I don't quite get what the samples derived from this function But that was not the case. So what exactly are the samples then? In the description of the Basic Concepts of BoTorch, there is something written about the base samples: "If the base samples are fixed, the problem of optimizing the acquisition function is deterministic,[...]." And my final question is: Is there a way to get the derivative values of the acquistion function with respect to x as described in BoTorch: A Framework for Efficient Monte-Carlo Bayesian Optimization or The reparameterization trick for acquisition functions? Thank to everyone that read through all of this! I am trying to really understand BoTorch it is an amazing toolset and i would love to use it for my masterthesis, but for this i need to really understand the basis of the library to really know what i am doing. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 4 replies
-
The issue is that you computed the joint acquisition value of all the points in your "batch" of candidates. In general, BoTorch acquisition functions take in tensors of shape
Yes. The shape of these samples is somewhat complicated due to the way batching in botorch works (see above). Due to the way you passed things in you didn't get
Yes
Yes, being able to compute gradients via auto-differentiation is one of the key value propositions of BoTorch. You will have to ensure that the
What exactly is the goal of your thesis? Are you doing research on Bayesian Optimization? Or are you using Bayesian Optimization in your research? If the latter, you should take a look at Ax, which is a higher-level interface that makes it easy to optimize things without having to understand all the botorch details: https://github.com/facebook/Ax |
Beta Was this translation helpful? Give feedback.
The issue is that you computed the joint acquisition value of all the points in your "batch" of candidates. In general, BoTorch acquisition functions take in tensors o…