I’m looking to move beyond traditional "frame-based" AI and explore Spiking Neural Networks (SNNs) for a robotics project. My goal is to use neuromorphic principles for lower-latency decision-making and better energy efficiency at the edge. However, the learning curve is steep—specifically regarding how to convert standard sensor data into spike trains (encoding) and how to train these networks without standard backpropagation. Should I use a framework like snnTorch or SpikingJelly, and what is the current state of "surrogate gradients" for supervised learning in 2026? Are people actually seeing 100x efficiency gains in production, or is that still limited to specialized hardware like Intel's Loihi?
3 answers
Kimberly is right about the training, but don't underestimate the importance of the Neuron Model. Most people start with the Leaky Integrate-and-Fire (LIF) model because it's computationally cheap.
Implementing SNNs for decision-making requires a paradigm shift: you're no longer processing static tensors, but temporal events. In 2026, the standard workflow starts with Spike Encoding. You can't just feed in raw pixel values; you must use techniques like Rate Coding (frequency of spikes) or Latency Coding (timing of the first spike) to turn data into binary pulses.
For training, the "non-differentiable" nature of spikes (you can't take the derivative of a step function) is solved using Surrogate Gradients. This method allows you to use standard PyTorch/TensorFlow optimizers by "pretending" the spike has a smooth derivative during the backward pass. I highly recommend snnTorch for this—it’s built on PyTorch and makes SNNs feel like standard RNNs. On specialized neuromorphic chips, the 100x efficiency gain is real because the hardware only consumes power when a spike occurs (asynchronous, event-driven).
In my experience, the biggest hurdle is the SNN-to-ANN conversion vs. Direct Training. Conversion is easier for high accuracy, but Direct Training with surrogate gradients is what gives you that ultra-low latency.
I agree with Brian. If you need a "fast" decision (like an autonomous drone avoiding an obstacle), Direct Training is the only way to go. Check out the Lava framework by Intel; it’s specifically designed to bridge the gap between algorithmic SNN code and deployment on neuromorphic hardware like Loihi 2.
For decision-making in robotics, I actually prefer the Izhikevich model. It's slightly more complex but can mimic a wider variety of biological firing patterns (like "bursting"), which is crucial for handling noisy sensor data from event-based cameras. If you are deploying on CPU/GPU, the gains are smaller; the real magic happens when you pair an SNN with a Dynamic Vision Sensor (DVS). The DVS only sends spikes when pixels change, allowing your SNN to react to motion in microseconds rather than waiting for the next video frame.