STDP (spike timing dependent plasticity) is a learning rule for changing the synaptic weights between neurons. It is Hebbian-like in that the weight changes depend on the coincidence of pre- and post-synaptic spikes, but it includes a notion of causation in that the synapse is strengthened if a presynaptic spike precedes a postsynaptic spike, but the synapse is weakened if a postsynaptic spike precedes a presynaptic spike.

Rate neurons are often used in simulations because they are computationally cheap compared to simulating spiking neurons. In order to implement STDP, spikes are generated using an inhomogeneous Poisson process with the rate parameter defined by the current rate of the rate neuron.

What I would like to know is whether a shortcut has been developed to calculate the weight changes due to STDP directly from the temporal dynamics of the pre- and post-synaptic weights without having to explicitly generate spike times through a poisson process.

Any help?

  • $\begingroup$ I will write a more complete answer later, but I'll let you know right now that Trevor Bekolay's master thesis covers STDP learning and that it can be easily applied to rate neurons using the NEF. $\endgroup$ – Seanny123 Jun 3 '15 at 17:10

The appropriate way to do this is to find the cross-correlation of the time series of rates of the two neurons. Then take the dot product of the cross correlation with the STDP kernel (i.e., the integral of the correspondence at each point in the STDP window between how much STDP "likes" cross correlation at that lag and how much cross correlation there actually was at that lag). This gives a value that, when properly scaled, tells you the amount of weight change that synapse should receive.


In the first panel, the rates of two neurons in a simulation are shown in blue and red respectively. A zoomed in view is shown (top middle) to emphasize that the blue neuron increases in firing rate slightly before red neuron. The cross-correlation is plotted on bottom left. A zoomed in view (bottom middle) emphasizes that the peak of the cross-correlation is slightly negative, corresponding to the fact that the blue neuron leads the red neuron. We look at the cross-correlation just at lags where STDP is relevant (in this case +/- 100 ms, top right) and there is more correlation at slight negative lags, corresponding to the tendency of the blue neuron to lead. We then multiply each lag in the cross-correlogram (top right) with the STDP kernel (bottom right) and sum over all relevant lags (between +/-100 ms) to get the value of the synaptic weight change. We can do this because we assume that the likelihood of having a spike lag of a certain amount is proportional to the cross-correlation of the rates at that lag (as probability of spiking is proportional to spike rate). In this particular case, the weight change will be positive because there is cross-correlation during the positive part of the STDP kernel (lags <0) is greater than the cross-correlation during the negative part of the STDP kernel (lags >0).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.