NELGMLNov 22, 2019

Technical report: supervised training of convolutional spiking neural networks with PyTorch

arXiv:1911.10124v134 citationsHas Code
Originality Incremental advance
AI Analysis

This work addresses the challenge of implementing efficient and accurate SNNs for speech classification, though it is incremental by extending previous methods to convolutional layers and adding fast horizontal connections.

The paper tackles the problem of training convolutional spiking neural networks (SNNs) efficiently using supervised backpropagation through time, achieving nearly state-of-the-art accuracy of 94% on the Google speech command dataset while maintaining low firing rates of about 5Hz.

Recently, it has been shown that spiking neural networks (SNNs) can be trained efficiently, in a supervised manner, using backpropagation through time. Indeed, the most commonly used spiking neuron model, the leaky integrate-and-fire neuron, obeys a differential equation which can be approximated using discrete time steps, leading to a recurrent relation for the potential. The firing threshold causes optimization issues, but they can be overcome using a surrogate gradient. Here, we extend previous approaches in two ways. Firstly, we show that the approach can be used to train convolutional layers. Convolutions can be done in space, time (which simulates conduction delays), or both. Secondly, we include fast horizontal connections à la Denève: when a neuron N fires, we subtract to the potentials of all the neurons with the same receptive the dot product between their weight vectors and the one of neuron N. As Denève et al. showed, this is useful to represent a dynamic multidimensional analog signal in a population of spiking neurons. Here we demonstrate that, in addition, such connections also allow implementing a multidimensional send-on-delta coding scheme. We validate our approach on one speech classification benchmarks: the Google speech command dataset. We managed to reach nearly state-of-the-art accuracy (94%) while maintaining low firing rates (about 5Hz). Our code is based on PyTorch and is available in open source at http://github.com/romainzimmer/s2net

Code Implementations2 repos
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes