CSIM: StdpSynapse Class Reference

StdpSynapse Class Reference

#include <stdpsynapse.h>

Inheritance diagram for StdpSynapse:

SpikingSynapse Synapse Advancable csimClass DynamicStdpSynapse GlutamateSynapse GlutamateSynapseSynchan StaticStdpSynapse DynamicGlutamateSynapse StaticGlutamateSynapse DynamicGlutamateSynapseSynchan StaticGlutamateSynapseSynchan List of all members.

Detailed Description

Base class for all spiking synapses with spike time dependent plasticity (STDP).

Implements the basic weight update for a time difference $Delta = t_{post}-t_{pre}$ with presynaptic spike at time $t_{pre}$ and postsynaptic spike at time $t_{post}$ . Then, the weight update is given by $dw = Apos * exp(-Delta/taupos)$ for $Delta > 0$ , and $dw = Aneg * exp(-Delta/tauneg)$ for $Delta < 0$ . (set $useFroemkeDanSTDP=0$ and $mupos=muneg=0$ for this basic update rule).

It is also possible to use an extended multiplicative update by changing mupos and muneg. Then $dw = (Wex-W)^{mupos} * Apos * exp(-Delta/taupos)$ for $Delta > 0$ and $dw = W^{mupos} * Aneg * exp(Delta/tauneg)$ for $Delta < 0$ . (see Guetig, Aharonov, Rotter and Sompolinsky (2003). Learning input correlations through non-linear asymmetric Hebbian plasticity. Journal of Neuroscience 23. pp.3697-3714.)

Set $useFroemkeDanSTDP=1$ (this is the default value) and use $tauspost$ and $tauspre$ for the rule given in Froemke and Dan (2002). Spike-timing-dependent synaptic modification induced by natural spike trains. Nature 416 (3/2002).

Public Member Functions

  • StdpSynapse (void)
    The constructor ...
  • virtual int preSpikeHit (void)
    Called if the postsynaptic spikes hits (arrives at) the synapse.
  • virtual int postSpikeHit (void)
    Called if the postsynaptic spikes hits (arrives at) the synapse (inherited from NeedsPostSpikeSynapse).
  • virtual int addIncoming (Advancable *a)
    connect the presynaptic neuron
  • virtual int addOutgoing (Advancable *a)
    connect the postsynaptic neuron
  • virtual void stdpLearning (double delta, double epost, double epre)
    The method which does the actual STDP learning, i.e. changes one (ore more) parameters of the synapse.
  • virtual void stdpChangePSR (void)
    Defines the model (static, dynamic) how the PSR is increased if a spike hits the synapse.

Public Attributes

  • float back_delay
    Delay of dendritic backpropagating spike (the synapse sees the postsynaptic spike delayed by back_delay [units=sec].
  • float tauspost
    Used for extended rule by Froemke and Dan. See Froemke and Dan (2002). Spike-timing-dependent synaptic modification induced by natural spike trains. Nature 416 (3/2002).
  • float tauspre
    Used for extended rule by Froemke and Dan.
  • float taupos
    Timeconstant of exponential decay of positive learning window for STDP.
  • float tauneg
    Timeconstant of exponential decay of negative learning window for STDP.
  • float STDPgap
    No learning is performed if $|Delta| = |t_{post}-t_{pre}| < STDPgap$.
  • int activeSTDP
    Set to 1 to activate STDP-learning. No learning is performed if set to 0.
  • int useFroemkeDanSTDP
    activate extended rule by Froemke and Dan (default=1)
  • float Wex
    The maximal/minimal weight of the synapse [readwrite; units=;].
  • float Aneg
    Defines the peak of the negative exponential learning window.
  • float Apos
    Defines the peak of the positive exponential learning window.
  • float mupos
    Extended multiplicative positive update: $dw = (Wex-W)^{mupos} * Apos * exp(-Delta/taupos)$ . Set to 0 for basic update. See Guetig, Aharonov, Rotter and Sompolinsky (2003). Learning input correlations through non-linear asymmetric Hebbian plasticity. Journal of Neuroscience 23. pp.3697-3714.
  • float muneg
    Extended multiplicative negative update: $dw = W^{mupos} * Aneg * exp(Delta/tauneg)$ . Set to 0 for basic update.

Member Function Documentation

int StdpSynapse::postSpikeHit void   )  [virtual]
 

Called if the postsynaptic spikes hits (arrives at) the synapse (inherited from NeedsPostSpikeSynapse).

Call the learning function for each pair of post-pre spikes

int StdpSynapse::preSpikeHit void   )  [virtual]
 

Called if the postsynaptic spikes hits (arrives at) the synapse.

Calls the learning function for each pair of pre-post spikes and than does the usual increase of the PSR

Reimplemented from SpikingSynapse.


 
(C) 2003, Thomas Natschläger last modified 07/10/2006