A robust modular spiking neural networks training methodology for time-series datasets
Link to part of my thesis
With a focus on gesture control
Neurons in Spiking Neural Networks (SNNs) communicate through spikes, similar to the way that neurons in the brain communicate, thus mimicking the brain. The working of SNNs is temporally based, as the spikes are time-dependent. SNNs have the benefit that they can perform continues classification, and are inherently more low-power than other Artificial Neural Networks (ANNs). Both the SNNs and other ANNs need to be trained to perform specific tasks. There are different types of methodologies to train SNNs, but there is no silver bullet yet.
Other ANNs are trained using backpropagation algorithms, but SNNs cannot be trained using this algorithm since the spikes are not differentiable. Methods like Spike Timing Dependent Plasticity (STDP) or Liquid State Machine (LSM) have their limits. Where the complexity of SNNs depends on the dataset, the number of neurons, and other factors.
There were currently no known SNN implementations for the given gesture, achieving near state-of-the-art results. The problem with the dataset is that usually no gesture is performed in front of the. The datasets contain noise, and some data samples belong to two or more classes simultaneously.
The objective of this work is to come up with an architecture and training methodology, that allows the classification of the dataset using SNNs. This work presents an architecture and a novel training methodology Suino, which addresses the above problems.
The architecture consists of two components: the first component is the spatial classifier, and the second component is the temporal classifier. The frames from the dataset are filtered in the first stage, i.e. the spatial classifier. The output of the spatial classifier is the input for the temporal classifier, which deals with the temporal properties of the data. Suino does not provide false positives, i.e. the neurons do not spike on the input dataset if the input dataset does not belong to any of the trained classes; hence the method is robust.
The training methodology is built around those components, existing of different classical training methods: backpropagation, clustering, or any other consisting of fixed threshold method for auto label correction. The second stage consists of a temporal classification method, trained using the Tempotron learning rule.
Suino was validated on the time-series dataset. On the test set, the baseline method had an accuracy of 97.0% with 35K parameters, while the presented method had an accuracy of 90.87% with 21K parameters. Hence the method is more robust against false detections and perform continuously classification.