High dimensional MOO over discrete input spaces #1282
-
Hi,everyone: |
Beta Was this translation helpful? Give feedback.
Replies: 14 comments
-
Hi @1bing2. I'd highly recommend using Ax to do this. A tutorial for multi-objective optimization in Ax is here. It will use For a pure BoTorch solution, you'd have to use either |
Beta Was this translation helpful? Give feedback.
-
Thank you a lot! I have handle this problem. But I ran anew one. |
Beta Was this translation helpful? Give feedback.
-
So as the docstring says here, |
Beta Was this translation helpful? Give feedback.
-
Thank you a lot.Your reply have impressed me. |
Beta Was this translation helpful? Give feedback.
-
Answered here: #1238 |
Beta Was this translation helpful? Give feedback.
-
Thank you a lot ! Your answer has helped me a lot! However,I run a new problem recently. The tutorials have a function called optimize_acqf, it can generate a set of candidates via multi-start optimization. I don't understand the multi-start optimization.Can you explain the usage of this or give some information about it? |
Beta Was this translation helpful? Give feedback.
-
Optimizing the acquisition function is generally a very hard numerical optimization problem. It's generally non-convex, and the optimization surface has lots of flat regions and local optima and so we can't hope to find the global optimum via gradient descent type methods from a single initial condition. "Multi-start" optimization just means that we run a bunch of local optimizations from a number of randomized initial conditions to increase the chance to find the global optimum. See e.g. this paper for some more discussion. |
Beta Was this translation helpful? Give feedback.
-
Thank you very much!But the raw_samples which means The number of samples for initialization.The samples means what? Posterior or just some points draw from the design space |
Beta Was this translation helpful? Give feedback.
-
The initial conditions for multi start optimization are selected via a heuristic that samples 'raw_samples' (using Sobol sequences) points from the design space, evaluates the acquisition function at these points, then selects the initial conditions from these 'raw_samples' with probability proportional to a soft -max transform of the corresponding acquisition values. |
Beta Was this translation helpful? Give feedback.
-
Thank you very much for your reply. So the optimization function starts from raw_ Samples -- extract the points from the design space, these points are with probability proportional to a soft -max transform of the corresponding acquisition values.Then start the optimization many times to find the same candidate points or find the points make the acquisition values max. By the way,Is the re parameterization trick of the acquisition function qehvi the same as that of the acquisition function? |
Beta Was this translation helpful? Give feedback.
-
Forgive me for interrupting again,I have an another qusetion come from the paper Differentiable Expected Hypervolume Improvement for Parallel Multi-Objective Bayesian Optimization In this paper it has a part called Sequential Greedy and Joint Batch Optimization But I don't make it clearly,how the Joint Batch Optimization mean? Can you explain it or give me some information about it? |
Beta Was this translation helpful? Give feedback.
-
Of which acquisition function? The reparameterization trick is about how to parameterize samples from the model posterior, which is somewhat orthogonal to the acquisition function used. When using a Gaussian Process model (the default in BoTorch) this is indeed the same.
Joint optimization means considering the parameters of |
Beta Was this translation helpful? Give feedback.
-
Forgive me for interrupting again, I mean the reparameterization trick of the acquisition function qehvi is the same as that of the acquisition function Ei ? |
Beta Was this translation helpful? Give feedback.
-
The reparameterization trick is a way to generate differentiable samples from the Gaussian process posterior, by factoring the posterior distribution into a product of the Cholesky factor of the covariance matrix and the standard multivariate normal distribution (plus a mean term). It is a trick that is independent of the acquisition function. If your acquisition function can be MC estimated as a differentiable function of the posterior samples, then you can use the reparameterization trick to make the acquisition function differentiable. All |
Beta Was this translation helpful? Give feedback.
Hi @1bing2. I'd highly recommend using Ax to do this. A tutorial for multi-objective optimization in Ax is here. It will use
qExpectedHypervolumeImprovement
under the hood and do all the conversion to support your discrete / categorical variables. How to specify the type of your parameters (when using Service API) is explained here.For a pure BoTorch solution, you'd have to use either
optimize_acqf_discrete
, to which you have to provide a set of possible solutions -- which it will enumerate, so this may not scale well -- oroptimize_acqf_discrete_local_search
which will do a greedy nearest neighbor search -- may scale better to large dimensions since it doesn't do full enumeration.