Efficient Hardware Acceleration of Sparsely Active Convolutional Spiking Neural Networks

Spiking neural networks (SNNs) compute in an event-based manner to achieve a more efficient computation than standard neural networks. In SNNs, neuronal outputs are not encoded as real-valued activations but as sequences of binary spikes. The motivation of using SNNs over conventional neural networks is rooted in the special computational aspects of spike-based processing, especially the high degree of sparsity of spikes. Well-established implementations of convolutional neural networks (CNNs) feature large spatial arrays of processing elements (PEs) that remain highly underutilized in the face of activation sparsity. We propose a novel architecture optimized for the processing of convolutional SNNs (CSNNs) featuring a high degree of sparsity. The proposed architecture consists of an array of PEs of the size of the kernel of a convolution and an intelligent spike queue that provides a high PE utilization. A constant flow of spikes is ensured by compressing the feature maps into queues that can then be processed spike-by-spike. This compression is performed at run-time, leading to a self-timed schedule. This allows the processing time to scale with the number of spikes. Also, a novel memory organization scheme is introduced to efficiently store and retrieve the membrane potentials of the individual neurons using multiple small parallel on-chip RAMs. Each RAM is hardwired to its PE, reducing switching circuitry. We implemented the proposed architecture on an FPGA and achieved a significant speedup compared to previously proposed SNN implementations (~10 times) while needing less hardware resources and maintaining a higher energy efficiency (~15 times).

[1]  Ardavan Pedram,et al.  Griffin: Rethinking Sparse Optimization for Deep Learning Architectures , 2021, 2022 IEEE International Symposium on High-Performance Computer Architecture (HPCA).

[2]  Shih-Chii Liu,et al.  Temporal Pattern Coding in Deep Spiking Neural Networks , 2021, 2021 International Joint Conference on Neural Networks (IJCNN).

[3]  K. Salama,et al.  Neural Coding in Spiking Neural Networks: A Comparative Study for Robust Neuromorphic Systems , 2021, Frontiers in Neuroscience.

[4]  Ryan Kastner,et al.  S2N2: A FPGA Accelerator for Streaming Spiking Neural Networks , 2021, FPGA.

[5]  Qinru Qiu,et al.  Encoding, Model, and Architecture: Systematic Optimization for Spiking Neural Network in FPGAs , 2020, 2020 IEEE/ACM International Conference On Computer Aided Design (ICCAD).

[6]  Kaushik Roy,et al.  Deep Spiking Neural Network: Energy Efficiency Through Time Based Coding , 2020, ECCV.

[7]  Rajeev Balasubramonian,et al.  SpinalFlow: An Architecture and Dataflow Tailored for Spiking Neural Networks , 2020, 2020 ACM/IEEE 47th Annual International Symposium on Computer Architecture (ISCA).

[8]  Weixia Xu,et al.  SIES: A Novel Implementation of Spiking Convolutional Neural Network Inference Engine on Field-Programmable Gate Array , 2020, Journal of Computer Science and Technology.

[9]  Bernabe Linares-Barranco,et al.  Asynchronous Spiking Neurons, the Natural Key to Exploit Temporal Sparsity , 2019, IEEE Journal on Emerging and Selected Topics in Circuits and Systems.

[10]  Kay Chen Tan,et al.  A Tandem Learning Rule for Effective Training and Rapid Inference of Deep Spiking Neural Networks , 2019, IEEE Transactions on Neural Networks and Learning Systems.

[11]  Lei Wang,et al.  A Systolic SNN Inference Accelerator and its Co-optimized Software Framework , 2019, ACM Great Lakes Symposium on VLSI.

[12]  Shasha Guo,et al.  ASIE: An Asynchronous SNN Inference Engine for AER Events Processing , 2019, 2019 25th IEEE International Symposium on Asynchronous Circuits and Systems (ASYNC).

[13]  Edith Beigné,et al.  Spiking Neural Networks Hardware Implementations and Challenges , 2019, ACM J. Emerg. Technol. Comput. Syst..

[14]  Kaushik Roy,et al.  Enabling Spike-Based Backpropagation for Training Deep Neural Network Architectures , 2019, Frontiers in Neuroscience.

[15]  Ricardo Tapiador-Morales,et al.  Neuromorphic LIF Row-by-Row Multiconvolution Processor for FPGA , 2019, IEEE Transactions on Biomedical Circuits and Systems.

[16]  Emre Neftci,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.

[17]  Tianshi Chen,et al.  Cambricon-S: Addressing Irregularity in Sparse Neural Networks through A Cooperative Software/Hardware Approach , 2018, 2018 51st Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[18]  Vivienne Sze,et al.  Eyeriss v2: A Flexible Accelerator for Emerging Deep Neural Networks on Mobile Devices , 2018, IEEE Journal on Emerging and Selected Topics in Circuits and Systems.

[19]  Shih-Chii Liu,et al.  Conversion of analog to spiking neural networks using sparse temporal coding , 2018, 2018 IEEE International Symposium on Circuits and Systems (ISCAS).

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

[21]  Kaushik Roy,et al.  Going Deeper in Spiking Neural Networks: VGG and Residual Architectures , 2018, Front. Neurosci..

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

[23]  Bo Chen,et al.  Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference , 2017, 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition.

[24]  Shih-Chii Liu,et al.  Conversion of Continuous-Valued Deep Networks to Efficient Event-Driven Networks for Image Classification , 2017, Front. Neurosci..

[25]  William J. Dally,et al.  SCNN: An accelerator for compressed-sparse convolutional neural networks , 2017, 2017 ACM/IEEE 44th Annual International Symposium on Computer Architecture (ISCA).

[26]  Gert Cauwenberghs,et al.  Fast classification using sparsely active spiking networks , 2017, 2017 IEEE International Symposium on Circuits and Systems (ISCAS).

[27]  Bo Chen,et al.  MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications , 2017, ArXiv.

[28]  Vivienne Sze,et al.  Efficient Processing of Deep Neural Networks: A Tutorial and Survey , 2017, Proceedings of the IEEE.

[29]  V. Sze,et al.  Hardware for machine learning: Challenges and opportunities , 2016, 2018 IEEE Custom Integrated Circuits Conference (CICC).

[30]  Jian Sun,et al.  Deep Residual Learning for Image Recognition , 2015, 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).

[31]  Sergey Ioffe,et al.  Rethinking the Inception Architecture for Computer Vision , 2015, 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).

[32]  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.

[33]  Andrew Zisserman,et al.  Very Deep Convolutional Networks for Large-Scale Image Recognition , 2014, ICLR.

[34]  Jürgen Schmidhuber,et al.  Deep learning in neural networks: An overview , 2014, Neural Networks.

[35]  Mark Horowitz,et al.  1.1 Computing's energy problem (and what we can do about it) , 2014, 2014 IEEE International Solid-State Circuits Conference Digest of Technical Papers (ISSCC).

[36]  Nicolas Brunel,et al.  Sensory neural codes using multiplexed temporal scales , 2010, Trends in Neurosciences.

[37]  Eugene M. Izhikevich,et al.  Which model to use for cortical spiking neurons? , 2004, IEEE Transactions on Neural Networks.

[38]  Arnaud Delorme,et al.  Spike-based strategies for rapid processing , 2001, Neural Networks.

[39]  Guigang Zhang,et al.  Deep Learning , 2016, Int. J. Semantic Comput..