Izhikevich
Izhikevich(self,
=0.02,
a=0.2,
b=-65.0,
c=8.0,
d=30.0,
v_thresh=0.0,
i_offset=0.0,
noise=0.0,
tau_refrac='g_exc - g_inh',
conductance )
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:
= ann.Izhikevich(conductance='g_ampa * (1 + g_nmda) - g_gaba') neuron
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:
= ann.Neuron(
Izhikevich = dict(
parameters = ann.Parameter(0.0),
noise = ann.Parameter(0.02),
a = ann.Parameter(0.2),
b = ann.Parameter(-65.0),
c = ann.Parameter(8.0),
d = ann.Parameter(30.0),
v_thresh = ann.Parameter(0.0),
i_offset
), = [
equations 'I = g_exc - g_inh + noise * Normal(0.0, 1.0) + i_offset',
'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),
ann.Variable(
],= "v > v_thresh",
spike = "v = c; u += d",
reset = 0.0
refractory )
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:
= ann.Neuron(
Izhikevich = dict(
parameters = 0.0,
noise = 0.02,
a = 0.2,
b = -65.0,
c = 8.0,
d = 30.0,
v_thresh = 0.0,
i_offset
), = [
equations 'I = g_exc - g_inh + noise * Normal(0.0, 1.0) + i_offset',
'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),
ann.Variable(
],= "v > v_thresh",
spike = "v = c; u += d",
reset = 0.0
refractory )
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' |