Skip to content

Add autotuning functionality to simulator#748

Open
omarshafik wants to merge 2 commits intothe-virtual-brain:masterfrom
omarshafik:issue-597/simulator-autotune-support
Open

Add autotuning functionality to simulator#748
omarshafik wants to merge 2 commits intothe-virtual-brain:masterfrom
omarshafik:issue-597/simulator-autotune-support

Conversation

@omarshafik
Copy link

The simulator should support monotonic autotuning parameters for quantities of interest. Here, I add a simple & generic autotuning functionality.

The simulator should support monotonic autotuning parameters for quantities of interest. Here, I add a simple & generic autotuning functionality.
@maedoc
Copy link
Member

maedoc commented Apr 7, 2025

This is a pretty good first take on the idea. I will think about some of the concrete use cases. For instance, we might take a model like the reduced wong wang, and increase each region's excitability until the firing rates are all matching, then continue to increase them all until the functional connectivity match is maximized.

in any case, I think the implementation is nearly sufficient; in the case where we're trying to maximize some measurement, we'll eventually take a step and the value will go back down? So it might make sense to trace the the tuning, and keep the best value.

What do you think?

…g adjustment

Here I use PID as a tuning algorithm for the simulator. This allows reaching simulator parameters that produce more fitting simulation outputs.
@omarshafik
Copy link
Author

makes sense. thanks for the hint!
I changed the implementation to introduce some logic to allow more flexibility in the tuning algorithm. Now, I use PID, but I think the logic can be extended to include other algorithms as well.
let me know what you think..

@omarshafik
Copy link
Author

omarshafik commented Apr 13, 2025

one thing to note here though is that delta is assumed to return a scalar value. This however, can be changed as simply as passing an n-dimensional threshold (and changing the type hints). I believe the rest of the logic should hold.. I could add that in a later commit if needed :)

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

Successfully merging this pull request may close these issues.

2 participants