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

[epic] Implement neural processes emulator #26

Closed
1 task done
mastoffel opened this issue Oct 6, 2023 · 7 comments
Closed
1 task done

[epic] Implement neural processes emulator #26

mastoffel opened this issue Oct 6, 2023 · 7 comments
Assignees
Labels
enhancement New feature or request epic

Comments

@mastoffel
Copy link
Collaborator

mastoffel commented Oct 6, 2023

see

Now that autoemulate uses the sklearn estimator template, it would be good to use skorch to implement Pytorch models, so that cross-validation and hyperparameter search are compatible.

@mastoffel mastoffel changed the title implement neural processes emulator Implement neural processes emulator Oct 31, 2023
@kallewesterling
Copy link
Collaborator

kallewesterling commented Nov 3, 2023

Leaving a note here that the neuralprocesses package has overlaps with the Turing/BAS collaboration deepsensor, which I have been helping out with. I'd be more than happy to explore interests across these packages, and/or any engagement with the author of 'neuralprocesses' that we can imagine. Dropping comment here to keep it on our radar.

@kallewesterling kallewesterling moved this to 📋 Product backlog in AutoEmulate Nov 24, 2023
@kallewesterling kallewesterling changed the title Implement neural processes emulator [epic] Implement neural processes emulator Dec 11, 2023
@kallewesterling kallewesterling removed the status in AutoEmulate Dec 11, 2023
@kallewesterling kallewesterling moved this to ℹ️ Needs more info in AutoEmulate Dec 11, 2023
@mastoffel mastoffel added the enhancement New feature or request label Jan 26, 2024
@kallewesterling
Copy link
Collaborator

@mastoffel I have noted from last sprint planning meeting that we were thinking about setting up a knowledge exchange with the author of neuralprocesses about the package and how it works. It might be of interest to more people than just our group. Would that be something you think would be beneficial?

@kallewesterling
Copy link
Collaborator

Just to note, also, that this might be something we want to do after AI UK so flagging it as not super priority...!

@kallewesterling kallewesterling moved this from ℹ️ Needs more info to 📋 Product backlog in AutoEmulate Jan 30, 2024
@kallewesterling kallewesterling moved this from 📋 Product backlog to 🔖 Sprint backlog in AutoEmulate Jan 30, 2024
@kallewesterling kallewesterling moved this from 🔖 Sprint backlog to 📋 Product backlog in AutoEmulate Jan 30, 2024
@edaub
Copy link
Collaborator

edaub commented Feb 16, 2024

I did some more thorough research on this, and my conclusion is that the utility of neural processes for emulation is still a research question that requires more of a long term investigation. In particular, neural processes don't assume any particular properties of the underlying function to be approximated (other than that they can be approximated by a neural network), but rather attempts to learn them from contextual data before being fitted to a particular model. Gaussian Processes, on the other hand, specify mean and covariance functions to constrain the function space from which the model will be fit. Most other regression models that aren't neural networks have some other kind of constraint like this. Thus to make something that is adaptable to black box emulation, we need to specify example functions or enough simulation-specific data to allow those functions to be learned.

Thus, I don't think it's feasible to implement this in the library in the short term, and my suspicion is that until more is known about how to structure neural process emulation, a neural network is probably going to have similar emulation performance if you want to be purely data driven in how you fit your model. However, I am of the opinion that meta-learning is a potentially rich area to explore for the emulation problem that could overcome some of the existing challenges in black box emulation, and neural processes are the technical methodology with which this would be done.

@mastoffel
Copy link
Collaborator Author

Thanks @edaub, that's super helpful. So it seems like we would need a larger dataset initially, which we usually won't have I think. But I agree that we can just leave neural processes / meta learning as a research issue for the future of the package.

@scotthosking
Copy link

tagging @MartinSJRogers for awareness

@mastoffel
Copy link
Collaborator Author

conditional neural processes now implemented in #217

@github-project-automation github-project-automation bot moved this from 📋 Product backlog to ✅ Done in AutoEmulate Aug 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request epic
Projects
Status: ✅ Done
Development

No branches or pull requests

4 participants