# 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

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

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.

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

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

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

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

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