Abstract:
Auto Encoders using Artificial Neural Networks have achieved a high level of regeneration accuracy whereas Auto Encoders using Spiking Neural Networks are still in their early stage and only a few SNN Auto Encoders have been introduced but with lesser accuracies compared to ANN Auto Encoders. Using SNNs for Auto Encoders is desired as SNNs are one step closer to understand the communication and processing in biological neural networks. Sparse discrete events known as Spikes make SNNs energy efficient especially when implemented using Neuro-morphic hardware and Temporal coding scheme with the mapping of ‘input value to time of the first generated spike’ makes it even more efficient in terms of power consumption and time to generate an output where power consumption and time to encode/decode are the key metrics.
However, the direct application of gradient descent methods is not possible for SNN as the activation functions are non-differentiable. Training an Auto Encoder requires a way to adjusting the network parameters so that the reconstruction loss is minimized. Due to the lack of such training models for SNNs especially with multiple hidden layers, it is a challenging task to implement an Auto Encoder using SNN. In this research, models enable such learning, were analyzed with the aim of selecting a promising model. Based on the selected model for adjust the synaptic weights of the network, an SNN Auto Encoder model is developed which allows the user to configure the network structure and number of neurons in each layer to achieve the desired compression ratio. Considering the demonstrated reconstruction accuracy and convergence rate of the SNN Auto Encoder, it can be concluded that the introduced model is one of the first models which enables to use multilayer Auto Encoder using Spiking Neural Networks.