Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add warning about synaptic plasticity mechanisms and precise spike timing #2137

Merged
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions models/clopath_synapse.h
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,10 @@ 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.

.. warning::

This synaptic plasticity rule does not take :doc:`precise spike timing <simulations_with_precise_spike_times>` into account. When calculating the weight update, the precise spike time part of the timestamp is ignored.

Parameters
++++++++++

Expand Down
4 changes: 4 additions & 0 deletions models/ht_synapse.h
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,10 @@ Synaptic dynamics are given by
For implementation details see:
`HillTononi_model <../model_details/HillTononiModels.ipynb>`_

.. warning::

This synaptic plasticity rule does not take :doc:`precise spike timing <simulations_with_precise_spike_times>` into account. When calculating the weight update, the precise spike time part of the timestamp is ignored.

Parameters
++++++++++

Expand Down
122 changes: 78 additions & 44 deletions models/jonke_synapse.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,50 +39,84 @@
namespace nest
{

/* BeginDocumentation
Name: jonke_synapse - Synapse type for spike-timing dependent
plasticity with additional additive factors.
Description:
jonke_synapse is a connector to create synapses with spike time
dependent plasticity. Unlike stdp_synapse, we use the update equations:
\Delta w = \lambda * w_{max} * (K_+(w) * F_+(t) - beta) if t - t_j^(k) > 0
\Delta w = \lambda * w_{max} * (-alpha * K_-(w) * F_-(t) - beta) else
where
K_+(w) = exp(\nu_+ w)
K_-(w) = exp(\nu_- w)
and
F_+(t) = exp((t - t_j^(k))/tau_+)
F_-(t) = exp((t - t_j^(k))/tau_-)
This makes it possible to implement update rules which approximate the
rule of [1], e.g. the rules given in [2] and [3].
Parameters:
lambda double - Step size
Wmax double - Maximum allowed weight, note that this scales each
weight update
alpha double - Determine shape of depression term
mu_plus double - Set weight dependency of facilitating update
mu_minus double - Set weight dependency of depressing update
tau_plus double - Time constant of STDP window, potentiation in ms
beta double - Set negative offset for both updates
(tau_minus is defined in the postsynaptic neuron.)
Transmits: SpikeEvent
References:
[1] Nessler, Bernhard, et al. "Bayesian computation emerges in generic
cortical microcircuits through spike-timing-dependent plasticity." PLoS
computational biology 9.4 (2013): e1003037.
[2] Legenstein, Robert, et al. "Assembly pointers for variable binding in
networks of spiking neurons." arXiv preprint arXiv:1611.03698 (2016).
[3] Jonke, Zeno, et al. "Feedback inhibition shapes emergent computational
properties of cortical microcircuit motifs." arXiv preprint
arXiv:1705.07614 (2017).
Adapted from stdp_synapse:
FirstVersion: March 2006
Author: Moritz Helias, Abigail Morrison
Adapted by: Philipp Weidel
Author: Michael Mueller
Adapted by: Loïc Jeanningros (loic.jeanningros@gmail.com)
SeeAlso: synapsedict, stdp_synapse
*/
/* BeginUserDocs: synapse, spike-timing-dependent plasticity

Short description
+++++++++++++++++

Synapse type for spike-timing dependent plasticity with additional additive factors.

Description
+++++++++++

jonke_synapse is a connector to create synapses with spike time
dependent plasticity. Unlike stdp_synapse, we use the update equations:

.. math::

\Delta w &= \lambda * w_{max} * (K_+(w) * F_+(t) - \beta) & \quad if t - t_j^(k) > 0
\Delta w &= \lambda * w_{max} * (-alpha * K_-(w) * F_-(t) - \beta) & \quad else

where

.. math::

K_+(w) &= \exp(\nu_+ w)
K_-(w) &= \exp(\nu_- w)

and

.. math::

F_+(t) &= \exp((t - t_j^(k))/\tau_+)
F_-(t) &= \exp((t - t_j^(k))/\tau_-)

This makes it possible to implement update rules which approximate the
rule of [1]_, e.g. the rules given in [2]_ and [3]_.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
rule of [1]_, e.g. the rules given in [2]_ and [3]_.
rule stated in [1]_, and for examples, the rules given in [2]_ and [3]_.


.. warning::

This synaptic plasticity rule does not take :doc:`precise spike timing <simulations_with_precise_spike_times>` into account. When calculating the weight update, the precise spike time part of the timestamp is ignored.

Parameters
++++++++++

========== ======== ======================================================
lambda double Step size
Wmax double Maximum allowed weight, note that this scales each
weight update
alpha double Determine shape of depression term
mu_plus double Set weight dependency of facilitating update
mu_minus double Set weight dependency of depressing update
tau_plus double Time constant of STDP window, potentiation in ms
beta double Set negative offset for both updates
========== ======== ======================================================

(tau_minus is defined in the postsynaptic neuron.)

Transmits
+++++++++

SpikeEvent

References
++++++++++

.. [1] Nessler, Bernhard, et al. "Bayesian computation emerges in generic
cortical microcircuits through spike-timing-dependent plasticity." PLoS
computational biology 9.4 (2013): e1003037.
.. [2] Legenstein, Robert, et al. "Assembly pointers for variable binding in
networks of spiking neurons." arXiv preprint arXiv:1611.03698 (2016).
.. [3] Jonke, Zeno, et al. "Feedback inhibition shapes emergent computational
properties of cortical microcircuit motifs." arXiv preprint
arXiv:1705.07614 (2017).

See also
++++++++

synapsedict, stdp_synapse

EndUserDocs */


/**
Expand Down
4 changes: 4 additions & 0 deletions models/quantal_stp_synapse.h
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,10 @@ 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.

.. warning::

This synaptic plasticity rule does not take :doc:`precise spike timing <simulations_with_precise_spike_times>` into account. When calculating the weight update, the precise spike time part of the timestamp is ignored.

Parameters
++++++++++

Expand Down
4 changes: 4 additions & 0 deletions models/stdp_dopamine_synapse.h
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,10 @@ 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.

.. warning::

This synaptic plasticity rule does not take :doc:`precise spike timing <simulations_with_precise_spike_times>` into account. When calculating the weight update, the precise spike time part of the timestamp is ignored.

Parameters
++++++++++

Expand Down
4 changes: 4 additions & 0 deletions models/stdp_nn_pre_centered_synapse.h
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,10 @@ occurrence, and is reset to 0 on a post-spike occurrence. The postsynaptic
trace (implemented on the postsynaptic neuron side) decays with the time
constant tau_minus and increases to 1 on a post-spike occurrence.

.. warning::

This synaptic plasticity rule does not take :doc:`precise spike timing <simulations_with_precise_spike_times>` into account. When calculating the weight update, the precise spike time part of the timestamp is ignored.

Parameters
++++++++++

Expand Down
4 changes: 4 additions & 0 deletions models/stdp_nn_restr_synapse.h
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,10 @@ eligibility trace [1]_ (implemented on the postsynaptic neuron side). It
decays exponentially with the time constant tau_minus and increases to 1 on
a post-spike occurrence (instead of increasing by 1 as in stdp_synapse).

.. warning::

This synaptic plasticity rule does not take :doc:`precise spike timing <simulations_with_precise_spike_times>` into account. When calculating the weight update, the precise spike time part of the timestamp is ignored.

Parameters
++++++++++

Expand Down
4 changes: 4 additions & 0 deletions models/stdp_nn_symm_synapse.h
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,10 @@ occurrence. The postsynaptic trace (implemented on the postsynaptic neuron
side) decays with the time constant tau_minus and increases to 1 on a
post-spike occurrence.

.. warning::

This synaptic plasticity rule does not take :doc:`precise spike timing <simulations_with_precise_spike_times>` into account. When calculating the weight update, the precise spike time part of the timestamp is ignored.

Parameters
++++++++++

Expand Down
4 changes: 4 additions & 0 deletions models/stdp_pl_synapse_hom.h
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,10 @@ Parameters
The parameters can only be set by SetDefaults and apply to all synapses of
the model.

.. warning::

This synaptic plasticity rule does not take :doc:`precise spike timing <simulations_with_precise_spike_times>` into account. When calculating the weight update, the precise spike time part of the timestamp is ignored.

References
++++++++++

Expand Down
4 changes: 4 additions & 0 deletions models/stdp_synapse.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,10 @@ 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.

.. warning::

This synaptic plasticity rule does not take :doc:`precise spike timing <simulations_with_precise_spike_times>` into account. When calculating the weight update, the precise spike time part of the timestamp is ignored.

Parameters
++++++++++

Expand Down
4 changes: 4 additions & 0 deletions models/stdp_synapse_facetshw_hom.h
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,10 @@ 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_synapse_hom.

.. warning::

This synaptic plasticity rule does not take :doc:`precise spike timing <simulations_with_precise_spike_times>` into account. When calculating the weight update, the precise spike time part of the timestamp is ignored.

Parameters
++++++++++

Expand Down
4 changes: 4 additions & 0 deletions models/stdp_synapse_hom.h
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,10 @@ exponent can be set separately for potentiation and depression.
* Guetig STDP [1]_ mu_plus = mu_minus = [0.0,1.0]
* van Rossum STDP [4]_ mu_plus = 0.0 mu_minus = 1.0

.. warning::

This synaptic plasticity rule does not take :doc:`precise spike timing <simulations_with_precise_spike_times>` into account. When calculating the weight update, the precise spike time part of the timestamp is ignored.

Parameters
++++++++++

Expand Down
4 changes: 4 additions & 0 deletions models/stdp_triplet_synapse.h
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,10 @@ plasticity accounting for spike triplet effects (as defined in [1]_).
without changing the postsynaptic archiving-node (clip the traces to a
maximum of 1).

.. warning::

This synaptic plasticity rule does not take :doc:`precise spike timing <simulations_with_precise_spike_times>` into account. When calculating the weight update, the precise spike time part of the timestamp is ignored.

Parameters
++++++++++

Expand Down
4 changes: 4 additions & 0 deletions models/tsodyks2_synapse.h
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,10 @@ 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.

.. warning::

This synaptic plasticity rule does not take :doc:`precise spike timing <simulations_with_precise_spike_times>` into account. When calculating the weight update, the precise spike time part of the timestamp is ignored.

Parameters
++++++++++

Expand Down
4 changes: 4 additions & 0 deletions models/tsodyks_synapse.h
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,10 @@ 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).

.. warning::

This synaptic plasticity rule does not take :doc:`precise spike timing <simulations_with_precise_spike_times>` into account. When calculating the weight update, the precise spike time part of the timestamp is ignored.

Parameters
++++++++++

Expand Down
4 changes: 4 additions & 0 deletions models/tsodyks_synapse_hom.h
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,10 @@ 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).

.. warning::

This synaptic plasticity rule does not take :doc:`precise spike timing <simulations_with_precise_spike_times>` into account. When calculating the weight update, the precise spike time part of the timestamp is ignored.

Parameters
++++++++++

Expand Down
4 changes: 4 additions & 0 deletions models/urbanczik_synapse.h
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,10 @@ which is continuous in time. Therefore they can only be connected to neuron
models that are capable of doing this archiving. So far, the only compatible
model is :doc:`pp_cond_exp_mc_urbanczik <pp_cond_exp_mc_urbanczik>`.

.. warning::

This synaptic plasticity rule does not take :doc:`precise spike timing <simulations_with_precise_spike_times>` into account. When calculating the weight update, the precise spike time part of the timestamp is ignored.

Parameters
++++++++++

Expand Down
4 changes: 4 additions & 0 deletions models/vogels_sprekeler_synapse.h
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,10 @@ irrespective of the order of the pre- and postsynaptic spikes. Each
pre-synaptic spike also causes a constant depression of the synaptic weight
which differentiates this rule from other classical stdp rules.

.. warning::

This synaptic plasticity rule does not take :doc:`precise spike timing <simulations_with_precise_spike_times>` into account. When calculating the weight update, the precise spike time part of the timestamp is ignored.

Parameters
++++++++++

Expand Down