| Literature DB >> 35884670 |
Kashu Yamazaki1, Viet-Khoa Vo-Ho1, Darshan Bulsara2, Ngan Le1.
Abstract
The past decade has witnessed the great success of deep neural networks in various domains. However, deep neural networks are very resource-intensive in terms of energy consumption, data requirements, and high computational costs. With the recent increasing need for the autonomy of machines in the real world, e.g., self-driving vehicles, drones, and collaborative robots, exploitation of deep neural networks in those applications has been actively investigated. In those applications, energy and computational efficiencies are especially important because of the need for real-time responses and the limited energy supply. A promising solution to these previously infeasible applications has recently been given by biologically plausible spiking neural networks. Spiking neural networks aim to bridge the gap between neuroscience and machine learning, using biologically realistic models of neurons to carry out the computation. Due to their functional similarity to the biological neural network, spiking neural networks can embrace the sparsity found in biology and are highly compatible with temporal code. Our contributions in this work are: (i) we give a comprehensive review of theories of biological neurons; (ii) we present various existing spike-based neuron models, which have been studied in neuroscience; (iii) we detail synapse models; (iv) we provide a review of artificial neural networks; (v) we provide detailed guidance on how to train spike-based neuron models; (vi) we revise available spike-based neuron frameworks that have been developed to support implementing spiking neural networks; (vii) finally, we cover existing spiking neural network applications in computer vision and robotics domains. The paper concludes with discussions of future perspectives.Entities:
Keywords: autonomous robot; biological neural network; computer vision; neuromorphic hardware; review; robotics; spiking neural networks; survey; toolkits
Year: 2022 PMID: 35884670 PMCID: PMC9313413 DOI: 10.3390/brainsci12070863
Source DB: PubMed Journal: Brain Sci ISSN: 2076-3425
A comparison of properties between biological neural networks, ANNs, and SNNs.
| Properties | Biological NNs | ANNs | SNNs |
|---|---|---|---|
| Information | Spikes | Scalars | Spikes |
| Learning | Synaptic | BP | Plasticity/BP |
| Platform | Brain | VLSI | Neuromorphic VLSI |
Figure 1A typical structure of a biological neuron and synapse.
Figure 2A comparison between the biological neuron, artificial neuron, and spiking neuron.
Figure 3A comparison of spiking neuron models in terms of implementation cost and biological plausibility (adopted from [33]).
Figure 4Weight change in two neurons based on STDP learning rule.
Figure 5The overall structure of DCSNN for digit recognition. Courtesy of [79].
Summary of recent applications of SNNs in computer vision.
| Method | Training | Description | Performance |
|---|---|---|---|
| Image Classification | |||
| DCSNN [ | STDP and RSTDP | A convolutional SNN was trained by a combination of STDP for the lower layers and reward-modulated STDP for the higher ones, which allows training the entire network in a biologically plausible way in an end-to-end fashion. | They have achieved 97.2% accuracy on the MNIST dataset. |
| LM-SNNs [ | STDP | Lattice map spiking neural network (LM-SNN) model with modified STDP learning rule and biological inspired decision-making mechanism was introduced. Learning algorithm in LM-SNN manifests an unsupervised learning scheme. | Dataset: MNIST handwritten digits and a collection of snapshots of Atari Breakout. |
| Zhou et al. [ | STDP | First work to apply SNNs to a medical image classification task. Utilized an STDP-based convolutional SNN to distinguish melanoma from melanocytic nevi. | Dataset: ISIC 2018 [ |
| Zhou et al. [ | R-STDP | An imbalanced reward coefficient was introduced for the R-STDP learning rule to set the reward from the minority class to be higher than that of the majority class and to set the class-dependent rewards according to the data statistic of the training dataset. | Dataset: ISIC 2018. Performance: classification rate of the minority class from 0.774 to 0.966, and the classification rate of the majority class is also improved from 0.984 to 0.993. |
| Lou et al. [ | STDP | Both temporal and spatial characteristics of SNN are employed for recognizing EEG signals and classifying emotion states. Both spatial and temporal neuroinformatic data to be encoded with synapse and neuron locations as well as timing of the spiking activities. | 74%, 78%, 80% and 86.27% for the DEAP dataset, and the overall accuracy is 96.67% for the SEED dataset |
| Object Detection | |||
| Spiking YOLO [ | ANN-to-SNN Conversion | Spiking-YOLO was presented for the first kind to perform energy-efficient object detection. They proposed channel-wise normalization and signed neuron with imbalanced threshold to convert leaky-ReLU in a biologically plausible way. | They have achieved mAP% 51.83 on PASCAL VOC and mAP% 25.66 on MS COCO |
| Deep SCNN [ | Backpropagation | SNN based on the Complex-YOLO was applied on 3D point-cloud data acquired from a LiDAR sensor by converting them into spike time data. The SNN model proposed in the article utilized the IF neuron in spike time form (such as the one presented in Equation ( | They obtained comparative results on the KITTI dataset with bird’s-eye view compared to Complex-YOLO with fewer energy requirements. Mean sparsity of 56.24% and extremely low total energy consumption of 0.247 mJ only. |
| Image Classification | |||
| FSHNN [ | STDP & SGD | Monte Carlo dropout methodology is adopted to quantify uncertainty for FSHNN and used to discriminate true positives from false positives. | FSHNN provides better accuracy compared to ANN-based object detectors (on MSCOCO dataset) while being more energy-efficient. Features from both unsupervised STDP-based learning and supervised backpropagation-based learning are fused. It also outperforms ANN, when subjected to noisy input data and less labeled training data with a lower uncertainty error. |
| Object Tracking | |||
| SiamSNN [ | ANN-to-SNN Conversion | SiamSNN, the first SNN for object tracking that achieves short latency and low precision loss of the original SiamFC was introduced along with an optimized hybrid similarity estimation method for SNN. | OTB-2013, OTB-2015, and VOT2016. SiamSNN achieves 50 FPS and extremely low energy consumption on TrueNorth. |
| Two multi-layered SNNs [ | R-STDP | This addressed the issue of SNN-based moving-target tracking on a wheel-less snake robot. A Dynamic Vision Sensor (DVS) is utilized to perceive the target and encode it as spikes that are fed into the SNN to drive the locomotion controller of the snake robot. | The simulation experiments conducted in the NRP. Compared to SNN, the relative direction of the target to the robot is with less fluctuation when using the multi-layered SNN. |
| Object Segmentation | |||
| Unet-based SNN [ | ANN-to-SNN Conversion | Instead of using a fixed firing rate target for all neurons on all examples, Unet-based SNN regularizes a rank-based statistic computed across a neuron’s firing rates on multiple examples to allow a range of firing rates. Unet-based SNN also proposes the percentile-based loss function to regularize the (almost) maximum firing rate of each neuron across all examples. During the forward pass, it uses a modification of the ReLU non-linearity | Even achieve lower accuracy performance (92.13%) compared to Unet baseline (94.98% on Tensorflow and 92.81% on NengoDL) on the ISBI 2D EM Segmentation dataset, Unet-based SNN runs on the Loihi neuromorphic hardware with greater energy efficiency. |
| SpikeMS [ | Backpropagation | SpikeMS includes spike counts and classification labels to address the problem of motion segmentation using the event-based DVS camera as input | SpikeMS achieves performance comparable to an ANN method but with 50× less power consumption on EV-IMO, EED and MOD datasets. |
| Chen et al. [ | ANN-to-SNN conversion | Temporal redundancy between adjacent frames is capitalized to propose an interval reset method where the network state is reset after a fixed number of frames. | It achieved a 35.7× increase in convergence speed with only 1.5% accuracy drop using an interval reset of 20 frame |
| Image Classification | |||
| SpikeSEG [ | STDP & backpropagation | This is a spiking fully convolutional neural network used for semantic event-based image segmentation through the use of active pixel saliency mapping. Both spike-based imaging and spike-based processing are utilized to deliver fast and accurate class segmented spiking images. | The SpikeSEG network performs well on the synthetic dataset with accuracy values of 97% and mIoU of 74% |
| Optical-Flow Estimation | |||
| Hierarchical cuSNN [ | Stable STDP | The selectivity of the local and global motion of the visual scene emerges through STDP from event-based stimuli. The input statistics of event-based sensors are handled by an adaptive spiking neuron model. The neuron is learnt by the proposed stable STDP. The neuron model and STDP rule are combined in a hierarchical SNN architecture to capture geometric features, identify the local motion of these features, and integrate this information into a global ego-motion estimate. | It is evaluated on synthetic and real event sequences with the Event Camera Dataset on DAVIS and SEES1 DVS sensors. Code available: |
| Spike-FlowNet [ | Backpropagation | Spike-FlowNet, a deep hybrid neural network, integrating SNNs and ANNs for efficiently estimating optical flow from sparse event camera outputs without sacrificing the performance was proposed. They trained the IF neuron with spike-base backpropagation. | On the MVSEC dataset, Spike-FlowNet accurately predicts the optical flow from discrete and asynchronous event streams along with substantial benefits in terms of computational efficiency compared to the corresponding ANN architecture. Code available: |
| STaRFlow [ | Backpropagation | STaRFlow is a lightweight CNN for multi-frame optical flow estimation with occlusion handling. Temporal information is exploited by temporal recurrence, where the same weights over a scale recurrence are repeatedly used. | STaRFlow obtains SOTA performances on MPI Sintel and Kitti2015 and involves significantly fewer parameters. Code available: |
Figure 6The overall structure of SNN architecture for SLAM. Courtesy of [88].
Summary of recent applications of SNNs in robotics.
| Method | Software/ | Description | Performance |
|---|---|---|---|
| Pattern Generation | |||
| Cuevas-Arteaga et al. [ | PyNN/SpiNNaker | Spiking CPG (sCPG) to command a hexapod robot to perform walk, trot, or run. | |
| NeuroPod [ | -/SpiNNaker | The first implementation of a real-time neuromorphic sCPG that runs on the SpiNNaker to command a hexapod robot to perform walk, trot, or run. | The robot was based on the design from |
| Strohmer et al. [ | NEST/- | An sCPG with AdEx neuron model that exhibits a tripod-like gait. Their model can manipulate the amplitude, frequency, and phase while the network is running, indicating that these characteristics can be updated in an online manner to further explore the role of sensory feedback in shaping locomotion. | A validation test was performed on the Modular Robot Framework (MORF), and source code is available at: |
| Donati et al. [ | -/FPGA | Implement an sCPG using analog/digital VLSI device interfaced with an FPGA board, which can be directly interfaced to the actuators of a bio-mimetic robotic lamprey. CPG network is implemented using silicon neurons and synapses with biologically plausible time constants. | The neuromorphic chip can reproduce the behavior of the theoretical CPG model, offering the possibility of directly controling the actuators of an artificial bio-inspired lamprey robot. The neuron produces periodic bursting, lasting approximately 60 ms, with an inter-burst interval of about 1.5 s. The spiking frequency during the burst is about 35 Hz. |
| Angelidis et al. [ | Nengo/SpiNNaker | Used the sCPG model implemented in Nengo to produce the swimming gaits modulated by the high-level brainstem control of a simulated lamprey robot model in various scenarios. They showed that the robot can be controlled dynamically in direction and pace by modifying the input to the network. | The experiments are conducted on an isolated CPG model and neuromechanical simulations. It provides a vast number of possible synchronized gaits, e.g., traveling and standing waves, and smoothly controls a lamprey robot that, with regulation of the high-level drive, adapts to various simulation scenarios. On neuromorphic hardware, it achieves real-time operation. |
| Motor Control | |||
| Dupeyroux et al. [ | PySNN/Loihi | This is a fully embedded application of the Loihi neuromorphic chip prototype in a flying robot. It uses an evolutionary algorithm to optimize SNN controllers and an abstracted simulation environment for evaluation. | The resulting network architecture consists of only 35 neurons distributed among three layers. Quantitative analysis between simulation and Loihi reveals a root-mean-square error of the thrust setpoint as low as 0.005 g, along with a 99.8% matching of the spike sequences in the hidden layer and 99.7% in the output layer. Videos of the flight tests can be found at |
| Stagsted et al. [ | Nengo/Loihi | By modifying SNN architecture and improving the interface between neuromorphic cores and the host computer allowed, it improves the latency and frequency of the controller. The integral path of the controller was re-designed to cope with a limited resolution of value representation. The inner control loop was removed to simplify the network, and the time step duration of the control loop was decreased to improve the I/O interface. | SNN-based proportional, integral, derivative (PID) controller was tested on a drone constrained to rotate on a single axis. They achieved comparable performance for overshoot, rise and settling times. |
| Navigation | |||
| Spiking RatSLAM [ | Spatial Envelope Synthesis (SES) | It demonstrates a model of rat hippocampus place, grid, and border cells implemented with the SpiNNaker. The implemented place cells were used to represent the location of landmarks for “home” and “cheese” whereas the grid cells provide displacement information to the robot. They showed that the robot can detect these landmarks correctly. | Place cells represent the location of landmarks for “home” and “cheese”, while Grid cells provide displacement information to the robot. The experiment shows that that robot is correctly able to detect these landmarks |
| Gridbot [ | ROS/- | Gridbot is an autonomously moving robot with 1321 spiking neurons and is able to map the environment by itself. Gridbot contains neurons that were modeled as LIF units; synapses that were either hardwired or underwent plastic changes through STDP, dendritic trees that integrated synaptic inputs. Gridbot encoded sensory information into distributed maps and generated motor commands to control the robot movement. | Three experiments: follow the walls of the environment for 30 min; explored the environment randomly; the robot walked through the learned environment for more than 2 h |
| Bing et al. [ | -/Kapoho-Bay USB chipset | It is a fast method to build an SNN-based controller for performing robotic implementations by using a model-based control method to shape a desired behavior of the robot as a dataset and then use it to train an SNN based on supervised learning. | It performed slightly better than the state-of-the-art thanks to generalization introduced by Poisson spike encoding of the state input |
| Tang et al. [ | Gazebo/- | The model has two sensory spike rate-encoders and five sub-networks (head direction, reference frame transformation, distance mapping, observation likelihood, Bayesian inference). All five sub-networks are integrated, and the model has intrinsic asynchronous parallelism by incorporating spiking neurons, multi-compartmental dendritic trees, and plastic synapses, all of which are supported by Loihi. | A mobile robot is equipped with an RGB-depth camera, in both the AprilTag real-world and Gazebo simulator, for validating our method. It is validated for accuracy and energy-efficiency in both real- world and simulated environments by comparing with the GMapping algorithm. It consumes 100 times less energy than GMapping run on a CPU while having comparable accuracy in the head direction localization and map-generation. |
| SDDPG [ | PyTroch/- | Spiking deep deterministic policy gradient (SDDPG), which consists of a spiking actor network and a deep critic network that were trained jointly using gradient descent for energy-efficient mapless navigation. | The model was validated with Turtlebot2 platform and Intel’s Kapoho-Bay USB chipset. |
List of available software frameworks for SNNs simulation.
| Framework | Training Paradigm | Description |
|---|---|---|
| SNN simulator | ||
| Brain2 [ | STDP | Brian2 is a widely-used open-source simulator for spiking neural networks. |
| Nest [ | STDP/RSTDP | Nest focuses on the dynamics and structure of neural systems, and it is used in medical/biological applications but maps poorly to large datasets and deep learning. |
| Nengo [ | STDP | Neural simulator for large-scale neural networks based on the neural engineering framework (NEF), which is a large-scale modeling approach that can leverage single neuron models to build neural networks. |
| Nengo DL [ | ANN conversion | NengoDL allows users to construct biologically detailed neural models, intermixed with deep-learning elements bucked by TensorFlow and Keras [ |
| SpykeTorch [ | STDP/RSTDP | SpykeTorch is based on PyTorch [ |
| BindsNet [ | STDP/RSTDP ANN conversion | BindsNet is also based on PyTorch targeting machine-learning tasks. Currently, synapses are implemented without their own dynamics. |
| Slayer PyTorch [ | BP | Slayer PyTorch provides solutions for the temporal credit problem of spiking neurons that allows backpropagation of errors. |
| Norse | BPTT | Norse is an expansion of PyTorch to perform deep learning with spiking neural networks using sparse and event-driven hardware and data. Used in long short-term spiking neural networks (Bellec 2018). |
| snn_toolbox [ | ANN conversion | SNN toolbox is used to transform rate-based ANNs defined in different deep-learning frameworks, such as TensorFlow, PyTorch, etc., into SNNs and provides an interface to several backends for simulation (pyNN, Brian2, etc.) or deployment (SpiNNaker, Loihi). |
| GeNN [ | SNN | GeNN provides an interface for simulating SNNs on NVIDIA GPUs by generating model-driven and hardware-specific C/C++ CUDA code. |
| PySNN | STDP | PySNN focuses on having an efficient simulation of SNN on both CPU and GPU. Written on top of PyTorch to achieve this. |
| CARLsim [ | STP | CARLsim allows th euser to simulate large-scale SNNs using multiple GPUs and CPU cores concurrently. The simulator provides a PyNN-like programming interface in C/C++, which allows for details and parameters to be specified at the synapse, neuron, and network level. |
| Auryn [ | STDP | Auyrn is a simulator for a recurrent spiking neural network with synaptic plasticity. |
| SNN-based brain simulator | ||
| Neucube [ | STDP | NeuCube is the development environment and a computational architecture for the creation of brain-like artificial intelligence. |
| FNS [ | STDP | FNS is an event-driven spiking neural network framework oriented to data-driven brain simulations. |