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

Monotonic autotune support #597

Open
maedoc opened this issue Oct 18, 2022 · 0 comments
Open

Monotonic autotune support #597

maedoc opened this issue Oct 18, 2022 · 0 comments
Labels
area/scilib enhancement New feature or request

Comments

@maedoc
Copy link
Member

maedoc commented Oct 18, 2022

Describe the new feature or enhancement

The simulator should support monotonic autotuning parameters for quantities of interest; this isn't about full model inversion, just simple tuning e.g. average firing rate via coupling strength.
Tuning the time step via error estimate between 1st and 2nd order methods would also be welcome.

Describe your proposed implementation

This is an example for the MPR model

def tune_G(sim, target_r, verbose=False):
    (_, y), = sim.run(simulation_length=1)
    trips = 0
    while y[:, 0, :, 0].mean() < target_r:
        if verbose:
            print(trips, sim.coupling.a, y[:, 0, :, 0].mean())
        sim.coupling.a += 0.1
        (_, y), = sim.run(simulation_length=1)
        trips += 1
    if verbose:
        print(trips, sim.coupling.a, y[:, 0, :, 0].mean())
    return sim

Describe possible alternatives

A more complete approach would invert the model but would be significantly more expensive to run.

Additional comments

Models become less identifiable outside critical regimes, so tuning scaling and noise with respect to measures of criticality or metastability should be widely applicable.

@maedoc maedoc changed the title Autotune support Monotonic autotune support Oct 18, 2022
@maedoc maedoc added enhancement New feature or request area/scilib labels Oct 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/scilib enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant