brainpy.dyn.rates.QIF
brainpy.dyn.rates.QIF#
- class brainpy.dyn.rates.QIF(size, tau=1.0, eta=- 5.0, delta=1.0, J=15.0, x_ou_mean=0.0, x_ou_sigma=0.0, x_ou_tau=5.0, y_ou_mean=0.0, y_ou_sigma=0.0, y_ou_tau=5.0, x_initializer=Uniform(min_val=0, max_val=0.05, seed=None), y_initializer=Uniform(min_val=0, max_val=0.05, seed=None), method='exp_auto', name=None, keep_size=False, sde_method=None)[source]#
A mean-field model of a quadratic integrate-and-fire neuron population.
Model Descriptions
The QIF population mean-field model, which has been derived from a population of all-to-all coupled QIF neurons in 5. The model equations are given by:
\[\begin{split}\begin{aligned} \tau \dot{r} &=\frac{\Delta}{\pi \tau}+2 r v \\ \tau \dot{v} &=v^{2}+\bar{\eta}+I(t)+J r \tau-(\pi r \tau)^{2} \end{aligned}\end{split}\]where \(r\) is the average firing rate and \(v\) is the average membrane potential of the QIF population 5.
This mean-field model is an exact representation of the macroscopic firing rate and membrane potential dynamics of a spiking neural network consisting of QIF neurons with Lorentzian distributed background excitabilities. While the mean-field derivation is mathematically only valid for all-to-all coupled populations of infinite size, it has been shown that there is a close correspondence between the mean-field model and neural populations with sparse coupling and population sizes of a few thousand neurons 6.
Model Parameters
Parameter
Init Value
Unit
Explanation
tau
1
ms
the population time constant
eta
-5.
the mean of a Lorenzian distribution over the neural excitability in the population
delta
1.0
the half-width at half maximum of the Lorenzian distribution over the neural excitability
J
15
the strength of the recurrent coupling inside the population
- Parameters
x_ou_mean (Parameter) – The noise mean of the \(x\) variable, [mV/ms]
y_ou_mean (Parameter) – The noise mean of the \(y\) variable, [mV/ms].
x_ou_sigma (Parameter) – The noise intensity of the \(x\) variable, [mV/ms/sqrt(ms)].
y_ou_sigma (Parameter) – The noise intensity of the \(y\) variable, [mV/ms/sqrt(ms)].
x_ou_tau (Parameter) – The timescale of the Ornstein-Uhlenbeck noise process of \(x\) variable, [ms].
y_ou_tau (Parameter) – The timescale of the Ornstein-Uhlenbeck noise process of \(y\) variable, [ms].
References
- 5(1,2)
E. Montbrió, D. Pazó, A. Roxin (2015) Macroscopic description for networks of spiking neurons. Physical Review X, 5:021028, https://doi.org/10.1103/PhysRevX.5.021028.
- 6
R. Gast, H. Schmidt, T.R. Knösche (2020) A Mean-Field Description of Bursting Dynamics in Spiking Neural Networks with Short-Term Adaptation. Neural Computation 32.9 (2020): 1615-1634.
- __init__(size, tau=1.0, eta=- 5.0, delta=1.0, J=15.0, x_ou_mean=0.0, x_ou_sigma=0.0, x_ou_tau=5.0, y_ou_mean=0.0, y_ou_sigma=0.0, y_ou_tau=5.0, x_initializer=Uniform(min_val=0, max_val=0.05, seed=None), y_initializer=Uniform(min_val=0, max_val=0.05, seed=None), method='exp_auto', name=None, keep_size=False, sde_method=None)[source]#
Methods
__init__
(size[, tau, eta, delta, J, ...])dx
(x, t, y, x_ext)dy
(y, t, x, y_ext)get_delay_data
(name, delay_step, *indices)Get delay data according to the provided delay steps.
ints
([method])Collect all integrators in this node and the children nodes.
load_states
(filename[, verbose])Load the model states.
nodes
([method, level, include_self])Collect all children nodes.
register_delay
(name, delay_step, delay_target)Register delay variable.
register_implicit_nodes
(nodes)register_implicit_vars
(variables)reset
()Reset function which reset the whole variables in the model.
reset_delay
(name, delay_target)Reset the delay variable.
save_states
(filename[, variables])Save the model states.
train_vars
([method, level, include_self])The shortcut for retrieving all trainable variables.
unique_name
([name, type_])Get the unique name for this object.
update
(t, dt)The function to specify the updating rule.
update_delay
(name, delay_data)Update the delay according to the delay data.
vars
([method, level, include_self])Collect all variables in this node and the children nodes.
Attributes
global_delay_vars
name
steps