jonescompneurolab / hnn-core

Simulation and optimization of neural circuits for MEG/EEG source estimates
https://jonescompneurolab.github.io/hnn-core/
BSD 3-Clause "New" or "Revised" License
54 stars 52 forks source link

Model optimization for rhythmic time courses #176

Closed lindseypower closed 2 months ago

lindseypower commented 4 years ago

Is there functionality in HNN or HNN-core for optimizing parameters to match a rhythmic input (e.g. a transient beta time course) or is the model optimization only available for ERP data?

blakecaldwell commented 4 years ago

@lindseypower this is an excellent point to raise. This is on our wishlist, but we haven't implemented the ability to change the optimization objective function. Would welcome suggestions on summary features or objectives that you are interested in.

The implementation path this would be in hnn-core, so I'm going to transfer it. Also will add dependencies that are a WIP in hnn-core.

blakecaldwell commented 4 years ago

This likely be part of hnn_core.analysis #139

Implementing optimization in hnn-core is still missing. The relevant code is in #77

jasmainak commented 4 years ago

77 sounds like a future hackathon project :)

aritrasinha108 commented 1 year ago

Hi, So I wanted to take up the GSoC project "Generalize Parameter Optimization Routines" for 2023. I read through the whole algorithm and the flow for optimizing the evoked drives. Was trying to look into how we can do that for rhythmic and poison drive configurations. Even the publication for hnn has the whole sequential design mentioned for evoked drives. @blakecaldwell @rythorpe @jasmainak do you think we can keep a similar sequential design as we have for optimization of ERP data? or do we have to go a different way?

rythorpe commented 1 year ago

No, we'll need a different optimization design. The idea behind the current sequential design is that it tunes only those parameters that are relevant for a given time window while keeping the others fixed, thus drastically reducing the dimensionality of the optimization problem (e.g., an early evoked drive can be tuned for the early portion of an evoked response simulation while a late evoked drive can be tuned for the later portion of the same simulation). For stationary signals like baseline noise and oscillations (corresponding to Poisson drive and rhythmic bursty drive), the parameter space for drives can't be segmented into different time windows, per the definition of stationarity.

ntolley commented 2 months ago

Closed now that #673 is merged

I'll note that it handles a rather specific optimization objective (band power in user defined frequency ranges), but this covers a wide range of the questions/problems people are concerned with when using rhythmic inputs