STDP
models.Synapses.STDP(self,
=20.0,
tau_plus=20.0,
tau_minus=0.01,
A_plus=0.01,
A_minus=0.0,
w_min=1.0,
w_max )
Spike-timing dependent plasticity, online version.
Song, S., and Abbott, L.F. (2001). Cortical development and remapping through spike timing-dependent plasticity. Neuron 32, 339-350.
Parameters (global):
- tau_plus = 20.0 : time constant of the pre-synaptic trace (ms)
- tau_minus = 20.0 : time constant of the pre-synaptic trace (ms)
- A_plus = 0.01 : increase of the pre-synaptic trace after a spike.
- A_minus = 0.01 : decrease of the post-synaptic trace after a spike.
- w_min = 0.0 : minimal value of the weight w.
- w_max = 1.0 : maximal value of the weight w.
Variables:
- x : pre-synaptic trace:
tau_plus * dx/dt = -x
- y: post-synaptic trace:
tau_minus * dy/dt = -y
Both variables are evaluated event-driven.
Pre-spike events:
g_target += w
x += A_plus * w_max
w = clip(w + y, w_min , w_max)
Post-spike events::
y -= A_minus * w_max
w = clip(w + x, w_min , w_max)
Equivalent code:
= ann.Synapse(
STDP = """
parameters tau_plus = 20.0 : projection
tau_minus = 20.0 : projection
A_plus = 0.01 : projection
A_minus = 0.01 : projection
w_min = 0.0 : projection
w_max = 1.0 : projection
""",
= """
equations tau_plus * dx/dt = -x : event-driven
tau_minus * dy/dt = -y : event-driven
""",
="""
pre_spike g_target += w
x += A_plus * w_max
w = clip(w + y, w_min , w_max)
""",
="""
post_spike y -= A_minus * w_max
w = clip(w + x, w_min , w_max)
"""
)