50 research outputs found

    Supervised Learning in Multilayer Spiking Neural Networks

    Get PDF
    The current article introduces a supervised learning algorithm for multilayer spiking neural networks. The algorithm presented here overcomes some limitations of existing learning algorithms as it can be applied to neurons firing multiple spikes and it can in principle be applied to any linearisable neuron model. The algorithm is applied successfully to various benchmarks, such as the XOR problem and the Iris data set, as well as complex classifications problems. The simulations also show the flexibility of this supervised learning algorithm which permits different encodings of the spike timing patterns, including precise spike trains encoding.Comment: 38 pages, 4 figure

    Integration of Leaky-Integrate-and-Fire-Neurons in Deep Learning Architectures

    Full text link
    Up to now, modern Machine Learning is mainly based on fitting high dimensional functions to enormous data sets, taking advantage of huge hardware resources. We show that biologically inspired neuron models such as the Leaky-Integrate-and-Fire (LIF) neurons provide novel and efficient ways of information encoding. They can be integrated in Machine Learning models, and are a potential target to improve Machine Learning performance. Thus, we derived simple update-rules for the LIF units from the differential equations, which are easy to numerically integrate. We apply a novel approach to train the LIF units supervisedly via backpropagation, by assigning a constant value to the derivative of the neuron activation function exclusively for the backpropagation step. This simple mathematical trick helps to distribute the error between the neurons of the pre-connected layer. We apply our method to the IRIS blossoms image data set and show that the training technique can be used to train LIF neurons on image classification tasks. Furthermore, we show how to integrate our method in the KERAS (tensorflow) framework and efficiently run it on GPUs. To generate a deeper understanding of the mechanisms during training we developed interactive illustrations, which we provide online. With this study we want to contribute to the current efforts to enhance Machine Intelligence by integrating principles from biology

    Training Algorithms for Networks of Spiking Neurons

    Get PDF
    Neural networks represent a type of computing that is based on the way that the brain performs computations. Neural networks are good at fitting non-linear functions and recognizing patterns. It is believed that biological neurons work similar to spiking neurons that process temporal information. In 2002, Bohte derived a backpropagation training algorithm (dubbbed as SpikeProp) for spiking neural networks (SNNs) containing temporal information as firing time of first spike. SpikeProp algorithm and its different variations were subject of many publications in the last decade. SpikeProp algorithm works for continuous weight SNNs. Implementing continuous parameters on hardware is a difficult task. On the other hand implementing digital logic on hardware is more straightforward because of many available tools. Training SNN with discrete weights is tricky because smallest change allowed in weights is a discrete step. And this discrete step might affect the accuracy of the network by huge amount. Previous works have been done for Artificial Neural Networks (ANNs) with discrete weights but there is no research in the area of training SNNs with discrete weights. New algorithms have been proposed as part of this thesis work. These algorithms work well for training discrete weights in a spiking neural network. These new algorithms use SpikeProp algorithm for choosing weights that are to be updated. Several standard classification datasets have been used to demonstrate the efficacy of proposed algorithms. It is shown that one of the proposed algorithms (Multiple Weights Multiple Steps) takes less execution time to train and the results are comparable to continuous weight SNNs in terms of accuracy

    A review of learning in biologically plausible spiking neural networks

    Get PDF
    Artificial neural networks have been used as a powerful processing tool in various areas such as pattern recognition, control, robotics, and bioinformatics. Their wide applicability has encouraged researchers to improve artificial neural networks by investigating the biological brain. Neurological research has significantly progressed in recent years and continues to reveal new characteristics of biological neurons. New technologies can now capture temporal changes in the internal activity of the brain in more detail and help clarify the relationship between brain activity and the perception of a given stimulus. This new knowledge has led to a new type of artificial neural network, the Spiking Neural Network (SNN), that draws more faithfully on biological properties to provide higher processing abilities. A review of recent developments in learning of spiking neurons is presented in this paper. First the biological background of SNN learning algorithms is reviewed. The important elements of a learning algorithm such as the neuron model, synaptic plasticity, information encoding and SNN topologies are then presented. Then, a critical review of the state-of-the-art learning algorithms for SNNs using single and multiple spikes is presented. Additionally, deep spiking neural networks are reviewed, and challenges and opportunities in the SNN field are discussed

    Evolving Spiking Neural Networks for online learning over drifting data streams

    Get PDF
    Nowadays huge volumes of data are produced in the form of fast streams, which are further affected by non-stationary phenomena. The resulting lack of stationarity in the distribution of the produced data calls for efficient and scalable algorithms for online analysis capable of adapting to such changes (concept drift). The online learning field has lately turned its focus on this challenging scenario, by designing incremental learning algorithms that avoid becoming obsolete after a concept drift occurs. Despite the noted activity in the literature, a need for new efficient and scalable algorithms that adapt to the drift still prevails as a research topic deserving further effort. Surprisingly, Spiking Neural Networks, one of the major exponents of the third generation of artificial neural networks, have not been thoroughly studied as an online learning approach, even though they are naturally suited to easily and quickly adapting to changing environments. This work covers this research gap by adapting Spiking Neural Networks to meet the processing requirements that online learning scenarios impose. In particular the work focuses on limiting the size of the neuron repository and making the most of this limited size by resorting to data reduction techniques. Experiments with synthetic and real data sets are discussed, leading to the empirically validated assertion that, by virtue of a tailored exploitation of the neuron repository, Spiking Neural Networks adapt better to drifts, obtaining higher accuracy scores than naive versions of Spiking Neural Networks for online learning environments.This work was supported by the EU project Pacific AtlanticNetwork for Technical Higher Education and Research—PANTHER(grant number 2013-5659/004-001 EMA2)

    An optimised deep spiking neural network architecture without gradients

    Get PDF
    We present an end-to-end trainable modular event-driven neural architecture that uses local synaptic and threshold adaptation rules to perform transformations between arbitrary spatio-temporal spike patterns. The architecture represents a highly abstracted model of existing Spiking Neural Network (SNN) architectures. The proposed Optimized Deep Event-driven Spiking neural network Architecture (ODESA) can simultaneously learn hierarchical spatio-temporal features at multiple arbitrary time scales. ODESA performs online learning without the use of error back-propagation or the calculation of gradients. Through the use of simple local adaptive selection thresholds at each node, the network rapidly learns to appropriately allocate its neuronal resources at each layer for any given problem without using a real-valued error measure. These adaptive selection thresholds are the central feature of ODESA, ensuring network stability and remarkable robustness to noise as well as to the selection of initial system parameters. Network activations are inherently sparse due to a hard Winner-Take-All (WTA) constraint at each layer. We evaluate the architecture on existing spatio-temporal datasets, including the spike-encoded IRIS and TIDIGITS datasets, as well as a novel set of tasks based on International Morse Code that we created. These tests demonstrate the hierarchical spatio-temporal learning capabilities of ODESA. Through these tests, we demonstrate ODESA can optimally solve practical and highly challenging hierarchical spatio-temporal learning tasks with the minimum possible number of computing nodes.Comment: 18 pages, 6 figure

    Nouvelle approche analytique pour l'apprentissage du quantron

    Get PDF
    RÉSUMÉ : Le quantron est un neurone artificiel inspiré d’un modèle stochastique de la diffusion synaptique. Ce type de neurone biologiquement réaliste a le potentiel d’améliorer les capacités de classification des réseaux de neurones utilisés en reconnaissance de formes. Cependant, le quantron présente des difficultés pour l’implémentation d’un algorithme d’apprentissage efficace. Ceci est dû à la présence de discontinuités dans la fonction de réponse qui caractérise l’émission ou l’absence d’émission de neurotransmetteurs en réaction à la stimulation des synapses d’entrée. Ces discontinuités nuisent à l’apprentissage par modification itérative des paramètres du neurone. Ainsi, nous adoptons une approche analytique pour contourner ces difficultés et développer de nouveaux algorithmes d’apprentissage pour entraîner un quantron ou un réseau de quantrons. D’abord, nous nous intéressons au maximum de la fonction représentant le potentiel électrique du quantron, appelée fonction d’activation. Par comparaison à un seuil d’excitabilité, ce maximum détermine l’état d’activité du quantron, qui est alors utilisé comme classificateur. En utilisant des potentiels post-synaptiques ayant un profil rectangulaire, nous obtenons une approximation du maximum en substituant des fonctions quadratiques aux signaux provenant des synapses d’entrée. Avec cette approximation analytique, nous démontrons expérimentalement la possibilité d’entraîner le quantron en minimisant une surface d’erreur par descente du gradient. De plus, pour certains problèmes, nous observons une amélioration des résultats d’un algorithme de recherche directe. Ensuite, en utilisant une configuration particulière du quantron, nous trouvons une forme analytique simple pour la fonction d’activation dans le cas où les potentiels post-synaptiques possèdent un profil rectangulaire ou en rampe. Cette expression permet de lier les paramètres du quantron aux caractéristiques géométriques de sa frontière de décision. En se basant sur ces résultats, nous développons deux algorithmes d’apprentissage distincts, l’un procédant par l’analyse des configurations de la frontière de décision, et l’autre par l’inversion directe d’un système d’équations. Ces algorithmes permettent une résolution efficace de problèmes de classification pour lesquels le quantron admet une représentation sans erreur. Enfin, nous portons attention au problème de l’apprentissage d’un réseau de quantrons. Dans le cas de potentiels post-synaptique avec un potentiel triangulaire, nous proposons une approximation analytique du temps où s’active le quantron, qui est déterminé par le premier instant où la fonction d’activation atteint le seuil d’excitabilité. L’expression mathématique résultante, utilisée comme valeur de réponse du neurone, permet d’adapter l’algorithme de rétropropagation de l’erreur au réseau. Nous montrons qu’il devient alors possible d’entraîner des neurones qui autrement resteraient inactifs lors de l’apprentissage. De plus, nous illustrons la capacité des réseaux de quantrons à résoudre certains problèmes de classification en nécessitant moins de paramètres que des réseaux de neurones impulsionnels ou des réseaux de perceptrons. Les trois aspects du quantron étudiés dans cette thèse mènent à des algorithmes qui se distinguent des approches antérieures utilisées pour l’apprentissage des réseaux de neurones impulsionnels. En effet, notre approche analytique permet d’éviter les discontinuités qui perturbent le processus d’apprentissage grâce au lissage résultant de l’approximation analytique du maximum de la fonction d’activation et du temps d’activation. De plus, l’analyse géométrique de la frontière de décision est rendue possible par l’expression analytique de la fonction d’activation. Le résultat le plus probant est la tentative fructueuse de résolution du problème associé à l’entraînement des neurones inactifs, appelé problème des neurones silencieux. Par notre approche analytique de l’apprentissage du quantron, nous proposons donc des algorithmes originaux et innovateurs qui contribuent à une meilleure compréhension de l’apprentissage dans les réseaux de neurones biologiquement réalistes.---------- ABSTRACT : The quantron is an artificial neuron inspired by a stochastic model of synaptic diffusion. This type of biologically realistic neuron can improve the classification capacity of neural networks used in pattern recognition. However, the implementation of an efficient learning algorithm for the quantron proves to be challenging. This is due to the presence of discontinuities in the output function which characterizes the emission of neurotransmitters, or lack thereof, as a reaction to the stimulus applied to synaptic inputs. These discontinuities disrupt the iterative training of the neuron’s parameters. Thus, in this work, we follow an analytical approach to avoid these difficulties and develop new learning algorithms adapted to the quantron and to networks of quantrons. First, we study the maximum of the function representing the electrical potential of the quantron, called the activation function. By comparing this function to an excitability threshold, this maximum determines the activity state of the neuron, which can be used as a classifier. Using post-synaptic potentials with a rectangular profile, we obtain an analytical approximation of the maximum by substituting quadratic functions for the signals stemming from the synaptic inputs. With this analytical approximation, we provide an experimental demonstration of the quantron being trained by minimizing an error surface via gradient search. Also, for certain problems, we observe an improvement of the results obtained by using a direct search algorithm. Second, using a specific configuration of the quantron, we find a simple analytical form for the activation function when the post-synaptic potentials have a rectangular or ramp profile. This expression links the parameters of the quantron to the geometrical characteristics of its decision boundary. Building upon these results, we obtain two distinct learning algorithms, one proceeding by analyzing the configurations of the decision boundary, and the other by solving directly a system of equations. These algorithms are able to solve efficiently classification problems for which the quantron admits an errorless representation. Third, we focus on the problem of training a network of quantrons. For post-synaptic potentials having a triangular profile, we propose an analytical approximation of the time when the quantron’s activation function reaches the excitability threshold. The resulting mathematical expression, used as the neuron’s output, enables the adaptation of the error backpropagation algorithm to the network. We show that it is then possible to modify the parameters of neurons which would otherwise remain inactive during training. Furthermore, we show that networks of quantrons can solve particular classification problems using fewer parameters than networks of spiking neurons or networks of perceptrons. The three aspects of the quantron studied in this thesis yield algorithms which differ from previous attempts to train spiking neural networks. Indeed, we avoid the discontinuities that disturb the training process due to the smoothing effect of the analytical approximation of the activation function’s maximum and of the activation time. Also, the geometrical analysis of the decision boundary is made possible by the analytical expression of the activation function. The most important result is the successful attempt to solve the problem of training inactive neurons, called the silent neuron problem. By following an analytical approach in the study of the quantron, we propose original and innovative algorithms which contribute to a better understanding of the learning process in networks of biologically realistic neurons

    Training Spiking Neural Networks Using Lessons From Deep Learning

    Full text link
    The brain is the perfect place to look for inspiration to develop more efficient neural networks. The inner workings of our synapses and neurons provide a glimpse at what the future of deep learning might look like. This paper serves as a tutorial and perspective showing how to apply the lessons learnt from several decades of research in deep learning, gradient descent, backpropagation and neuroscience to biologically plausible spiking neural neural networks. We also explore the delicate interplay between encoding data as spikes and the learning process; the challenges and solutions of applying gradient-based learning to spiking neural networks; the subtle link between temporal backpropagation and spike timing dependent plasticity, and how deep learning might move towards biologically plausible online learning. Some ideas are well accepted and commonly used amongst the neuromorphic engineering community, while others are presented or justified for the first time here. A series of companion interactive tutorials complementary to this paper using our Python package, snnTorch, are also made available: https://snntorch.readthedocs.io/en/latest/tutorials/index.htm
    corecore