-
Notifications
You must be signed in to change notification settings - Fork 3
Optimizers
ACT optimizers are divided into two classes, naive and non-naive.

At each epoch naive optimizers
- Generate a random conductance sample
$g = [g_1, \ldots, g_{N_g}]^T$ within specified bounds.$g_i$ is conductance of channel$i$ , e.g.,$g = [g_{Na}, g_{K}]$ . - Pass
$g$ to NEURON to generate a voltage trace for each current injection. The resulting traces are collected in the matrix$V$ of size (number of current injections$\times$ length of a voltage trace). - Train a model to predict
$g$ from$V$ .
Naive optimizers use external data only for predictions; it is not used for training. Thus, naive optimizers are trained to restore conductance values from voltage traces on any data, i.e., in the most general setting. This results in high variance of predictions and high chance of convergence to local minima. Multistart is advised.
Default ACT optimizers:
NaiveLinearOptimizer
Training:

Predicting:

At each training epoch non-naive optimizers
- Generate a random conductance sample
$g = [g_1, \ldots, g_{N_g}]^T$ within specified bounds.$g_i$ is conductance of channel$i$ , e.g.,$g = [g_{Na}, g_{K}]$ . - Pass
$g$ to NEURON to generate a voltage trace for each current injection. The resulting traces are collected in the matrix$V$ of size (number of current injections$\times$ length of a voltage trace). - Train a model to predict
$V_{tar}$ , external voltage data of size (number of current injections$\times$ length of an external voltage trace) from$V$ .
Lengths of external and simulated voltage traces are not required to match; length readjustment is done by the model.
Predictions are obtained by running random search for
- A random conductance sample
$g_i = [g_1, \ldots, g_{N_g}]^T$ within specified bounds is generated. - The sample is passed through NEURON and the trained model to obtain predictions
$\hat{V}_i$ . - The final prediction is the one which gives the smallest loss value,
$$\hat{g} = \arg\min_{i=1,\ldots, K}\ell(V_{tar}, \hat{V}_i)$$ .
Given a large
Default ACT optimizers:
SBIOptimizerRandomSearchLinearOptimizerRandomSearchTreeOptimizer