Training spiking multi-layer networks with surrogate gradients on an analog neuromorphic substrate

Spiking neural networks are nature's solution for parallel information processing with high temporal precision at a low metabolic energy cost. To that end, biological neurons integrate inputs as an analog sum and communicate their outputs digitally as spikes, i.e., sparse binary events in time. These architectural principles can be mirrored effectively in analog neuromorphic hardware. Nevertheless, training spiking neural networks with sparse activity on hardware devices remains a major challenge. Primarily this is due to the lack of suitable training methods that take into account device-specific imperfections and operate at the level of individual spikes instead of firing rates. To tackle this issue, we developed a hardware-in-the-loop strategy to train multi-layer spiking networks using surrogate gradients on the analog BrainScales-2 chip. Specifically, we used the hardware to compute the forward pass of the network, while the backward pass was computed in software. We evaluated our approach on downscaled 16x16 versions of the MNIST and the fashion MNIST datasets in which spike latencies encoded pixel intensities. The analog neuromorphic substrate closely matched the performance of equivalently sized networks implemented in software. It is capable of processing 70 k patterns per second with a power consumption of less than 300 mW. Added activity regularization resulted in sparse network activity with about 20 spikes per input, at little to no reduction in classification performance. Thus, overall, our work demonstrates low-energy spiking network processing on an analog neuromorphic substrate and sets several new benchmarks for hardware systems in terms of classification accuracy, processing speed, and efficiency. Importantly, our work emphasizes the value of hardware-in-the-loop training and paves the way toward energy-efficient information processing on non-von-Neumann architectures.

[1]  Timothy P Lillicrap,et al.  Towards deep learning with segregated dendrites , 2016, eLife.

[2]  Mike E. Davies,et al.  Benchmarks for progress in neuromorphic computing , 2019, Nature Machine Intelligence.

[3]  Sander M. Bohte,et al.  Efficient Computation in Adaptive Artificial Spiking Neural Networks , 2017, ArXiv.

[4]  Federico Corradi,et al.  Effective and Efficient Computation with Multiple-timescale Spiking Recurrent Neural Networks , 2020, ICONS.

[5]  Garrick Orchard,et al.  SLAYER: Spike Layer Error Reassignment in Time , 2018, NeurIPS.

[6]  Walter Senn,et al.  Fast and deep neuromorphic learning with time-to-first-spike coding , 2019, ArXiv.

[7]  Andrew S. Cassidy,et al.  Convolutional networks for fast, energy-efficient neuromorphic computing , 2016, Proceedings of the National Academy of Sciences.

[8]  H. Sompolinsky,et al.  The tempotron: a neuron that learns spike timing–based decisions , 2006, Nature Neuroscience.

[9]  Hesham Mostafa,et al.  Supervised Learning Based on Temporal Coding in Spiking Neural Networks , 2016, IEEE Transactions on Neural Networks and Learning Systems.

[10]  Robert A. Legenstein,et al.  Neuromorphic hardware in the loop: Training a deep spiking network on the BrainScaleS wafer-scale system , 2017, 2017 International Joint Conference on Neural Networks (IJCNN).

[11]  Hesham Mostafa,et al.  Surrogate Gradient Learning in Spiking Neural Networks: Bringing the Power of Gradient-based optimization to spiking neural networks , 2019, IEEE Signal Processing Magazine.

[12]  Steve B. Furber,et al.  Robustness of spiking Deep Belief Networks to noise and reduced bit precision of neuro-inspired hardware platforms , 2015, Front. Neurosci..

[13]  Robert A. Legenstein,et al.  Long short-term memory and Learning-to-learn in networks of spiking neurons , 2018, NeurIPS.

[14]  Tobi Delbrück,et al.  Closing the Accuracy Gap in an Event-Based Visual Recognition Task , 2019, ArXiv.

[15]  Peter Sterling,et al.  Principles of Neural Design , 2015 .

[16]  Richard Naud,et al.  Burst-dependent synaptic plasticity can coordinate learning in hierarchical circuits , 2020, Nature Neuroscience.

[17]  Michael Pfeiffer,et al.  Deep Learning With Spiking Neurons: Opportunities and Challenges , 2018, Front. Neurosci..

[18]  Geoffrey E. Hinton,et al.  A Learning Algorithm for Boltzmann Machines , 1985, Cogn. Sci..

[19]  Chris Eliasmith,et al.  Spiking Deep Networks with LIF Neurons , 2015, ArXiv.

[20]  Roland Vollgraf,et al.  Fashion-MNIST: a Novel Image Dataset for Benchmarking Machine Learning Algorithms , 2017, ArXiv.

[21]  Terrence J. Sejnowski,et al.  Gradient Descent for Spiking Neural Networks , 2017, NeurIPS.

[22]  Max Welling,et al.  Deep Spiking Networks , 2016, ArXiv.

[23]  Ran El-Yaniv,et al.  Binarized Neural Networks , 2016, NIPS.

[24]  Chiara Bartolozzi,et al.  Neuromorphic Electronic Circuits for Building Autonomous Cognitive Systems , 2014, Proceedings of the IEEE.

[25]  Jian Sun,et al.  Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification , 2015, 2015 IEEE International Conference on Computer Vision (ICCV).

[26]  Timo Wunderlich,et al.  Extending BrainScaleS OS for BrainScaleS-2 , 2020, ArXiv.

[27]  Hong Wang,et al.  Programming Spiking Neural Networks on Intel’s Loihi , 2018, Computer.

[28]  David Bol,et al.  A 0.086-mm2 12.7-pJ/SOP 64k-Synapse 256-Neuron Online-Learning Digital Spiking Neuromorphic Processor in 28-nm CMOS , 2019, IEEE Trans. Biomed. Circuits Syst..

[29]  Jimmy Ba,et al.  Adam: A Method for Stochastic Optimization , 2014, ICLR.

[30]  Evangelos S. Eleftheriou,et al.  Deep learning incorporating biologically-inspired neural dynamics , 2018 .

[31]  Emre O. Neftci,et al.  Data and Power Efficient Intelligence with Neuromorphic Learning Machines , 2018, iScience.

[32]  Viola Priesemann,et al.  Control of criticality and computation in spiking neuromorphic networks with plasticity , 2020, Nature Communications.

[33]  Johannes Schemmel,et al.  A Mixed-Signal Structured AdEx Neuron for Accelerated Neuromorphic Cores , 2018, IEEE Transactions on Biomedical Circuits and Systems.

[34]  Yannik Stradmann,et al.  The Heidelberg spiking datasets for the systematic evaluation of spiking neural networks , 2019, ArXiv.

[35]  Jyrki Alakuijala,et al.  Temporal Coding in Spiking Neural Networks with Alpha Synaptic Function , 2019, ICASSP 2020 - 2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP).

[36]  Jim D. Garside,et al.  Overview of the SpiNNaker System Architecture , 2013, IEEE Transactions on Computers.

[37]  W. Senn,et al.  Matching Recall and Storage in Sequence Learning with Spiking Neural Networks , 2013, The Journal of Neuroscience.

[38]  Yoshua Bengio,et al.  Estimating or Propagating Gradients Through Stochastic Neurons for Conditional Computation , 2013, ArXiv.

[39]  Giacomo Indiveri,et al.  A Scalable Multicore Architecture With Heterogeneous Memory Structures for Dynamic Neuromorphic Asynchronous Processors (DYNAPs) , 2017, IEEE Transactions on Biomedical Circuits and Systems.

[40]  Hong Wang,et al.  Loihi: A Neuromorphic Manycore Processor with On-Chip Learning , 2018, IEEE Micro.

[41]  Gregory K. Chen,et al.  A 4096-Neuron 1M-Synapse 3.8-pJ/SOP Spiking Neural Network With On-Chip STDP Learning and Sparse Weights in 10-nm FinFET CMOS , 2019, IEEE Journal of Solid-State Circuits.

[42]  Wulfram Gerstner,et al.  Stochastic variational learning in recurrent spiking networks , 2014, Front. Comput. Neurosci..

[43]  Sander M. Bohte,et al.  Error-backpropagation in temporally encoded networks of spiking neurons , 2000, Neurocomputing.

[44]  Johannes Schemmel,et al.  Demonstrating Hybrid Learning in a Flexible Neuromorphic Hardware System , 2016, IEEE Transactions on Biomedical Circuits and Systems.

[45]  Chaitali Chakrabarti,et al.  Algorithm and hardware design of discrete-time spiking neural networks based on back propagation with binary activations , 2017, 2017 IEEE Biomedical Circuits and Systems Conference (BioCAS).

[46]  Mihai A. Petrovici,et al.  Structural plasticity on an accelerated analog neuromorphic hardware system , 2019, Neural Networks.

[47]  Surya Ganguli,et al.  SuperSpike: Supervised Learning in Multilayer Spiking Neural Networks , 2017, Neural Computation.

[48]  Wolfgang Maass,et al.  Optimized spiking neurons can classify images with high accuracy through temporal coding with two spikes , 2020, Nature Machine Intelligence.

[49]  Somnath Paul,et al.  Event-Driven Random Back-Propagation: Enabling Neuromorphic Deep Learning Machines , 2016, Front. Neurosci..

[50]  Sander M. Bohte,et al.  Error-Backpropagation in Networks of Fractionally Predictive Spiking Neurons , 2011, ICANN.

[51]  R. Douglas,et al.  A silicon neuron , 1991, Nature.

[52]  Kwabena Boahen,et al.  A Neuromorph's Prospectus , 2017, Computing in Science & Engineering.

[53]  Yann LeCun,et al.  1.1 Deep Learning Hardware: Past, Present, and Future , 2019, 2019 IEEE International Solid- State Circuits Conference - (ISSCC).

[54]  Timothée Masquelier,et al.  Deep Learning in Spiking Neural Networks , 2018, Neural Networks.

[55]  Bernard Brezzo,et al.  TrueNorth: Design and Tool Flow of a 65 mW 1 Million Neuron Programmable Neurosynaptic Chip , 2015, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[56]  Tobi Delbrück,et al.  Training Deep Spiking Neural Networks Using Backpropagation , 2016, Front. Neurosci..

[57]  Evangelos Eleftheriou,et al.  Deep Networks Incorporating Spiking Neural Dynamics , 2018, ArXiv.

[58]  Haim Sompolinsky,et al.  Learning Precisely Timed Spikes , 2014, Neuron.

[59]  Kaushik Roy,et al.  Towards spike-based machine intelligence with neuromorphic computing , 2019, Nature.

[60]  Wolfgang Maass,et al.  Classifying Images with Few Spikes per Neuron , 2020, ArXiv.

[61]  André Grüning,et al.  Supervised Learning in Spiking Neural Networks for Precise Temporal Encoding , 2016, PloS one.

[62]  Johannes Schemmel,et al.  A wafer-scale neuromorphic hardware system for large-scale neural modeling , 2010, Proceedings of 2010 IEEE International Symposium on Circuits and Systems.

[63]  Abbas Nowzari-Dalini,et al.  SpykeTorch: Efficient Simulation of Convolutional Spiking Neural Networks With at Most One Spike per Neuron , 2019, Front. Neurosci..

[64]  Andreas Hartel,et al.  Versatile emulation of spiking neural networks on an accelerated neuromorphic substrate , 2020, ISCAS.

[65]  Natalia Gimelshein,et al.  PyTorch: An Imperative Style, High-Performance Deep Learning Library , 2019, NeurIPS.