Neuron
This chapter introduces how to choose neuron model and change some important parameters of the model.
neuron model
Neuron model is one of the most important component of the model. Different neuron model will have different neuron dynamics. In spiking neuron network, people always convert the change of membrane potential of neuron model into different equation and approximate it by difference equation. Finally, obtain the differential neuron model that can be computed by computer. In SPAIC , we contains most of the common neuron models:
IF - Integrate-and-Fire model
LIF - Leaky Integrate-and-Fire model
CLIF - Current Leaky Integrate-and-Fire model
GLIF - Generalized Leaky Integrate-and-Fire model
aEIF - Adaptive Exponential Integrate-and-Fire model
IZH - Izhikevich model
HH - Hodgkin-Huxley model
In SPAIC , NeuronGroup is like nodes of the network model. Like layers in PyTorch , in SPAIC , NeuronGroup is the layer. Users need to specify the neuron numbers, neuron model or other related paramters.
from spaic import NeuronGroup
LIF neuron model
LIF(Leaky Integrated-and-Fire Model) neuron formula and parameters:
For example, we build a layer with 100 LIF neurons:
self.layer1 = NeuronGroup(num=100, model='lif')
A layer with 100 standard LIF neurons has been constructed. While, sometimes we need to specify the LIF neuron to get different neuron dynamics, that we will need to specify some parameters:
tau_m - time constant of neuron membrane potential, default as 6.0
v_th - the threshold voltage of a neuron, default as 1.0
v_reset - the reset voltage of the neuron, which defaults to 0.0
If users need to change these parameters, they can enter the parameters when construct NeuronGroups .
self.layer2 = NeuronGroup(num=100, model='lif',
tau_m=10.0, v_th=10, v_reset=0.2)
CLIF neuron model
CLIF(Current Leaky Integrated-and-Fire Model) neuron formula and parameters:
tau_p, tau_q - time constants of synapse, default as 12.0 and 8.0
tau_m - time constant of neuron membrane potential, default as 20.0
v_th - the threshold voltage of a neuron, default as 1.0
GLIF neuron model
GLIF(Generalized Leaky Integrate-and-Fire Model) [1] neuron parameters:
R, C, E_L
Theta_inf
f_v
delta_v
b_s
delta_Theta_s
k_1, k_2
delta_I1, delta_I2
a_v, b_v
aEIF neuron model
aEIF(Adaptive Exponential Integrated-and-Fire Model) [2] neuron model and parameters:
C, gL - membrane capacitance and leak conductance
tau_w - adaptation time constant
a. - subthreshold adaptation
b. - spike-triggered adaptation
delta_t - slope factor
EL - leak reversal potential
IZH neuron model
IZH(Izhikevich Model) [3] neuron model and parameters:
tau_m
C1, C2, C3
a, b, d
Vreset - Voltage Reset
HH neuron model
HH(Hodgkin-Huxley Model) [4] neuron model and parameters:
dt
g_NA, g_K, g_L
E_NA, E_K, E_L
alpha_m1, alpha_m2, alpha_m3
beta_m1, beta_m2, beta_m3
alpha_n1, alpha_n2, alpha_n3
beta_n1, beta_n2, beta_n3
alpha_h1, alpha_h2, alpha_h3
beta_1, beta_h2, beta_h3
Vreset
m, n, h
V, v_th
customize
In the following chapter called Custom Neuron Model , we will talke about how to add custom neuron model into SPAIC with more details.