Rate-based neuron models

class nonlinearities_gauss_rate
#include <gauss_rate.h>

Name: gauss_rate - rate model with Gaussian gain function

Description:

gauss_rate is an implementation of a nonlinear rate model with input function

\[ input(h) = g * \exp( -( x - \mu )^2 / ( 2 * \sigma^2 ) ) \]
. Input transformation can either be applied to individual inputs or to the sum of all inputs.

The model supports connections to other rate models with either zero or non-zero delay, and uses the secondary_event concept introduced with the gap-junction framework.

Parameters:

The following parameters can be set in the status dictionary.

rate

real

Rate (unitless)

tau

ms

Time constant of rate dynamics

mu

real

Mean input

sigma

real

Noise parameter

g

real

Gain parameter

mu

real

Mean of the Gaussian gain function

sigma

real

Standard deviation of Gaussian gain function

linear_summation

boolean

Specifies type of non-linearity (see above)

rectify_output

boolean

Switch to restrict rate to values >= 0

Note:

The boolean parameter linear_summation determines whether the input from different presynaptic neurons is first summed linearly and then transformed by a nonlinearity (true), or if the input from individual presynaptic neurons is first nonlinearly transformed and then summed up (false). Default is true.

References:

1

Hahne J, Dahmen D, Schuecker J, Frommer A, Bolten M, Helias M, Diesmann M. (2017). Integration of continuous-time dynamics in a spiking neural network simulator. Frontiers in Neuroinformatics, 11:34. DOI: https://doi.org/10.3389/fninf.2017.00034

2

Hahne J, Helias M, Kunkel S, Igarashi J, Bolten M, Frommer A, Diesmann Mi (2015). A unified framework for spiking and gap-junction interactions in distributed neuronal network simulations. Frontiers in Neuroinformatics, 9:22. DOI: https://doi.org/10.3389/fninf.2015.00022

Sends: InstantaneousRateConnectionEvent, DelayedRateConnectionEvent

Receives: InstantaneousRateConnectionEvent, DelayedRateConnectionEvent, DataLoggingRequest

Author: Mario Senden, Jan Hahne, Jannis Schuecker

SeeAlso: rate_connection_instantaneous, rate_connection_delayed

class nonlinearities_lin_rate
#include <lin_rate.h>

Name: lin_rate - Linear rate model

Description:

lin_rate is an implementation of a linear rate model with input function \( input(h) = g * h \). The model supports multiplicative coupling which can be switched on and off via the boolean parameter mult_coupling (default=false). In case multiplicative coupling is actived the excitatory input of the model is multiplied with the function \( mult\_coupling\_ex(rate) = g_{ex} * ( \theta_{ex} - rate ) \) and the inhibitory input is multiplied with the function \( mult\_coupling\_in(rate) = g_{in} * ( \theta_{in} + rate ) \).

The model supports connections to other rate models with either zero or non-zero delay, and uses the secondary_event concept introduced with the gap-junction framework.

Parameters:

The following parameters can be set in the status dictionary.

rate

real

Rate (unitless)

tau

ms

Time constant of rate dynamics

lambda

real

Passive decay rate

mu

real

Mean input

sigma

real

Noise parameter

g

real

Gain parameter

mult_coupling

boolean

Switch to enable/disable multiplicative coupling

g_ex

real

Linear factor in multiplicative coupling

g_in

real

Linear factor in multiplicative coupling

theta_ex

real

Shift in multiplicative coupling

theta_in

real

Shift in multiplicative coupling

rectify_output

boolean

Switch to restrict rate to values >= 0

References:

1

Hahne J, Dahmen D, Schuecker J, Frommer A, Bolten M, Helias M, Diesmann M (2017). Integration of continuous-time dynamics in a spiking neural network simulator. Frontiers in Neuroinformatics, 11:34. DOI: https://doi.org/10.3389/fninf.2017.00034

2

Hahne J, Helias M, Kunkel S, Igarashi J, Bolten M, Frommer A, Diesmann M (2015). A unified framework for spiking and gap-junction interactions in distributed neuronal network simulations. Frontiers Neuroinformatics, 9:22. DOI: https://doi.org/10.3389/fninf.2015.00022

Sends: InstantaneousRateConnectionEvent, DelayedRateConnectionEvent

Receives: InstantaneousRateConnectionEvent, DelayedRateConnectionEvent, DataLoggingRequest

Author: David Dahmen, Jan Hahne, Jannis Schuecker

SeeAlso: rate_connection_instantaneous, rate_connection_delayed

template<class TNonlinearities>
class rate_neuron_ipn : public Archiving_Node
#include <rate_neuron_ipn.h>

Name: rate_neuron_ipn - Base class for rate model with input noise.

Description:

Base class for rate model with input noise of the form

\[ \tau dX_i(t) = [ - \lambda X_i(t) + \mu + \phi( \sum w_{ij} \cdot \psi( X_j(t-d_{ij}) ) ) ] dt + [ \sqrt{\tau} \cdot \sigma ] dW_{i}(t) \]
or
\[\begin{split} \tau dX_i(t) = [ - \lambda X_i(t) + \mu + \text{mult_coupling_ex}( X_i(t) ) \cdot \\ \phi( \sum w^{ > 0 }_{ij} \cdot \psi( X_j(t-d_{ij}) ) ) \\ + \text{mult_coupling_in}( X_i(t) ) \cdot \\ \phi( \sum w^{ < 0 }_{ij} \cdot \psi( X_j(t-d_{ij}) ) ) ] dt \\ + [ \sqrt{\tau} \cdot \sigma ] dW_{i}(t) \end{split}\]
This template class needs to be instantiated with a class containing the following functions:
  • input (nonlinearity that is applied to the input, either psi or phi)

  • mult_coupling_ex (factor of multiplicative coupling for excitatory input)

  • mult_coupling_in (factor of multiplicative coupling for inhibitory input)

The boolean parameter linear_summation determines whether the input function is applied to the summed up incoming connections (True, default value, input represents phi) or to each input individually (False, input represents psi). In case of multiplicative coupling the nonlinearity is applied separately to the summed excitatory and inhibitory inputs if linear_summation=True.

References:

1

Hahne J, Dahmen D, Schuecker J, Frommer A, Bolten M, Helias M, Diesmann M (2017). Integration of continuous-time dynamics in a spiking neural network simulator. Frontiers in Neuroinformatics, 11:34. DOI: https://doi.org/10.3389/fninf.2017.00034

Author: David Dahmen, Jan Hahne, Jannis Schuecker

SeeAlso: lin_rate, tanh_rate, threshold_lin_rate

template<class TNonlinearities>
class rate_neuron_opn : public Archiving_Node
#include <rate_neuron_opn.h>

Name: rate_neuron_opn - Base class for rate model with output noise.

Description:

Base class for rate model with output noise of the form

\[ \tau dX_i(t) / dt = - X_i(t) + \mu + \phi( \sum w_{ij} \cdot \psi( X_j(t-d_{ij}) + \sqrt{\tau} \cdot \sigma \cdot \xi_j(t) ) ) \]
or
\[\begin{split} \tau dX_i(t) / dt = - X_i(t) + \mu + \text{mult_coupling_ex}( X_i(t) ) \cdot \\ \phi( \sum w^{ > 0 }_{ij} \cdot \psi( X_j(t-d_{ij}) \\ + \sqrt{\tau} \cdot \sigma \cdot \xi_j(t) ) ) \\ + \text{mult_coupling_in}( X_i(t) ) \cdot \\ \phi( \sum w^{ < 0 }_{ij} \cdot \psi( X_j(t-d_{ij}) \\ + \sqrt{\tau} \cdot \sigma \cdot \xi_j(t) ) ) \end{split}\]

Here \( xi_j(t) \) denotes a Gaussian white noise.

This template class needs to be instantiated with a class containing the following functions:

  • input (nonlinearity that is applied to the input, either psi or phi)

  • mult_coupling_ex (factor of multiplicative coupling for excitatory input)

  • mult_coupling_in (factor of multiplicative coupling for inhibitory input)

The boolean parameter linear_summation determines whether the input function is applied to the summed up incoming connections (True, default value, input represents phi) or to each input individually (False, input represents psi). In case of multiplicative coupling the nonlinearity is applied separately to the summed excitatory and inhibitory inputs if linear_summation=True.

References:

1

Hahne J, Dahmen D, Schuecker J, Frommer A, Bolten M, Helias M, Diesmann M (2017). Integration of continuous-time dynamics in a spiking neural network simulator. Frontiers in Neuroinformatics, 11:34. DOI: https://doi.org./10.3389/fninf.2017.00034

Author: David Dahmen, Jan Hahne, Jannis Schuecker

SeeAlso: lin_rate, tanh_rate, threshold_lin_rate

template<class TNonlinearities>
class rate_transformer_node : public Archiving_Node
#include <rate_transformer_node.h>

Name: rate_transformer_node - Rate neuron that sums up incoming rates and applies a nonlinearity specified via the template.

Description:

The rate transformer node simply applies the nonlinearity specified in the input-function of the template class to all incoming inputs. The boolean parameter linear_summation determines whether the input function is applied to the summed up incoming connections (True, default value) or to each input individually (False). An important application is to provide the possibility to apply different nonlinearities to different incoming connections of the same rate neuron by connecting the sending rate neurons to the rate transformer node and connecting the rate transformer node to the receiving rate neuron instead of using a direct connection. Please note that for instantaneous rate connections the rate arrives one time step later at the receiving rate neurons as with a direct connection.

Remarks:

  • Weights on connections from and to the rate_transformer_node are handled as usual.

  • Delays are honored on incoming and outgoing connections.

Receives: InstantaneousRateConnectionEvent, DelayedRateConnectionEvent

Sends: InstantaneousRateConnectionEvent, DelayedRateConnectionEvent

Parameters:

Only the parameter

  • linear_summation and the parameters from the class Nonlinearities can be set in the status dictionary.

Author: Mario Senden, Jan Hahne, Jannis Schuecker

FirstVersion: November 2017

class siegert_neuron : public Archiving_Node
#include <siegert_neuron.h>

Name: siegert_neuron

Description:

siegert_neuron is an implementation of a rate model with the non-linearity given by the gain function of the leaky-integrate-and-fire neuron with delta or exponentially decaying synapses [2] and [3, their eq. 25]. The model can be used for a mean-field analysis of spiking networks.

The model supports connections to other rate models with zero delay, and uses the secondary_event concept introduced with the gap-junction framework.

Parameters:

The following parameters can be set in the status dictionary.

rate

1/s

Rate (1/s)

tau

ms

Time constant

mean

real

Additional constant input

The following parameters can be set in the status directory and are used in the evaluation of the gain function. Parameters as in iaf_psc_exp/delta.

tau_m

ms

Membrane time constant

tau_syn

ms

Time constant of postsynaptic currents

t_ref

ms

Duration of refractory period

theta

mV

Threshold relative to resting potential

V_reset

mV

Reset relative to resting membrane potential

References:

1

Hahne J, Dahmen D, Schuecker J, Frommer A, Bolten M, Helias M, Diesmann M (2017). Integration of continuous-time dynamics in a spiking neural network simulator. Frontiers in Neuroinformatics, 11:34. DOI: https://doi.org/10.3389/fninf.2017.00034

2

Fourcaud N, Brunel N (2002). Dynamics of the firing probability of noisy integrate-and-fire neurons, Neural Computation, 14(9):2057-2110 DOI: https://doi.org/10.1162/089976602320264015

3

Schuecker J, Diesmann M, Helias M (2015). Modulated escape from a metastable state driven by colored noise. Physical Review E 92:052119 DOI: https://doi.org/10.1103/PhysRevE.92.052119

4

Hahne J, Helias M, Kunkel S, Igarashi J, Bolten M, Frommer A, Diesmann M (2015). A unified framework for spiking and gap-junction interactions in distributed neuronal network simulations. Frontiers in Neuroinformatics, 9:22. DOI: https://doi.org/10.3389/fninf.2015.00022

Sends: DiffusionConnectionEvent

Receives: DiffusionConnectionEvent, DataLoggingRequest

Author: Jannis Schuecker, David Dahmen, Jan Hahne

SeeAlso: diffusion_connection

class nonlinearities_sigmoid_rate
#include <sigmoid_rate.h>

Name: sigmoid_rate - rate model with sigmoidal gain function

Description:

sigmoid_rate is an implementation of a nonlinear rate model with input function \( input(h) = g / ( 1. + \exp( -\beta * ( h - \theta ) ) ) \). Input transformation can either be applied to individual inputs or to the sum of all inputs.

The model supports connections to other rate models with either zero or non-zero delay, and uses the secondary_event concept introduced with the gap-junction framework.

Parameters:

The following parameters can be set in the status dictionary.

rate

real

Rate (unitless)

tau

ms

Time constant of rate dynamics

mu

real

Mean input

sigma

real

Noise parameter

g

real

Gain parameter

beta

real

Slope parameter

theta

real

Threshold

linear_summation

boolean

Specifies type of non-linearity (see above)

rectify_output

boolean

Switch to restrict rate to values >= 0

Note:

The boolean parameter linear_summation determines whether the input from different presynaptic neurons is first summed linearly and then transformed by a nonlinearity (true), or if the input from individual presynaptic neurons is first nonlinearly transformed and then summed up (false). Default is true.

References:

1

Hahne J, Dahmen D, Schuecker J, Frommer A, Bolten M, Helias M, Diesmann M (2017). Integration of continuous-time dynamics in a spiking neural network simulator. Frontiers in Neuroinformatics, 11:34. DOI: https://doi.org/10.3389/fninf.2017.00034

2

Hahne J, Helias M, Kunkel S, Igarashi J, Bolten M, Frommer A, Diesmann M (2015). A unified framework for spiking and gap-junction interactions in distributed neuronal network simulations. Frontiers in Neuroinformatics, 9:22. DOI: https://doi.org/10.3389/fninf.2015.00022

Sends: InstantaneousRateConnectionEvent, DelayedRateConnectionEvent

Receives: InstantaneousRateConnectionEvent, DelayedRateConnectionEvent, DataLoggingRequest

Author: Mario Senden, Jan Hahne, Jannis Schuecker

SeeAlso: rate_connection_instantaneous, rate_connection_delayed

class nonlinearities_sigmoid_rate_gg_1998
#include <sigmoid_rate_gg_1998.h>

Name: sigmoid_rate_gg_1998 - rate model with sigmoidal gain function as defined in [1].

Description:

sigmoid_rate_gg_1998 is an implementation of a nonlinear rate model with input function \( input(h) = ( g * h )^4 / ( .1^4 + ( g * h )^4 ) \). Input transformation can either be applied to individual inputs or to the sum of all inputs.

The model supports connections to other rate models with either zero or non-zero delay, and uses the secondary_event concept introduced with the gap-junction framework.

Parameters:

The following parameters can be set in the status dictionary.

rate

real

Rate (unitless)

tau

ms

Time constant of rate dynamics

mu

real

Mean input

sigma

real

Noise parameter

g

real

Gain parameter

linear_summation

boolean

Specifies type of non-linearity (see above)

rectify_output

boolean

Switch to restrict rate to values >= 0

-Note:

The boolean parameter linear_summation determines whether the input from different presynaptic neurons is first summed linearly and then transformed by a nonlinearity (true), or if the input from individual presynaptic neurons is first nonlinearly transformed and then summed up (false). Default is true.

References:

1

Gancarz G, Grossberg S (1998). A neural model of the saccade generator in the reticular formation. Neural Networks, 11(7):1159–1174. DOI: https://doi.org/10.1016/S0893-6080(98)00096-3

2

Hahne J, Dahmen D, Schuecker J, Frommer A, Bolten M, Helias M, Diesmann M (2017). Integration of continuous-time dynamics in a spiking neural network simulator. Frontiers in Neuroinformatics, 11:34. DOI: https://doi.org/10.3389/fninf.2017.00034

3

Hahne J, Helias M, Kunkel S, Igarashi J, Bolten M, Frommer A, Diesmann M (2015). A unified framework for spiking and gap-junction interactions in distributed neuronal network simulations. Frontiers in Neuroinformatics, 9:22. DOI: https://doi/org/10.3389/fninf.2015.00022

Sends: InstantaneousRateConnectionEvent, DelayedRateConnectionEvent

Receives: InstantaneousRateConnectionEvent, DelayedRateConnectionEvent, DataLoggingRequest

Author: Mario Senden, Jan Hahne, Jannis Schuecker

SeeAlso: rate_connection_instantaneous, rate_connection_delayed

class nonlinearities_tanh_rate
#include <tanh_rate.h>

Name: tanh_rate - rate model with hyperbolic tangent non-linearity

Description:

tanh_rate is an implementation of a nonlinear rate model with input function \( input(h) = \tanh(g * (h-\theta)) \). Input transformation can either be applied to individual inputs or to the sum of all inputs.

The model supports connections to other rate models with either zero or non-zero delay, and uses the secondary_event concept introduced with the gap-junction framework.

Parameters:

The following parameters can be set in the status dictionary.

rate

real

Rate (unitless)

tau

ms

Time constant of rate dynamics

mu

real

Mean input

sigma

real

Noise parameter

g

real

Gain parameter

theta

real

Threshold

linear_summation

boolean

Specifies type of non-linearity (see above)

rectify_output

boolean

Switch to restrict rate to values >= 0

Note:

The boolean parameter linear_summation determines whether the input from different presynaptic neurons is first summed linearly and then transformed by a nonlinearity (true), or if the input from individual presynaptic neurons is first nonlinearly transformed and then summed up (false). Default is true.

References:

1

Hahne J, Dahmen D, Schuecker J, Frommer A, Bolten M, Helias M, Diesmann M (2017). Integration of continuous-time dynamics in a spiking neural network simulator. Frontiers in Neuroinformatics, 11:34. DOI: https://doi.org/10.3389/fninf.2017.00034

2

Hahne J, Helias M, Kunkel S, Igarashi J, Bolten M, Frommer A, Diesmann M (2015). A unified framework for spiking and gap-junction interactions in distributed neuronal network simulations. Frontiers in Neuroinformatics, 9:22. DOI: https://doi.org/10.3389/fninf.2015.00022

Sends: InstantaneousRateConnectionEvent, DelayedRateConnectionEvent

Receives: InstantaneousRateConnectionEvent, DelayedRateConnectionEvent, DataLoggingRequest

Author: David Dahmen, Jan Hahne, Jannis Schuecker

SeeAlso: rate_connection_instantaneous, rate_connection_delayed

class nonlinearities_threshold_lin_rate
#include <threshold_lin_rate.h>

Name: threshold_lin_rate - rate model with threshold-linear gain function

Description:

threshold_lin_rate is an implementation of a nonlinear rate model with input function \( input(h) = min( max( g * ( h - \theta ), 0 ), \alpha ) \). Input transformation can either be applied to individual inputs or to the sum of all inputs.

The model supports connections to other rate models with either zero or non-zero delay, and uses the secondary_event concept introduced with the gap-junction framework.

Parameters:

The following parameters can be set in the status dictionary.

rate

real

Rate (unitless)

tau

ms

Time constant of rate dynamics

mu

real

Mean input

sigma

real

Noise parameter

g

real

Gain parameter

alpha

real

Second Threshold

theta

real

Threshold

linear_summation

boolean

Specifies type of non-linearity (see above)

rectify_output

boolean

Switch to restrict rate to values >= 0

Note: The boolean parameter linear_summation determines whether the input from different presynaptic neurons is first summed linearly and then transformed by a nonlinearity (true), or if the input from individual presynaptic neurons is first nonlinearly transformed and then summed up (false). Default is true.

References:

1

Hahne J, Dahmen D, Schuecker J, Frommer A, Bolten M, Helias M, Diesmann M (2017). Integration of continuous-time dynamics in a spiking neural network simulator. Frontiers in Neuroinformatics, 11:34. DOI: https://doi.org/10.3389/fninf.2017.00034

2

Hahne J, Helias M, Kunkel S, Igarashi J, Bolten M, Frommer A, Diesmann M (2015). A unified framework for spiking and gap-junction interactions in distributed neuronal network simulations. Frontiers in Neuroinformatics, 9:22. DOI: https://doi.org/10.3389/fninf.2015.00022

Sends: InstantaneousRateConnectionEvent, DelayedRateConnectionEvent

Receives: InstantaneousRateConnectionEvent, DelayedRateConnectionEvent, DataLoggingRequest

Author: David Dahmen, Jan Hahne, Jannis Schuecker SeeAlso: rate_connection_instantaneous, rate_connection_delayed