All synapse models

Back to model directory

template<typename targetidentifierT>
class BernoulliConnection : public Connection<targetidentifierT>
#include <bernoulli_connection.h>

Name: bernoulli_synapse - Static synapse with stochastic transmission.

Description:

Spikes are transmitted by bernoulli_synapse following a Bernoulli trial with success probability p_transmit. This synaptic mechanism was inspired by the results described in [1] of greater transmission probability for stronger excitatory connections and it was previously applied in [2] and [3].

bernoulli_synapse does not support any kind of plasticity. It simply stores the parameters target, weight, transmission probability, delay and receiver port for each connection.

Parameters:

p_transmit

real

Transmission probability, must be between 0 and 1

FirstVersion: June 2017

Author: Susanne Kunkel, Maximilian Schmidt, Milena Menezes Carvalho

Transmits: SpikeEvent, RateEvent, CurrentEvent, ConductanceEvent, DoubleDataEvent, DataLoggingRequest

SeeAlso: synapsedict, static_synapse, static_synapse_hom_w

References:

1

Lefort S, Tomm C, Sarria J-C F, Petersen CCH (2009). The excitatory neuronal network of the C2 barrel column in mouse primary somatosensory cortex. Neuron, 61(2):301-316. DOI: https://doi.org/10.1016/j.neuron.2008.12.020.

2

Teramae J, Tsubo Y, Fukai T (2012). Optimal spike-based communication in excitable networks with strong-sparse and weak-dense links, Scientific Reports 2,485. DOI: https://doi.org/10.1038/srep00485

3

Omura Y, Carvalho MM, Inokuchi K, Fukai T (2015). A lognormal recurrent network model for burst generation during hippocampal sharp waves. Journal of Neuroscience, 35(43):14585-14601. DOI: https://doi.org/10.1523/JNEUROSCI.4944-14.2015

template<typename targetidentifierT>
class ClopathConnection : public Connection<targetidentifierT>
#include <clopath_connection.h>

Name: clopath_synapse - Synapse type for voltage-based STDP after Clopath.

Description:

clopath_synapse is a connector to create Clopath synapses as defined in [1]. In contrast to usual STDP, the change of the synaptic weight does not only depend on the pre- and postsynaptic spike timing but also on the postsynaptic membrane potential.

Clopath synapses require archiving of continuous quantities. Therefore Clopath synapses can only be connected to neuron models that are capable of doing this archiving. So far, compatible models are aeif_psc_delta_clopath and hh_psc_alpha_clopath.

Parameters:

tau_x

ms

Time constant of the trace of the presynaptic spike train

Wmax

real

Maximum allowed weight

Wmin

real

Minimum allowed weight

Other parameters like the amplitudes for long-term potentiation (LTP) and depression (LTD) are stored in in the neuron models that are compatible with the Clopath synapse.

Transmits: SpikeEvent

References:

1

Clopath et al. (2010). Connectivity reflects coding: a model of voltage-based STDP with homeostasis. Nature Neuroscience 13:3, 344–352. DOI: https://doi.org/10.1038/nn.2479

2

Clopath and Gerstner (2010). Voltage and spike timing interact in STDP – a unified model. Frontiers in Synaptic Neuroscience 2:25. DOI: https://doi.org/10.3389/fnsyn.2010.00025

3

Voltage-based STDP synapse (Clopath et al. 2010) on ModelDB https://senselab.med.yale.edu/ModelDB/showmodel.cshtml?model=144566

Authors: Jonas Stapmanns, David Dahmen, Jan Hahne

SeeAlso: stdp_synapse, aeif_psc_delta_clopath, hh_psc_alpha_clopath

template<typename targetidentifierT>
class ContDelayConnection : public Connection<targetidentifierT>
#include <cont_delay_connection.h>

Name: cont_delay_synapse - Synapse type for continuous delays

Description:

cont_delay_synapse relaxes the condition that NEST only implements delays which are an integer multiple of the time step h. A continuous delay is decomposed into an integer part (delay_) and a double (delay_offset_) so that the actual delay is given by delay_*h - delay_offset_. This can be combined with off-grid spike times.

Example:

SLI

0 << /resolution 1.0 >> SetStatus

/sg /spike_generator << /precise_times true /spike_times [ 2.0 5.5 ] >> Create

def
/n  /iaf_psc_delta_ps Create def
/sd /spike_detector << /precise_times true /record_to [ /memory ] >> Create
def

/cont_delay_synapse << /weight 100. /delay 1.7 >> SetDefaults
sg n /cont_delay_synapse Connect
n sd Connect

10 Simulate

sd GetStatus /events/times :: ==   %  --> <. 3.7 7.2 .>

Remarks:

All delays set by the normal NEST Connect function will be rounded, even when using cont_delay_connection. To set non-grid delays, you must either

1) set the delay as synapse default, as in the example above 2) set the delay for each synapse after the connections have been created, e.g.,

sg n 100. 1.0 /cont_delay_synapse Connect << /source [ sg ] /synapse_model /cont_delay_synapse >> GetConnections { << /delay 1.7 >> SetStatus } forall

Alternative 1) is much more efficient, but all synapses then will have the same delay. Alternative 2) is slower, but allows individual delay values.

Continuous delays cannot be shorter than the simulation resolution.

Transmits: SpikeEvent, RateEvent, CurrentEvent, ConductanceEvent, DoubleDataEvent

FirstVersion: June 2007

Author: Abigail Morrison

SeeAlso: synapsedict, static_synapse, iaf_psc_alpha_ps

template<typename targetidentifierT>
class DiffusionConnection : public Connection<targetidentifierT>
#include <diffusion_connection.h>

Name: diffusion_connection - Synapse type for instantaneous rate connections between neurons of type siegert_neuron.

Description:

diffusion_connection is a connector to create instantaneous connections between neurons of type siegert_neuron. The connection type is identical to type rate_connection_instantaneous for instantaneous rate connections except for the two parameters drift_factor and diffusion_factor substituting the parameter weight.

These two factor origin from the mean-field reduction of networks of leaky-integrate-and-fire neurons. In this reduction the input to the neurons is characterized by its mean and its variance. The mean is obtained by a sum over presynaptic activities (e.g as in eq.28 in [1]), where each term of the sum consists of the presynaptic activity multiplied with the drift_factor. Similarly, the variance is obtained by a sum over presynaptic activities (e.g as in eq.29 in [1]), where each term of the sum consists of the presynaptic activity multiplied with the diffusion_factor. Note that in general the drift and diffusion factors might differ from the ones given in eq. 28 and 29., for example in case of a reduction on the single neuron level or in case of distributed in-degrees (see discussion in chapter 5.2 of [1])

The values of the parameters delay and weight are ignored for connections of this type.

Transmits: DiffusionConnectionEvent

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: siegert_neuron, rate_connection_instantaneous

template<typename targetidentifierT>
class GapJunction : public Connection<targetidentifierT>
#include <gap_junction.h>

Name: gap_junction - Synapse type for gap-junction connections.

Description:

gap_junction is a connector to create gap junctions between pairs of neurons. Gap junctions are bidirectional connections. In order to create one accurate gap-junction connection between neurons i and j two NEST connections are required: For each created connection a second connection with the exact same parameters in the opposite direction is required. NEST provides the possibility to create both connections with a single call to Connect via the make_symmetric flag:

i j << /rule /one_to_one /make_symmetric true >> /gap_junction Connect

The value of the parameter “delay” is ignored for connections of type gap_junction.

Transmits: GapJunctionEvent

References:

1

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

2

Mancilla JG, Lewis,TJ, Pinto DJ, Rinzel J, Connors BW (2007). Synchronization of electrically coupled pairs of inhibitory interneurons in neocortex. Journal of Neuroscience 27:2058-2073. DOI: https://doi.org/10.1523/JNEUROSCI.2715-06.2007

Author: Jan Hahne, Moritz Helias, Susanne Kunkel

SeeAlso: synapsedict, hh_psc_alpha_gap

template<typename targetidentifierT>
class HTConnection : public Connection<targetidentifierT>
#include <ht_connection.h>

Name: ht_synapse - Synapse with depression after Hill & Tononi (2005).

Description:

This synapse implements the depression model described in [1, p 1678]. See docs/model_details/HillTononi.ipynb for details.

Synaptic dynamics are given by

\[\begin{split} P'(t) = ( 1 - P ) / \tau_P P(T+) = (1 - \delta_P) P(T-) \text{ for T : time of a spike } \\ P(t=0) = 1 \end{split}\]
\[ w(t) = w_{max} * P(t) \]
is the resulting synaptic weight

Parameters:

The following parameters can be set in the status dictionary:

tau_P

ms

Synaptic vesicle pool recovery time constant

delta_P

real

Fractional change in vesicle pool on incoming spikes (unitless)

P

real

Current size of the vesicle pool [unitless, 0 <= P <= 1]

References:

1

Hill S, Tononi G (2005). Modeling sleep and wakefulness in the thalamocortical system. Journal of Neurophysiology. 93:1671-1698. DOI: https://doi.org/10.1152/jn.00915.2004

Sends: SpikeEvent

FirstVersion: March 2009

Author: Hans Ekkehard Plesser, based on markram_synapse

SeeAlso: ht_neuron, tsodyks_synapse, stdp_synapse, static_synapse

template<typename targetidentifierT>
class Quantal_StpConnection : public Connection<targetidentifierT>
#include <quantal_stp_connection.h>

Name: quantal_stp_synapse - Probabilistic synapse model with short term plasticity.

Description:

This synapse model implements synaptic short-term depression and short-term facilitation according to the quantal release model described by Fuhrmann et al. [1] and Loebel et al. [2].

Each presynaptic spike will stochastically activate a fraction of the available release sites. This fraction is binomialy distributed and the release probability per site is governed by the Fuhrmann et al. (2002) model. The solution of the differential equations is taken from Maass and Markram 2002 [3].

The connection weight is interpreted as the maximal weight that can be obtained if all n release sites are activated.

Parameters:

The following parameters can be set in the status dictionary:

U

real

Maximal fraction of available resources [0,1], default=0.5

u

real

Available fraction of resources [0,1], default=0.5

p

real

Probability that a vesicle is available, default = 1.0

n

integer

Total number of release sites, default = 1

a

integer

Number of available release sites, default = n

tau_rec

ms

Time constant for depression, default=800 ms

tau_rec

ms

Time constant for facilitation, default=0 (off)

References:

1

Fuhrmann G, Segev I, Markram H, Tsodyks MV (2002). Coding of temporal information by activity-dependent synapses. Journal of neurophysiology, 87(1):140-8. DOI: https://doi.org/10.1152/jn.00258.2001

2

Loebel A, Silberberg G, Helbig D, Markram H, Tsodyks MV, Richardson MJE (2009). Multiquantal release underlies the distribution of synaptic efficacies in the neocortex. Frontiers in Computational Neuroscience, 3, 27. DOI: https://doi.org/10.3389/neuro.10.027.2009

3

Maass W, Markram H (2002). Synapses as dynamic memory buffers. Neural Networks, 15(2):155-161. DOI: https://doi.org/10.1016/S0893-6080(01)00144-7

Transmits: SpikeEvent

FirstVersion: December 2013

Author: Marc-Oliver Gewaltig, based on tsodyks2_synapse

SeeAlso: tsodyks2_synapse, synapsedict, stdp_synapse, static_synapse

template<typename targetidentifierT>
class RateConnectionDelayed : public Connection<targetidentifierT>
#include <rate_connection_delayed.h>

Name: rate_connection_delayed - Synapse type for rate connections with delay.

Description:

rate_connection_delayed is a connector to create connections with delay between rate model neurons.

To create instantaneous rate connections please use the synapse type rate_connection_instantaneous.

Transmits: DelayedRateConnectionEvent

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: rate_connection_instantaneous, rate_neuron_ipn, rate_neuron_opn Class representing a delayed rate connection. A rate_connection_delayed has the properties weight, delay and receiver port.

template<typename targetidentifierT>
class RateConnectionInstantaneous : public Connection<targetidentifierT>
#include <rate_connection_instantaneous.h>

Name: rate_connection_instantaneous - Synapse type for instantaneous rate connections.

Description:

rate_connection_instantaneous is a connector to create instantaneous connections between rate model neurons.

The value of the parameter delay is ignored for connections of this type. To create rate connections with delay please use the synapse type rate_connection_delayed.

Transmits: InstantaneousRateConnectionEvent

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: rate_connection_delayed, rate_neuron_ipn, rate_neuron_opn Class representing a rate connection. A rate connection has the properties weight and receiver port.

template<typename targetidentifierT>
class StaticConnection : public Connection<targetidentifierT>
#include <static_connection.h>

Name: static_synapse - Synapse type for static connections.

Description:

static_synapse does not support any kind of plasticity. It simply stores the parameters target, weight, delay and receiver port for each connection.

FirstVersion: October 2005

Author: Jochen Martin Eppler, Moritz Helias

Transmits: SpikeEvent, RateEvent, CurrentEvent, ConductanceEvent, DoubleDataEvent, DataLoggingRequest

Remarks: Refactored for new connection system design, March 2007

SeeAlso: synapsedict, tsodyks_synapse, stdp_synapse

template<typename targetidentifierT>
class StaticConnectionHomW : public Connection<targetidentifierT>
#include <static_connection_hom_w.h>

Name: static_synapse_hom_w - Synapse type for static connections with homogeneous weight.

Description:

static_synapse_hom_w does not support any kind of plasticity. It simply stores the parameters delay, target, and receiver port for each connection and uses a common weight for all connections.

Remarks:

The common weight for all connections of this model must be set by SetDefaults on the model. If you create copies of this model using CopyModel, each derived model can have a different weight.

Transmits: SpikeEvent, RateEvent, CurrentEvent, ConductanceEvent, DataLoggingRequest, DoubleDataEvent

FirstVersion: April 2008

Author: Susanne Kunkel, Moritz Helias

SeeAlso: synapsedict, static_synapse

template<typename targetidentifierT>
class STDPConnection : public Connection<targetidentifierT>
#include <stdp_connection.h>

Name: stdp_synapse - Synapse type for spike-timing dependent plasticity.

Description:

stdp_synapse is a connector to create synapses with spike time dependent plasticity (as defined in [1]). Here the weight dependence exponent can be set separately for potentiation and depression.

Examples:

multiplicative STDP [2]  mu_plus = mu_minus = 1.0
additive STDP       [3]  mu_plus = mu_minus = 0.0
Guetig STDP         [1]  mu_plus = mu_minus = [0.0,1.0]
van Rossum STDP     [4]  mu_plus = 0.0 mu_minus = 1.0

Parameters:

tau_plus

ms

Time constant of STDP window, potentiation (tau_minus defined in post-synaptic neuron)

lambda

real

Step size

alpha

real

Asymmetry parameter (scales depressing increments as alpha*lambda)

mu_plus

real

Weight dependence exponent, potentiation

mu_minus

real

Weight dependence exponent, depression

Wmax

real

Maximum allowed weight

Transmits: SpikeEvent

References:

1

Guetig et al. (2003). Learning input correlations through nonlinear temporally asymmetric hebbian plasticity. Journal of Neuroscience, 23:3697-3714 DOI: https://doi.org/10.1523/JNEUROSCI.23-09-03697.2003

2

Rubin J, Lee D, Sompolinsky H (2001). Equilibrium properties of temporally asymmetric Hebbian plasticity. Physical Review Letters, 86:364-367. DOI: https://doi.org/10.1103/PhysRevLett.86.364

3

Song S, Miller KD, Abbott LF (2000). Competitive Hebbian learning through spike-timing-dependent synaptic plasticity. Nature Neuroscience 3(9):919-926. DOI: https://doi.org/10.1038/78829

4

van Rossum MCW, Bi G-Q, Turrigiano GG (2000). Stable Hebbian learning from spike timing-dependent plasticity. Journal of Neuroscience, 20(23):8812-8821. DOI: https://doi.org/10.1523/JNEUROSCI.20-23-08812.2000

FirstVersion: March 2006

Author: Moritz Helias, Abigail Morrison

Adapted by: Philipp Weidel

SeeAlso: synapsedict, tsodyks_synapse, static_synapse

template<typename targetidentifierT>
class STDPFACETSHWConnectionHom : public Connection<targetidentifierT>
#include <stdp_connection_facetshw_hom.h>

Name: stdp_facetshw_synapse_hom - Synapse type for spike-timing dependent plasticity using homogeneous parameters, i.e. all synapses have the same parameters.

Description:

stdp_facetshw_synapse is a connector to create synapses with spike-timing dependent plasticity (as defined in [1]). This connector is a modified version of stdp_synapse. It includes constraints of the hardware developed in the FACETS (BrainScaleS) project [2,3], as e.g. 4-bit weight resolution, sequential updates of groups of synapses and reduced symmetric nearest-neighbor spike pairing scheme. For details see [3]. The modified spike pairing scheme requires the calculation of tau_minus_ within this synapse and not at the neuron site via Kplus_ like in stdp_connection_hom.

Parameters:

Common properties

tau_plus

ms

Time constant of STDP window, causal branch

tau_minus_stdp

ms

Time constant of STDP window, anti-causal branch

Wmax

real

Maximum allowed weight

no_synapses

integer

Total number of synapses

synapses_per_driver

integer

Number of synapses updated at once

driver_readout_time

real

Time for processing of one synapse row (synapse line driver)

readout_cycle_duration

real

Duration between two subsequent updates of same synapse (synapse line driver)

lookuptable_0

list of integers

Three look-up tables (LUT)

lookuptable_1

list of integers

lookuptable_2

list of integers

configbit_0

list of integers

Configuration bits for evaluation function. For details see code in function eval_function_ and [4] (configbit[0]=e_cc, ..[1]=e_ca, ..[2]=e_ac, ..[3]=e_aa). Depending on these two sets of configuration bits weights are updated according LUTs (out of three: (1,0), (0,1), (1,1)). For (0,0) continue without reset.

configbit_1

list of integers

reset_pattern

list of integers

Configuration bits for reset behavior. Two bits for each LUT (reset causal and acausal). In hardware only (all false; never reset) or (all true; always reset) is allowed.

Individual properties

a_causal

real

Causal and anti-causal spike pair accumulations

a_acausal

real

a_thresh_th

real

Two thresholds used in evaluation function No common property, because variation of analog synapse circuitry can be applied here

a_thresh_tl

real

synapse_id

integer

Synapse ID, used to assign synapses to groups (synapse drivers)

Remarks:

The synapse IDs are assigned to each synapse in an ascending order (0,1,2, …) according their first presynaptic activity and is used to group synapses that are updated at once. It is possible to avoid activity dependent synapse ID assignments by manually setting the no_synapses and the synapse_id(s) before running the simulation. The weights will be discretized after the first presynaptic activity at a synapse.

Common properties can only be set on the synapse model using SetDefaults.

Transmits: SpikeEvent

References:

1

Morrison A, Diesmann M, Gerstner W (2008). Phenomenological models of synaptic plasticity based on spike-timing. Biological Cybernetics, 98:459-478. DOI: https://doi.org/10.1007/s00422-008-0233-1

2

Schemmel J, Gruebl A, Meier K, Mueller E (2006). Implementing synaptic plasticity in a VLSI spiking neural network model. In Proceedings of the 2006 International Joint Conference on Neural Networks, pp.1–6, IEEE Press. DOI: https://doi.org/10.1109/IJCNN.2006.246651

3

Pfeil T, Potjans TC, Schrader S, Potjans W, Schemmel J, Diesmann M, Meier K (2012). Is a 4-bit synaptic weight resolution enough? - constraints on enabling spike-timing dependent plasticity in neuromorphic hardware. Frontiers in Neuroscience 6(90). DOI: https://doi.org/10.3389/fnins.2012.00090

4

Friedmann, S. in preparation

FirstVersion: July 2011

Author: Thomas Pfeil (TP), Moritz Helias, Abigail Morrison

SeeAlso: stdp_synapse, synapsedict, tsodyks_synapse, static_synapse

Class representing an STDP connection with homogeneous parameters, i.e. parameters are the same for all synapses.

class STDPHomCommonProperties : public CommonSynapseProperties
#include <stdp_connection_hom.h>

Name: stdp_synapse_hom - Synapse type for spike-timing dependent plasticity using homogeneous parameters.

Description:

stdp_synapse_hom is a connector to create synapses with spike time dependent plasticity (as defined in [1]). Here the weight dependence exponent can be set separately for potentiation and depression.

Parameters controlling plasticity are identical for all synapses of the model, reducing the memory required per synapse considerably.

Examples:

multiplicative STDP [2]  mu_plus = mu_minus = 1.0
additive STDP       [3]  mu_plus = mu_minus = 0.0
Guetig STDP         [1]  mu_plus = mu_minus = [0.0,1.0]
van Rossum STDP     [4]  mu_plus = 0.0 mu_minus = 1.0

Parameters:

tau_plus

ms

Time constant of STDP window, potentiation (tau_minus defined in post-synaptic neuron)

lambda

real

Step size

alpha

real

Asymmetry parameter (scales depressing increments as alpha*lambda)

mu_plus

real

Weight dependence exponent, potentiation

mu_minus

real

Weight dependence exponent, depression

Wmax

real

Maximum allowed weight

Remarks:

The parameters are common to all synapses of the model and must be set using SetDefaults on the synapse model.

Transmits: SpikeEvent

References:

1

Guetig et al. (2003). Learning input correlations through nonlinear temporally asymmetric hebbian plasticity. Journal of Neuroscience, 23:3697-3714 DOI: https://doi.org/10.1523/JNEUROSCI.23-09-03697.2003

2

Rubin J, Lee D, Sompolinsky H (2001). Equilibrium properties of temporally asymmetric Hebbian plasticity. Physical Review Letters, 86:364-367. DOI: https://doi.org/10.1103/PhysRevLett.86.364

3

Song S, Miller KD, Abbott LF (2000). Competitive Hebbian learning through spike-timing-dependent synaptic plasticity. Nature Neuroscience 3(9):919-926. DOI: https://doi.org/10.1038/78829

4

van Rossum MCW, Bi G-Q, Turrigiano GG (2000). Stable Hebbian learning from spike timing-dependent plasticity. Journal of Neuroscience, 20(23):8812-8821. DOI: https://doi.org/10.1523/JNEUROSCI.20-23-08812.2000

FirstVersion: March 2006

Author: Moritz Helias, Abigail Morrison

SeeAlso: synapsedict, tsodyks_synapse, static_synapse Class containing the common properties for all synapses of type STDPConnectionHom.

class STDPDopaCommonProperties : public CommonSynapseProperties
#include <stdp_dopa_connection.h>

Name: stdp_dopamine_synapse - Synapse type for dopamine-modulated spike-timing dependent plasticity.

Description:

stdp_dopamine_synapse is a connection to create synapses with dopamine-modulated spike-timing dependent plasticity (used as a benchmark model in [1], based on [2]). The dopaminergic signal is a low-pass filtered version of the spike rate of a user-specific pool of neurons. The spikes emitted by the pool of dopamine neurons are delivered to the synapse via the assigned volume transmitter. The dopaminergic dynamics is calculated in the synapse itself.

Examples:

/volume_transmitter Create /vol Set
/iaf_psc_alpha Create /pre_neuron Set
/iaf_psc_alpha Create /post_neuron Set
/iaf_psc_alpha Create /neuromod_neuron Set
/stdp_dopamine_synapse  << /vt vol >>  SetDefaults
neuromod_neuron vol Connect
pre_neuron post_neuron /stdp_dopamine_synapse Connect

Parameters:

Common properties

vt

integer

ID of volume_transmitter collecting the spikes from the pool of dopamine releasing neurons and transmitting the spikes to the synapse. A value of -1 indicates that no volume transmitter has been assigned.

A_plus

real

Amplitude of weight change for facilitation

A_minus

real

Amplitude of weight change for depression

tau_plus

ms

STDP time constant for facilitation

tau_c

ms

Time constant of eligibility trace

tau_n

ms

Time constant of dopaminergic trace

b

real

Dopaminergic baseline concentration

Wmin

real

Minimal synaptic weight

Wmax

real

Maximal synaptic weight

Individual properties

c

real

Eligibility trace

n

real

Neuromodulator concentration

Remarks: The common properties can only be set by SetDefaults and apply to all synapses of the model.

References:

1

Potjans W, Morrison A, Diesmann M (2010). Enabling functional neural circuit simulations with distributed computing of neuromodulated plasticity. Frontiers in Computational Neuroscience, 4:141. DOI: https://doi.org/10.3389/fncom.2010.00141

2

Izhikevich EM (2007). Solving the distal reward problem through linkage of STDP and dopamine signaling. Cerebral Cortex, 17(10):2443-2452. DOI: https://doi.org/10.1093/cercor/bhl152

Transmits: SpikeEvent

Author: Susanne Kunkel

Remarks:

  • based on an earlier version by Wiebke Potjans

  • major changes to code after code revision in Apr 2013

SeeAlso: volume_transmitter Class containing the common properties for all synapses of type dopamine connection.

class STDPPLHomCommonProperties : public CommonSynapseProperties
#include <stdp_pl_connection_hom.h>

Name: stdp_pl_synapse_hom - Synapse type for spike-timing dependent plasticity with power law implementation using homogeneous parameters, i.e. all synapses have the same parameters.

Description:

stdp_pl_synapse is a connector to create synapses with spike time dependent plasticity (as defined in [1]).

Parameters:

tau_plus

ms

Time constant of STDP window, potentiation (tau_minus defined in post-synaptic neuron)

lambda

real

Learning rate

alpha

real

Asymmetry parameter (scales depressing increments as alpha*lambda)

mu

real

Weight dependence exponent, potentiation

Remarks:

The parameters can only be set by SetDefaults and apply to all synapses of the model.

References:

1

Morrison A, Aertsen A, Diesmann M. (2007) Spike-timing dependent plasticity in balanced random netrks. Neural Computation, 19(6):1437-1467. DOI: https://doi.org/10.1162/neco.2007.19.6.1437

Transmits: SpikeEvent

FirstVersion: May 2007

Author: Abigail Morrison

SeeAlso: synapsedict, stdp_synapse, tsodyks_synapse, static_synapse Class containing the common properties for all synapses of type STDPConnectionHom.

template<typename targetidentifierT>
class STDPTripletConnection : public Connection<targetidentifierT>
#include <stdp_triplet_connection.h>

Name: stdp_triplet_synapse - Synapse type with spike-timing dependent plasticity (triplets).

Description:

stdp_triplet_synapse is a connection with spike time dependent plasticity accounting for spike triplet effects (as defined in [1]).

STDP examples: pair-based Aplus_triplet = Aminus_triplet = 0.0 triplet Aplus_triplet = Aminus_triplet = 1.0

Parameters:

tau_plus

real

Time constant of short presynaptic trace (tau_plus of [1])

tau_plus_triplet

real

Time constant of long presynaptic trace (tau_x of [1])

Aplus

real

Weight of pair potentiation rule (A_plus_2 of [1])

Aplus_triplet

real

Weight of triplet potentiation rule (A_plus_3 of [1])

Aminus

real

Weight of pair depression rule (A_minus_2 of [1])

Aminus_triplet

real

Weight of triplet depression rule (A_minus_3 of [1])

Wmax

real

Maximum allowed weight

States

Kplus

real

Pre-synaptic trace (r_1 of [1])

Kplus_triplet

real

Triplet pre-synaptic trace (r_2 of [1])

Transmits: SpikeEvent

References:

1

Pfister JP, Gerstner W (2006). Triplets of spikes in a model of spike timing-dependent plasticity. The Journal of Neuroscience 26(38):9673-9682. DOI: https://doi.org/10.1523/JNEUROSCI.1425-06.2006

Notes:

  • Presynaptic traces r_1 and r_2 of [1] are stored in the connection as Kplus and Kplus_triplet and decay with time-constants tau_plus and tau_plus_triplet, respectively.

  • Postsynaptic traces o_1 and o_2 of [1] are acquired from the post-synaptic neuron states Kminus_ and triplet_Kminus_ which decay on time-constants tau_minus and tau_minus_triplet, respectively. These two time-constants can be set as properties of the postsynaptic neuron.

  • This version implements the ‘all-to-all’ spike interaction of [1]. The ‘nearest-spike’ interaction of [1] can currently not be implemented without changing the postsynaptic archiving-node (clip the traces to a maximum of 1).

FirstVersion: Nov 2007

Author: Abigail Morrison, Eilif Muller, Alexander Seeholzer, Teo Stocco Adapted by: Philipp Weidel

SeeAlso: stdp_triplet_synapse_hpc, synapsedict, stdp_synapse, static_synapse

template<typename targetidentifierT>
class Tsodyks2Connection : public Connection<targetidentifierT>
#include <tsodyks2_connection.h>

Name: tsodyks2_synapse - Synapse type with short term plasticity.

Description:

This synapse model implements synaptic short-term depression and short-term facilitation according to [1] and [2]. It solves Eq (2) from [1] and modulates U according to eq. (2) of [2].

This connection merely scales the synaptic weight, based on the spike history and the parameters of the kinetic model. Thus, it is suitable for all types of synaptic dynamics, that is current or conductance based.

The parameter A_se from the publications is represented by the synaptic weight. The variable x in the synapse properties is the factor that scales the synaptic weight.

Parameters:

The following parameters can be set in the status dictionary:

U

real

Maximum probability of release (U1) [0,1], default=0.5

u

real

Maximum probability of release (U_se) [0,1], default=0.5

x

real

Current scaling factor of the weight, default=U

tau_fac

ms

Time constant for facilitation, default = 0(off)

tau_rec

ms

Time constant for depression, default = 800ms

Remarks:

Under identical conditions, the tsodyks2_synapse produces slightly lower peak amplitudes than the tsodyks_synapse. However, the qualitative behavior is identical. The script test_tsodyks2_synapse.py in the examples compares the two synapse models.

References:

1

Tsodyks MV, Markram H (1997). The neural code between neocortical pyramidal neurons depends on neurotransmitter release probability. PNAS, 94(2):719-23. DOI: https://doi.org/10.1073/pnas.94.2.719

2

Fuhrman, G, Segev I, Markram H, Tsodyks MV (2002). Coding of temporal information by activity-dependent synapses. Journal of Neurophysiology, 87(1):140-8. DOI: https://doi.org/10.1152/jn.00258.2001

3

Maass W, Markram H (2002). Synapses as dynamic memory buffers. Neural Networks, 15(2):155-61. DOI: https://doi.org/10.1016/S0893-6080(01)00144-7

Transmits: SpikeEvent

FirstVersion: October 2011

Author: Marc-Oliver Gewaltig, based on tsodyks_synapse by Moritz Helias

SeeAlso: tsodyks_synapse, synapsedict, stdp_synapse, static_synapse

template<typename targetidentifierT>
class TsodyksConnection : public Connection<targetidentifierT>
#include <tsodyks_connection.h>

Name: tsodyks_synapse - Synapse type with short term plasticity.

Description:

This synapse model implements synaptic short-term depression and short-term facilitation according to [1]. In particular it solves Eqs (3) and (4) from this paper in an exact manner.

Synaptic depression is motivated by depletion of vesicles in the readily releasable pool of synaptic vesicles (variable x in equation (3)). Synaptic facilitation comes about by a presynaptic increase of release probability, which is modeled by variable U in Eq (4). The original interpretation of variable y is the amount of glutamate concentration in the synaptic cleft. In [1] this variable is taken to be directly proportional to the synaptic current caused in the postsynaptic neuron (with the synaptic weight w as a proportionality constant). In order to reproduce the results of [1] and to use this model of synaptic plasticity in its original sense, the user therefore has to ensure the following conditions:

1.) The postsynaptic neuron must be of type iaf_psc_exp or iaf_tum_2000, because these neuron models have a postsynaptic current which decays exponentially.

2.) The time constant of each tsodyks_synapse targeting a particular neuron must be chosen equal to that neuron’s synaptic time constant. In particular that means that all synapses targeting a particular neuron have the same parameter tau_psc.

However, there are no technical restrictions using this model of synaptic plasticity also in conjunction with neuron models that have a different dynamics for their synaptic current or conductance. The effective synaptic weight, which will be transmitted to the postsynaptic neuron upon occurrence of a spike at time t is u(t)*x(t)*w, where u(t) and x(t) are defined in Eq (3) and (4), w is the synaptic weight specified upon connection. The interpretation is as follows: The quantity u(t)*x(t) is the release probability times the amount of releasable synaptic vesicles at time t of the presynaptic neuron’s spike, so this equals the amount of transmitter expelled into the synaptic cleft. The amount of transmitter than relaxes back to 0 with time constant tau_psc of the synapse’s variable y. Since the dynamics of y(t) is linear, the postsynaptic neuron can reconstruct from the amplitude of the synaptic impulse u(t)*x(t)*w the full shape of y(t). The postsynaptic neuron, however, might choose to have a synaptic current that is not necessarily identical to the concentration of transmitter y(t) in the synaptic cleft. It may realize an arbitrary postsynaptic effect depending on y(t).

Parameters:

The following parameters can be set in the status dictionary:

U

real

Maximum probability of release [0,1]

tau_psc

ms

Time constant of synaptic current

tau_fac

ms

Time constant for facilitation

tau_rec

ms

Time constant for depression

x

real

Initial fraction of synaptic vesicles in the readily releasable pool [0,1]

y

real

Initial fraction of synaptic vesicles in the synaptic cleft [0,1]

References:

1

Tsodyks M, Uziel A, Markram H (2000). Synchrony generation in recurrent networks with frequency-dependent synapses. Journal of Neuroscience, 20 RC50. URL: http://infoscience.epfl.ch/record/183402

Transmits: SpikeEvent

FirstVersion: March 2006

Author: Moritz Helias

SeeAlso: synapsedict, stdp_synapse, static_synapse, iaf_psc_exp, iaf_tum_2000

class TsodyksHomCommonProperties : public CommonPropertiesHomW
#include <tsodyks_connection_hom.h>

Name: tsodyks_synapse_hom - Synapse type with short term plasticity using homogeneous parameters, i.e. all synapses have the same parameters.

Description:

This synapse model implements synaptic short-term depression and short-term facilitation according to [1]. In particular it solves Eqs (3) and (4) from this paper in an exact manner.

Synaptic depression is motivated by depletion of vesicles in the readily releasable pool of synaptic vesicles (variable x in equation (3)). Synaptic facilitation comes about by a presynaptic increase of release probability, which is modeled by variable U in Eq (4). The original interpretation of variable y is the amount of glutamate concentration in the synaptic cleft. In [1] this variable is taken to be directly proportional to the synaptic current caused in the postsynaptic neuron (with the synaptic weight w as a proportionality constant). In order to reproduce the results of [1] and to use this model of synaptic plasticity in its original sense, the user therefore has to ensure the following conditions:

1.) The postsynaptic neuron must be of type iaf_psc_exp or iaf_tum_2000, because these neuron models have a postsynaptic current which decays exponentially.

2.) The time constant of each tsodyks_synapse targeting a particular neuron must be chosen equal to that neuron’s synaptic time constant. In particular that means that all synapses targeting a particular neuron have the same parameter tau_psc.

However, there are no technical restrictions using this model of synaptic plasticity also in conjunction with neuron models that have a different dynamics for their synaptic current or conductance. The effective synaptic weight, which will be transmitted to the postsynaptic neuron upon occurrence of a spike at time t is u(t)*x(t)*w, where u(t) and x(t) are defined in Eq (3) and (4), w is the synaptic weight specified upon connection. The interpretation is as follows: The quantity u(t)*x(t) is the release probability times the amount of releasable synaptic vesicles at time t of the presynaptic neuron’s spike, so this equals the amount of transmitter expelled into the synaptic cleft. The amount of transmitter than relaxes back to 0 with time constant tau_psc of the synapse’s variable y. Since the dynamics of y(t) is linear, the postsynaptic neuron can reconstruct from the amplitude of the synaptic impulse u(t)*x(t)*w the full shape of y(t). The postsynaptic neuron, however, might choose to have a synaptic current that is not necessarily identical to the concentration of transmitter y(t) in the synaptic cleft. It may realize an arbitrary postsynaptic effect depending on y(t).

Parameters:

U

real

Maximum probability of release [0,1]

tau_psc

ms

Time constant of synaptic current

tau_fac

ms

Time constant for facilitation

tau_rec

ms

Time constant for depression

x

real

Initial fraction of synaptic vesicles in the readily releasable pool [0,1]

y

real

Initial fraction of synaptic vesicles in the synaptic cleft [0,1]

Remarks:

The weight and the parameters U, tau_psc, tau_fac, and tau_rec are common to all synapses of the model and must be set using SetDefaults on the synapse model.

References:

1

Tsodyks M, Uziel A, Markram H (2000). Synchrony generation in recurrent networks with frequency-dependent synapses. Journal of Neuroscience, 20 RC50. URL: http://infoscience.epfl.ch/record/183402

Transmits: SpikeEvent

FirstVersion: March 2006

Author: Susanne Kunkel, Moritz Helias

SeeAlso: synapsedict, tsodyks_synapse, stdp_synapse_hom, static_synapse_hom_w, iaf_psc_exp, iaf_tum_2000 Class containing the common properties for all synapses of type TsodyksConnectionHom.

template<typename targetidentifierT>
class VogelsSprekelerConnection : public Connection<targetidentifierT>
#include <vogels_sprekeler_connection.h>

Name: vogels_sprekeler_synapse - Synapse type for symmetric spike-timing dependent plasticity with constant depression.

Description: vogels_sprekeler_synapse is a connector to create synapses with symmetric spike time dependent plasticity and constant depression (as defined in [1]). The learning rule is symmetric, i.e., the synapse is strengthened irrespective of the order of the pre and post-synaptic spikes. Each pre-synaptic spike also causes a constant depression of the synaptic weight which differentiates this rule from other classical stdp rules.

Parameters:

tau

ms

Time constant of STDP window, potentiation

Wmax

real

Maximum allowed weight

eta

real

Learning rate

alpha

real

Constant depression (= 2 * tau * target firing rate in [1])

Transmits: SpikeEvent

References:

1

Vogels et al. (2011). Inhibitory plasticity balances excitation and inhibition in sensory pathways and memory networks. Science, 334(6062):1569-1573. DOI: https://doi.org/10.1126/science.1211095

FirstVersion: January 2016

Author: Ankur Sinha

SeeAlso: synapsedict