Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
What about coding a Spiking Neural Network using an automatic differentiation framework? In SNNs, there is a time axis and the neural network sees data throughout time, and activation functions are instead spikes that are raised past a certain pre-activation threshold. Pre-activation values constantly fades if neurons aren't excited enough.
| Date | Stars |
|---|---|
| 2026-07-31 | 278 |
| 2026-08-01 | 278 |
| 2026-08-02 | 278 |
| 2026-08-06 | 278 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# Spiking Neural Network (SNN) with PyTorch : towards bridging the gap between deep learning and the human brain > I think I've discovered something amazing: Hebbian learning naturally takes place during the backpropagation of SNNs. Backpropagation in Spiking Neural Networks (SNNs) engenders Spike-Timing-Dependent Plasticity (STDP)-like Hebbian learning behavior. So: - At first I simply thought "hey, what about coding a Spiking Neural Network using an automatic differentiation framework?" Here it is. - Then I started reading on how to achieve that, such as reading on [Hebbian learning](https://en.wikipedia.org/wiki/Hebbian_theory). Quickly explained: Hebbian learning is somehow the saying that "neurons that fire together, wire together". - Then, I think [I've discovered something amazing](https://www.youtube.com/watch?v=Jo6dkHgT6TI). What if when doing backpropagation on a Spiking Neural Network (SNN), Hebbian learning would take place naturally as a side effect of adding that refractory time axis? - I had the opportunity to discuss that idea with Yoshua Bengio at a conference, and I couldn't get the idea out of my head past that point, so I coded it as follow. - As a conclusion, I think that the link between deep learning and the human brain is closer than we might think: backpropagation is akin to Hebbian learning. If you don't understand what SNNs are, you should watch [this interesting SNN animation](https://www.youtube.com/embed/3JQ3hYko51Y?start=120) which will quickly get you a feel of what it is (especially notice how neurons gets activated only gradually over time like a storm rather than statically from their inputs). <!-- <iframe width="560" height="315" src="https://www.youtube.com/embed/3JQ3hYko51Y?start=120" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> --> ## Spiking Neural Networks (SNNs) v.s. Artificial Neural Networks (ANNs) In SNNs, there is a time axis and the neural network sees data througout time, and activation functions are isntead spikes that are raised past a certain pre-activation threshold. Pre-activation values constantly fades if neurons aren't excited enough. Think of it like a time-distributed ReLU with spikes or nothing at certain time steps. Spiking Neural Networks (SNNs) are neural networks that are closer to what happens in the brain compared to what people usually code when doing Machine Learning and Deep Learning. In the case of SNNs, the neurons accumulate the input activation until a threshold is reached, and when this threshold is reached, the neuron empties itself from it's activation and fire. Once empty, it should indeed take some [refractory period](https://en.wikipedia.org/wiki/Refractory_period_(physiology)) until it fires again, as it happen in the brain. This implies adding a **time axis** to Artificial Neural Networks (ANNs), where signal is accumulated throughout time in a pre-activation phase, then once a threshold is reached, signal is raised to the neurons above as a firing activation. At every moment, such as when the threshold isn't reached yet, the signal's pre-activation value fades. So I roughly replicated this refractory neuron firing pattern behavior here with PyTorch. I coded this without reading existing code for me to try come up with a solution by myself as some kind of challenge and also not to be biased by what others do, building from first principles. I also supposed that throughout time, perceptrons' readings would be noisy to add randomization. As an afterthought, I'm satisfied with what I came up with. ## Spiking Neural Networks (SNNs) v.s. Recurrent Neural Networks (RNNs) The SNN is NOT an [RNN](https://github.com/guillaume-chevalier/LSTM-Human-Activity-Recognition), despite it evolves through time too. For this SNN to be an RNN, I believe it would require some more connections such as from the outputs back into the inputs. In fact, RNNs are defined as a function of
Excerpt of 49,866 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:03b771cf75aec46f, llm:Repository description and topics: 'Spiking Neural Network', 'neurons', 'spiking-neural-networks'; purpose: implement SNN with PyTorch and backpropagation/STDP in time domain.
matched fp:03b771cf75aec46f, llm:Repository description and topics: 'Spiking Neural Network', 'neurons', 'spiking-neural-networks'; purpose: implement SNN with PyTorch and backpropagation/STDP in time domain.
matched fp:03b771cf75aec46f, llm:Repository description and topics: 'Spiking Neural Network', 'neurons', 'spiking-neural-networks'; purpose: implement SNN with PyTorch and backpropagation/STDP in time domain.