Research SuperSpike learning rule for SNNBot gun aiming #156

Closed
opened 2026-09-13 19:19:50 +02:00 by SirStone · 1 comment
Owner

Question

Can the SuperSpike learning rule (Zenke & Ganguli, arXiv:1705.11146) replace R-STDP in SNNBot's 36→12→2 SNN for angle regression? Specifically:

  • What is the exact three-factor update rule (pre trace × surrogate derivative × error signal)?
  • What surrogate derivative function works best and what are its hyperparameters?
  • How does the error signal flow in a two-layer feedforward SNN with sin/cos output decoding?
  • What learning rates and time constants does the paper recommend?
  • Is the rule purely local (no backprop needed)?

Context: Current R-STDP converges too slowly and gets stuck in local minima (~92° or ~103° error). The network occasionally finds near-perfect aim but can't lock it in because R-STDP lacks directional gradient information.

Related to wayfinder map #147.

## Question Can the SuperSpike learning rule (Zenke & Ganguli, arXiv:1705.11146) replace R-STDP in SNNBot's 36→12→2 SNN for angle regression? Specifically: - What is the exact three-factor update rule (pre trace × surrogate derivative × error signal)? - What surrogate derivative function works best and what are its hyperparameters? - How does the error signal flow in a two-layer feedforward SNN with sin/cos output decoding? - What learning rates and time constants does the paper recommend? - Is the rule purely local (no backprop needed)? Context: Current R-STDP converges too slowly and gets stuck in local minima (~92° or ~103° error). The network occasionally finds near-perfect aim but can't lock it in because R-STDP lacks directional gradient information. Related to wayfinder map [#147](https://git.fossellini.top/SirStone/SirRoboGarage/issues/147).
SirStone added the wayfinder:research label 2026-09-13 19:19:50 +02:00
Author
Owner

Resolution

SuperSpike (Zenke & Ganguli 2018) is the right fit. Key findings:

Learning rule: Δw_ij = r × ∫ e_i(s) · σ'(U_i(s)) · (ε * S_j)(s) ds

  • Surrogate derivative: σ'(U) = (1 + |β(U − ϑ)|)^{−2} (fast sigmoid derivative, peaks at threshold)
  • Error signal: filtered spike-train difference e_i(t) = α * (Ŝ_i − S_i)(t)
  • Purely local per synapse — no autograd needed
  • Single hidden layer with random feedback projection works

Hyperparameters: τ_mem=10ms, τ_syn=5ms, τ_ref=5ms, r_0∈{0.1–10}×10⁻³, β=1mV⁻¹, weight bounds ±0.1

For our topology (36→12→2): Convert desired angle to Poisson target spike trains on sin/cos output neurons. Random feedback weights from output error to hidden layer. Each synapse updates locally.

Full research: SNNBot_garage/research/superspike.md on branch research/superspike

## Resolution SuperSpike (Zenke & Ganguli 2018) is the right fit. Key findings: **Learning rule:** `Δw_ij = r × ∫ e_i(s) · σ'(U_i(s)) · (ε * S_j)(s) ds` - Surrogate derivative: `σ'(U) = (1 + |β(U − ϑ)|)^{−2}` (fast sigmoid derivative, peaks at threshold) - Error signal: filtered spike-train difference `e_i(t) = α * (Ŝ_i − S_i)(t)` - Purely local per synapse — no autograd needed - Single hidden layer with random feedback projection works **Hyperparameters:** τ_mem=10ms, τ_syn=5ms, τ_ref=5ms, r_0∈{0.1–10}×10⁻³, β=1mV⁻¹, weight bounds ±0.1 **For our topology (36→12→2):** Convert desired angle to Poisson target spike trains on sin/cos output neurons. Random feedback weights from output error to hidden layer. Each synapse updates locally. Full research: `SNNBot_garage/research/superspike.md` on branch `research/superspike`
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SirStone/SirRoboGarage#156