Bellec et al., A solution to the learning dilemma for recurrent networks of spiking neurons, Nature Communications 2020
Backpropagation through time can train a recurrent net, but it needs the whole trajectory stored and then walked backwards. Brains, and most neuromorphic chips, do not get that luxury.
Bellec et al. factor the loss gradient into two local pieces that can be computed online:
ejit is an eligibility trace that accumulates how past inputs shaped neuron j. Ljt is a learning signal that arrives when the loss is known. Multiply them at each step and you never send an error backwards through time.
You will build the leaky rate neuron the paper reduces to in the simple case, the eligibility recursion, the symmetric learning signal, and then train on a delayed XOR that is at chance without eligibility.
The simplest neuron model the e-prop derivation applies to.
A leaky rate unit keeps a filtered version of its past:
The local factor that multiplies the eligibility trace is , the derivative of .
Implement leaky_step(train_df) on these fixed values (ignore train_df):
alpha = 0.9 h = z_prev = x = = Win = ) * 0.5 Wrec = ) * 0.2 np.fill_diagonal(Wrec, 0)
Return h, z, and psi, each a list of four floats rounded to 6 places.
Evaluated server-side against a hidden test set.