4
$\begingroup$

I'm very interested in writing a Spiking Neural Network engine (SNN) from scratch, but I can't find the basic information I need to get started.

For example, I've seen pictures of the individual signals that combine to form a neuron pulse in several research papers, with no information on the equations in use. It's not the focus of the papers, and the authors assume the readers have that knowledge already. Some papers reference software that provides this foundation (NEST, pyNN, etc.), but the documentation for the software is similarly light on details.

There is a ton of information out there on the more common network types, but SNN have not yet made it into the mainstream.

So where do I get this basic information? Has someone pulled together any recipes/examples/tutorials for an SNN, as has been done with all the other network types?

$\endgroup$
1
$\begingroup$

I found something that looks promising:

http://www.mjrlab.org/2014/05/08/tutorial-how-to-write-a-spiking-neural-network-simulation-from-scratch-in-python/

Additional resources would be appreciated.

$\endgroup$
1
$\begingroup$

There are so many different versions of spiking neural networks out there. I think it is mainly due to the fact that there has been no dominant successful SNN model with proper learning algorithm like CNN with BP. However, there have been several recent papers(e.g. SuperSpike, SLAYER) on SNN that may lead to the standard framework for SNN. It happened within about 2 years, so it is one of the reasons why there have been no friendly introductions on SNN so far. I found some blogposts on SNN in general sense, but it didn't cover recent important trends in SNN.

Currently, the best way to learn about SNN is by reading papers. One paper that I would recommend is "Surrogate Gradient Learning in Spiking Neural Networks" which comprehensively reviews recent works on supervised learning in SNN with back-propagation.

If you want to implement the SNN from scratch, I would recommend you to checkout BindsNET(github, paper) which is an SNN framework based on PyTorch. To me, it was most intuitive to use and understand compared to other existing SNN libraries. It covers various neuron models and learning rules. But I'm not sure whether it also covers learning rules described in "Surrogate Gradient Learning in Spiking Neural Networks"

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.