fit_gpytorch_mll multi-start support #2074
Unanswered
AlexanderMouton
asked this question in
Q&A
Replies: 1 comment 4 replies
-
Hi @AlexanderMouton. Thanks for reporting. Do you see any warnings related to optimization termination during model fitting? We sometimes see numerical issues leading to LBFGS terminating early, which could be one possibility here. We can take a closer look at this if you share the code for reproducing these results.
It could definitely help. There's a feature request open for this though it hasn't been high on the priority list so far: #1724. It shouldn't be difficult to test this out to see if it helps with the issue though |
Beta Was this translation helpful? Give feedback.
4 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hi, I am trying different kernel configurations for the multi-fidelity use-case with a noisy 3-dimensional toy problem and have run into issues when using
fit_gpytorch_mll
.Per my understanding, by default
fit_gpytorch_mll
uses scipy's LFBFGS optimizer to fit the kernel hyperparameters to the data. When using the default implementation offit_gpytorch_mll
, the average MSE (mean-squared error) betwen the true function and the model's predicted function would jump up and down between iterations.For example, the average MSE for a couple of subsequent iterations would look something like:
...
iteration 30 : average MSE = 9.4e-4
iteration 31 : average MSE = 1.14e-1
iteration 32 : average MSE = 1.12e-1
iteration 33 : average MSE = 1.07e-3
iteration 34 : average MSE = 1.06e-1
iteration 35 : average MSE = 9.53e-4
...
After instead using
fit_gpytorch_mll_torch
, which uses the Adam optimiser by default, this behaviour ceased and I observed a mostly stable decline in average MSE.fit_gpytorch_mll
generally took a couple of seconds to fit to <200 points, whilefit_gpytorch_mll_torch
takes 40-80 seconds.Is it possible that LFBFGS was just starting from a bad initial state and terminating almost immediately?
If so, could adding multi-start support for fitting the kernel hyperparameters possibly solve this problem?
Thanks!
Alex
Beta Was this translation helpful? Give feedback.
All reactions