Module pypcsim :: Class StaticStdpSynapse
[hide private]
[frames] | no frames]

Class StaticStdpSynapse

                                  object --+                                    
                                           |                                    
                                 ??.instance --+                                
                                               |                                
                                SimObjectFactory --+                            
                                                   |                            
                                           SimObject --+                        
                                                       |                        
                                     FiniteSpikeResponse --+                    
                                                           |                    
                               ExponentialDecaySpikeResponse --+                
                                                               |                
                                        CuBaSyn_ExponentialDecay --+            
                                                                   |            
                                  StaticSyn_CuBaSyn_ExponentialDecay --+        
                                                                       |        
                  EachPairStdpSynapse_StaticSyn_CuBaSyn_ExponentialDecay --+    
                                                                           |    
FroemkeDanStdpSynapse_EachPairStdpSynapse_StaticSyn_CuBaSyn_ExponentialDecay --+
                                                                               |
                                                                              StaticStdpSynapse

Help on StaticStdpSynapse [class]:
Static synapse implementing STDP plasticity. 

 STDP is due to Froemke and Dan Nature 416 (32002). 
 Implements the basic weight update for a time difference \f$Delta = 
 t_{post}-t_{pre}\f$ with presynaptic spike at time \f$t_{pre}\f$ and 
 postsynaptic spike at time \f$t_{post}\f$. Then, the weight update is given by 
 \f$dw = Apos  exp(-Deltataupos)\f$ for \f$Delta > 0\f$, and \f$dw = Aneg  
 exp(-Deltatauneg)\f$ for \f$Delta < 0\f$. (set \f$useFroemkeDanSTDP=0\f$ and 
 \f$mupos=muneg=0\f$ for this basic update rule). 
 
 It is also possible to use an 
 extended multiplicative update by changing mupos and muneg. Then \f$dw = 
 (Wex-W)^{mupos}  Apos  exp(-Deltataupos)\f$ for \f$Delta > 0\f$ and \f$dw = 
 W^{mupos}  Aneg  exp(Deltatauneg)\f$ for \f$Delta < 0\f$. (see Guetig, 
 Aharonov, Rotter and Sompolinsky (2003). Learning input correlations through 
 non-linear asymmetric Hebbian plasticity. Journal of Neuroscience 23. 
 pp.3697-3714.) 
 
 Set \f$useFroemkeDanSTDP=1\f$ (this is the default value) and 
 use \f$tauspost\f$ and \f$tauspre\f$ for the rule given in Froemke and Dan 
 (2002). Spike-timing-dependent synaptic modification induced by natural spike 
 trains. Nature 416 (32002).

Nested Classes [hide private]

Inherited from SimObject: ID, PortType

Instance Methods [hide private]
 
__init__(...)
Help on StaticStdpSynapse::StaticStdpSynapse(float const Winit=1.00000000000000006228159145777985641889706869279e-9, float const tau=3.00000000000000006245004513516505539882928133011e-3, float const delay=1.0000000000000000208166817117216851329430937767e-3, bool const useFroemkeDanSTDP=true, float const tauspost=5.00000000000000027755575615628913510590791702271e-2, float const tauspre=5.00000000000000027755575615628913510590791702271e-2, float const taupos=5.00000000000000027755575615628913510590791702271e-2, float const tauneg=5.00000000000000027755575615628913510590791702271e-2, float const STDPgap=2.00000000000000004163336342344337026588618755341e-3, int const activeSTDP=1, float const Wex=1.00000000000000002092256083012847267532663408929e-8, float const Aneg=-2.0000000000000000728643946309954831583310941312e-10, float const Apos=2.0000000000000000728643946309954831583310941312e-10, float const mupos=0.0, float const muneg=0.0, float const back_delay=0.0) [constructor]
 
create(...)

Inherited from FroemkeDanStdpSynapse_EachPairStdpSynapse_StaticSyn_CuBaSyn_ExponentialDecay: maxRelevantSpikeTimeDiff, stdpLearning

Inherited from EachPairStdpSynapse_StaticSyn_CuBaSyn_ExponentialDecay: incoming, inputPortType, postSpikeHit, preSpikeHit, reset, spikeHit

Inherited from StaticSyn_CuBaSyn_ExponentialDecay: getManagedDelay

Inherited from CuBaSyn_ExponentialDecay: advance, outgoing

Inherited from ExponentialDecaySpikeResponse: adjust, psrLength

Inherited from FiniteSpikeResponse: getAnalogOutput, isActive, nAnalogInputPorts, nAnalogOutputPorts, nSpikeInputPorts, nSpikeOutputPorts, outputPortType

Inherited from SimObject: check, deepCopy, getFieldOffset, init, owned_by_net, setAnalogInput, toBeActivated

Inherited from unreachable.instance: __new__

Inherited from object: __delattr__, __getattribute__, __hash__, __reduce__, __reduce_ex__, __repr__, __setattr__, __str__

Static Methods [hide private]
 
registerSimObject(...)
Help on static void StaticStdpSynapse::registerSimObject() [member function]
Class Variables [hide private]

Inherited from FroemkeDanStdpSynapse_EachPairStdpSynapse_StaticSyn_CuBaSyn_ExponentialDecay: __instance_size__

Inherited from SimObject: analog, spiking, undefined

Properties [hide private]

Inherited from FroemkeDanStdpSynapse_EachPairStdpSynapse_StaticSyn_CuBaSyn_ExponentialDecay: Aneg, Apos, STDPgap, Wex, muneg, mupos, tauneg, taupos, tauspost, tauspre, useFroemkeDanSTDP

Inherited from EachPairStdpSynapse_StaticSyn_CuBaSyn_ExponentialDecay: Winit, activeSTDP, back_delay

Inherited from StaticSyn_CuBaSyn_ExponentialDecay: W, delay

Inherited from ExponentialDecaySpikeResponse: tau

Inherited from FiniteSpikeResponse: psr

Inherited from object: __class__

Method Details [hide private]

__init__(...)
(Constructor)

 

Help on StaticStdpSynapse::StaticStdpSynapse(float const Winit=1.00000000000000006228159145777985641889706869279e-9, float const tau=3.00000000000000006245004513516505539882928133011e-3, float const delay=1.0000000000000000208166817117216851329430937767e-3, bool const useFroemkeDanSTDP=true, float const tauspost=5.00000000000000027755575615628913510590791702271e-2, float const tauspre=5.00000000000000027755575615628913510590791702271e-2, float const taupos=5.00000000000000027755575615628913510590791702271e-2, float const tauneg=5.00000000000000027755575615628913510590791702271e-2, float const STDPgap=2.00000000000000004163336342344337026588618755341e-3, int const activeSTDP=1, float const Wex=1.00000000000000002092256083012847267532663408929e-8, float const Aneg=-2.0000000000000000728643946309954831583310941312e-10, float const Apos=2.0000000000000000728643946309954831583310941312e-10, float const mupos=0.0, float const muneg=0.0, float const back_delay=0.0) [constructor]

Overrides: object.__init__

create(...)

 
Overrides: SimObjectFactory.create

registerSimObject(...)
Static Method

 

Help on static void StaticStdpSynapse::registerSimObject() [member function]

Overrides: ExponentialDecaySpikeResponse.registerSimObject