Acquisition values always ZERO #1846
-
Hi, Now my issue is that the acquisition function values are constantly zero, not matter how I adjust my model and hyper-parameters. Here is my code:
Here is a sample output from running the above code: Starting step No.1 acq func Q factor: 14740.106, resonance lambda: 1406.38, area: 8.5639e-14, power: 0.0000, divergence: 1.1614 f_obj, f_score: x_candidate: acquisition: Posterior mean and uncertainty: hypervolume: Starting step No.2 acq func Q factor: 133590.653, resonance lambda: 1362.14, area: 8.4514e-14, power: 0.0003, divergence: 1.1615 f_obj, f_score: x_candidate: acquisition: Posterior mean and uncertainty: hypervolume: As you can see above, the acquisition values are zero, and I get the BadInitialCandidatesWarning warning each time. |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 18 replies
-
Hmm so my first guess here is that this is b/c of the choice of But note that with 5 outcomes the complexity of the HV computation can be quite high, so this could take a while. At that point if you really do care about the tradeoffs between all outcomes you could consider some other scalarization-based methods. But I'm curious how you're expecting to process / use the Pareto frontier in 5 dimensions, and whether this is indeed a full multi-objective problem or whether a MOO formulation with fewer objectives but some constraints would make sense. Finally, we have some work that improves the numerical behavior of the improvement-based acquisition functions, we hope to open source that soon. This seems to be a problem that could also benefit quite a bit from this. I don't see anything obviously wrong with this, assuming that the reference point at zero here is reasonably conservative / that all outcomes are non-negative as the comment suggests. |
Beta Was this translation helpful? Give feedback.
-
Yes it's possible - you're integrating an area in 5 dimensions w.r.t. to a MVN with light tails, this can produce rather small numbers. The versions that @SebastianAment has implemented should be helpful here.
Hard to say how to avoid these in general. Some of the covariance matrices that appear during the course of BO, especially in later iterations, can be quite ill conditioned (and potentially numerically not p.d.). These ill conditioned covariances are likely also the cause of the negative variances.
What literature suggests that? With that many outputs hypervolume approaches are typically not easily feasible, and pretty significant approximations need to be made or scalarization-based methods need to be used. Do you maybe mean that MOBO can handle 15 input (rather than outcome) dimensions? That has been a ballpark number for Bayesian Optimization for a while (though it's not true anymore with more modern methods that scale better).
What I was suggesting is that considering some of the outcomes as things you may constrain on, rather than adding them to the list of objectives to explore the Pareto Frontier for. This will increase scalability of the hypervolume computations. |
Beta Was this translation helpful? Give feedback.
Hmm so my first guess here is that this is b/c of the choice of
alpha=1.0
- this is a parameter controlling the coarseness of the hypervolume computation, and typically chosen rather small since it expresses a fraction. From https://github.com/pytorch/botorch/blob/main/botorch/utils/multi_objective/box_decompositions/non_dominated.py#L48-L51 setting it to 1.0 suggests the HV will always be trivially zero. Try setting it to a small value, such as 0.05 or 0.1.But note that with 5 outcomes the complexity of the HV computation can be quite high, so this could take a while. At that point if you really do care about the tradeoffs between all outcomes you could consider some other scalarization…