Izhikevich
Izhikevich(
a=0.02,
b=0.2,
c=-65.0,
d=8.0,
v_thresh=30.0,
i_offset=0.0,
noise=0.0,
tau_refrac=0.0,
conductance='g_exc - g_inh',
)Izhikevich quadratic spiking neuron.
Izhikevich, E.M. (2003). Simple Model of Spiking Neurons, IEEE Transaction on Neural Networks, 14:6. http://dx.doi.org/10.1109/TNN.2003.820440
The neural equations are:
\frac{dv}{dt} = 0.04 * v^2 + 5.0 * v + 140.0 - u + I
\frac{du}{dt} = a * (b * v - u)
By default, the conductance is “g_exc - g_inh”, but this can be changed by setting the conductance argument:
neuron = ann.Izhikevich(conductance='g_ampa * (1 + g_nmda) - g_gaba')The synapses are instantaneous, i.e the corresponding conductance is increased from the synaptic efficiency w at the time step when a spike is received.
The ODEs are solved using the explicit Euler method.
Equivalent code:
Izhikevich = ann.Neuron(
parameters = dict(
noise = ann.Parameter(0.0),
a = ann.Parameter(0.02),
b = ann.Parameter(0.2),
c = ann.Parameter(-65.0),
d = ann.Parameter(8.0),
v_thresh = ann.Parameter(30.0),
i_offset = ann.Parameter(0.0),
),
equations = [
'I = g_exc - g_inh + noise * Normal(0.0, 1.0) + i_offset',
ann.Variable('dv/dt = 0.04 * v^2 + 5.0 * v + 140.0 - u + I', init = -65.0),
ann.Variable('du/dt = a * (b*v - u)', init= -13.0),
],
spike = "v > v_thresh",
reset = "v = c; u += d",
refractory = 0.0
)The default parameters are for a regular spiking (RS) neuron. They are defined as local parameters, so their value can be set at the neuron-level. Here is the neuron definition using global parameters:
Izhikevich = ann.Neuron(
parameters = dict(
noise = 0.0,
a = 0.02,
b = 0.2,
c = -65.0,
d = 8.0,
v_thresh = 30.0,
i_offset = 0.0,
),
equations = [
'I = g_exc - g_inh + noise * Normal(0.0, 1.0) + i_offset',
ann.Variable('dv/dt = 0.04 * v^2 + 5.0 * v + 140.0 - u + I', init = -65.0),
ann.Variable('du/dt = a * (b*v - u)', init= -13.0),
],
spike = "v > v_thresh",
reset = "v = c; u += d",
refractory = 0.0
)Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| a | float | Speed of the recovery variable | 0.02 |
| b | float | Scaling of the recovery variable | 0.2 |
| c | float | Reset potential. | -65.0 |
| d | float | Increment of the recovery variable after a spike. | 8.0 |
| v_thresh | float | Spike threshold (mV). | 30.0 |
| i_offset | float | external current (nA). | 0.0 |
| noise | float | Amplitude of the normal additive noise. | 0.0 |
| tau_refrac | float | Duration of refractory period (ms). | 0.0 |
| conductance | str | Conductances used as inputs. | 'g_exc - g_inh' |