LeakyIntegrator
models.Neurons.LeakyIntegrator(self,
=10.0,
tau=0.0,
B=0.0,
Tsum='sum(exc) - sum(inh)',
=None,
noise )
Leaky-integrator rate-coded neuron, optionally noisy.
This simple rate-coded neuron defines an internal variable v(t) which integrates the inputs I(t) with a time constant \tau and a baseline B. An additive noise N(t) can be optionally defined:
\tau \cdot \frac{dv(t)}{dt} + v(t) = I(t) + B + N(t)
The transfer function is the positive (or rectified linear ReLU) function with a threshold T:
r(t) = (v(t) - T)^+
By default, the input I(t) to this neuron is “sum(exc) - sum(inh)”, but this can be changed by setting the sum
argument:
= ann.LeakyIntegrator(sum="sum('exc')") neuron
By default, there is no additive noise, but the noise
argument can be passed with a specific distribution:
= ann.LeakyIntegrator(noise="Normal(0.0, 1.0)") neuron
Parameters:
- tau = 10.0 : Time constant in ms of the neuron.
- B = 0.0 : Baseline value for v.
- T = 0.0 : Threshold for the positive transfer function.
Variables:
v : internal variable (init = 0.0):
tau * dv/dt + v = sum(exc) - sum(inh) + B + N
r : firing rate (init = 0.0):
r = pos(v - T)
The ODE is solved using the exponential Euler method.
Equivalent code:
= Neuron(
LeakyIntegrator ='''
parameters tau = 10.0 : population
B = 0.0
T = 0.0 : population
''',
='''
equations tau * dv/dt + v = sum(exc) - sum(inh) + B : exponential
r = pos(v - T)
'''
)
Parameters
Name | Type | Description | Default |
---|---|---|---|
tau | float | Time constant. | 10.0 |
B | float | Baseline. | 0.0 |
T | float | Threshold. | 0.0 |
sum | str | Input sums. | 'sum(exc) - sum(inh)' |