hnn-core
hnn-core copied to clipboard
Model optimization for rhythmic time courses
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?
@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.
This likely be part of hnn_core.analysis
#139
Implementing optimization in hnn-core is still missing. The relevant code is in #77
#77 sounds like a future hackathon project :)
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?
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.
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