Skip to content

A curated list of materials for Spiking Neural Networks, 3rd generation of artificial neural networks.

License

Notifications You must be signed in to change notification settings

vvvityaaa/awesome-spiking-neural-networks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 

Repository files navigation

Awesome Spiking Neural Networks

Awesome MIT License PRs Welcome

A curated list of materials for Spiking Neural Networks, 3rd generation of artificial neural networks.

SNN Image

Fig 1. Left - standard ANN network. Right - Spiking neural network, taking spikes as an input and returning sequence of spikes [1]

Contents

Books 📕

  1. Neuronal Dynamics - introduction to theoretical and computational neuroscience.
  2. Neuronal Dynamics - Lectures - youtube playlists of lectures, based on the book "Neuronal Dynamics".
  3. Dynamical Systems in Neuroscience - theoretical neuroscience with exercises and solutions.

Papers 📃

Fundamental and overview papers

  1. Networks of Spiking Neurons: The Third Generation of Neural Network Models, Maass W (1996) - pioneering work on spiking neural networks.
  2. On the computational power of circuits of spiking neurons, Maass W and Markram H (2004) - theoretical work, proving theorems about computational complexities of spiking networks.
  3. Deep Learning With Spiking Neurons: Opportunities and Challenges, Pfeiffer M and Pfeil T (2018) - overview paper of deep learning on neuromorphic hardware using biologically plausible spiking neurons.
  4. Deep learning in spiking neural networks, Tavanaei et al. (2018) - overview paper of advancements in deep learning for spiking neural networks.
  5. Spiking Neural Networks and Online Learning: An Overview and Perspectives, Lobo et al. (2019) - overview paper of application of spiking neural networks in the online learning domain.
  6. Recent Advances and New Frontiers in Spiking Neural Networks, Zhang et al. (2022) - state-of-the-art progress in network topology, neuromorphic datasets, neuromorphic hardware and optimization algorithms.

Applied papers

  1. STDP-based spiking deep convolutional neural networks for object recognition, Kheradpisheh et al. (2017) - first paper proposing convolutional SNN architecture.
  2. A Brain-Inspired Decision-Making Spiking Neural Network and Its Application in Unmanned Aerial Vehicle, Zhao et al. (2018) - using spiking neural networks for decision making for intelligent agents.
  3. Spiking Neural Networks applied to the classification of motor tasks in EEG signals, Virgilio G. et al. (2020) - using spiking networks for recognition of motor imagery tasks from EEG signals.
  4. Combining SNN and ANN for enhanced image classification, Muramatsu N and Yu HT(2021) - combining SNN and ANN to get a hybrid model with improved performance for image classification.
  5. One-shot learning with spiking neural networks, Scherr et al. (2020) - investigation of one-shot learning paradigm in spiking neural networks using local synaptic plasticity in RSNNs.
  6. Visual Explanations from Spiking Neural Networks using Interspike Intervals, Kim Y and Panda P (2021) - building biologically plausible Spike Activation Maps (SAM) for spike visualization.

ANN to SNN Conversion

  1. Fast-classifying, high-accuracy spiking deep networks through weight and threshold balancing, Diehl et al. (2015) - defines algorithms for weight normalization for ann to snn conversion.
  2. Theory and Tools for the Conversion of Analog to Spiking Convolutional Neural Networks, Ruckauer et al. (2016) - defines robust weight normalization and tools for converting different layers, like BatchNormalization, Maxpooling etc.
  3. Conversion of continuous-valued deep networks to efficientevent-driven networks for image classification, Rueckauer et al. (2017) - spiking max-pooling and batch normalization.
  4. Enabling deep spiking neural networks with hybrid conversion and spike timing dependent backpropagation, Rathi et al. (2020) - hybrid ann to snn conversion.
  5. Spiking-YOLO: Spiking Neural Network for Energy-Efficient Object Detection, Kim et al. (2019) - converting famous yolo architecture to the spiking version.
  6. Spiking Deep Residual Network, Hu et al. (2018) - converting ResNet to a spiking version.
  7. Optimal conversion of conventional artificial neural networks to spiking neural networks, Deng S and Gu S (2021) - more efficient approximation of loss function between ann and snn with weight transfer pipeline that combines threshold balance and soft-reset mechanisms.
  8. Deep Residual Learning in Spiking Neural Networks, Fang et al. (2022) - improved conversion of ResNet to a spiking version.

Learning methods for SNNs

  1. Spike timing dependent plasticity: a consequence of more fundamental learning rules, Shouval et al. (2010) - derivation of biological origin and plausibility of STDP.
  2. A History of Spike-Timing-Dependent Plasticity, Markram et al. (2011) - origins and history of STDP learning method.
  3. Training Deep Spiking Neural Networks Using Backpropagation, Lee et al. (2016) - treatment of membrane potentials as continuous signals and considering discontinuities as noise in backpropagation for SNN.
  4. Event-driven random backpropagation: Enabling neuromorphic deep learning machines, Neftci et al. (2017) - random backpropagation as solution for problem of discrete backpropagation on spikes.
  5. Surrogate gradient learning in spiking neural networks, Neftci et al. (2019) - surrogate method, which enables discrete backpropagation learning.
  6. S4NN: temporal backpropagation for spiking neural networkswith one spike per neuron, Kheradpisheh SR and Masquelier T (2020) - backpropagation learning method, based on rank-order temporal coding.
  7. Biologically inspired alternatives to backpropagation throughtime for learning in recurrent neural nets, Bellec et al. (2019) - biologically plausible approximation of backpropagation through time.

Neuron models

  1. A logical calculus of the ideas immanent in nervous activity, McCulloch W and Pitts W (1943) - one of the first neuron models for computation, based on "all-or-none"-property of biological neurons.
  2. A quantitative description of membrane current and its application to conduction and excitation in nerve, Hodgkin A and Huxley A (1952) - introduction of Hodgkin-Huxley neuron model.
  3. Simple Model of Spiking Neurons, Izhikevich E (2003) - introduces the mathematical model of a new type of neurons, so called, Izhikevich neurons.
  4. Resonate-and-fire neurons, Izhikevich E (2001) - resonate-and-fire model with complex state variable.
  5. Which Model to Use for Cortical Spiking Neurons?, Izhikevich E (2004) - overview of computational efficiency and biological plausibility of different neuron models.
  6. Spike-frequency adaptation of a generalized leaky integrate-and-fire model neuron, Liu YH and Wang XJ (2001) - paper on leaky integrate-and-fire neuron model.

Neuromorphic hardware

  1. A Survey of Neuromorphic Computing and Neural Networks in Hardware, Schuman et al. (2017) - broad discussion on major research topics on neuromorphic hardware.
  2. Towards spike-based machine intelligence with neuromorphic computing - Roy et al. (2019) - overview of the main research direction in neuromorphic hardware and discussion of open questions and challenges in neuromorphic computing.
  3. Neuromorphic silicon neuron circuits - Indiveri et al. (2013) - overview of building blocks for neuromorphic circuits.
  4. Thermal-Aware Compilation of Spiking Neural Networks to Neuromorphic Hardware - Titirsha T and Das A (2020) - novel technique for mapping of SNNs to neuromorphic hardware using a thermal model.

Frameworks 💻

  1. BindsNET - Python framework for simulation of spiking neural networks using Pytorch.
  2. NEST - spiking neural network simulator with focus on dynamics, size and structure of neural systems. Can be complemented by PyNN.
  3. PySNN - framework for spiking neural netorks built on top of Pytorch.
  4. PyNN - library for defining neural models independent of simulator specifics.
  5. NengoDL - library for building, testing and deploying neural networks, especially spiking neural networks.
  6. Brian2 - python simulator for spiking neural networks.
  7. Norse - framework for spiking neural networks, which expands PyTorch with SNN primitives.

Repositories 📂

  1. snn-toolbox - toolbox for conversion of ANNs into SNNs using weight normalization.
  2. BrainPy - simulation toolbox for computational neuroscience research.
  3. spikeflow - library for spiking neural networks on top of Tensorflow.
  4. hybrid-snn-conversion - hybrid ann to snn conversion with spike-based backpropagation.
  5. SpikingJelly - new simple SNN framework in Pytorch with easy SNN initialization and ANN2SNN conversion.

Others 📝

  1. Human Brain Project - european project for research in neuroscience, computing and brain-related medicine.
  2. Spiking Neuron Simulation - tutorial on a simple spiking neuron simulation using Tensorflow.
  3. LIF Simulation - tutorial on the leaky-integrate-and-fire simulation using Tensorflow.
  4. McCulloch & Pitts Neural Net Simulator - visualized web simulator for McCulloch & Pitts NN model.

About

A curated list of materials for Spiking Neural Networks, 3rd generation of artificial neural networks.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published