Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Local penalization for multi-fidelity models #276

Open
henrymoss opened this issue Dec 11, 2019 · 1 comment
Open

Local penalization for multi-fidelity models #276

henrymoss opened this issue Dec 11, 2019 · 1 comment

Comments

@henrymoss
Copy link
Contributor

The current local penalization method for batch BO does not work on multi-fidelity models. Batch BO for MF models is only currently supported with the greedy sequential point calculator. We can definitely do better than that!

I have coded a new version of local penalization that works with MF models. In particular, the penalization regions for a given batch are calculated by imagining that all the batch evaluations are on the target fidelity source. We can then calculate a single penalization function that is applied to the acquisition function uniformly across the different information sources.

This simple approach seems to work okay. Possible extensions would allow penalization regions unique to each information source. For example, the penalization zone around a planned evaluation on fidelity 1, would be larger than the corresponding zone on another fidelity level. It is unclear how best to implement this. Perhaps @javiergonzalezh might have some ideas?

Before submitting a pull request, I wanted to know if you want this feature in Emukit and If you want a notebook demo?. There is currently no notebook for the standard (non-MF) version of local-penalization. I am happy to make one of those (with lots of helpful plots) as well ?

Henry

@apaleyes
Copy link
Collaborator

Thanks Henry, that sounds great!

I am not sure if we want this in core lib right now (we usually aim at adding stuff to core lib only when it is a well established method), as an example that would be very good to have. We are relatively easy on examples: they could be just code, or code plus notebook, or just notebook.

As for LP notebook - that would be most certainly welcome too. Maybe just separate these two out in different PRs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants