norse
notebooks
Our great sponsors
norse | notebooks | |
---|---|---|
6 | 2 | |
611 | 24 | |
3.9% | - | |
6.5 | 0.0 | |
29 days ago | over 1 year ago | |
Python | Jupyter Notebook | |
GNU Lesser General Public License v3.0 only | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
norse
-
Neuromorphic learning, working memory, and metaplasticity in nanowire networks
This gives you a ludicrous advantage over current neural net accelerators. Specifically 3-5 orders is magnitude in energy and time, as demonstrated in the BranScaleS system https://www.humanbrainproject.eu/en/science-development/focu...
Unfortunately, that doesn't solve the problem of learning. Just because you can build efficient neuromorphic systems doesn't mean that we know how to train them. Briefly put, the problem is that a physical system has physical constraints. You can't just read the global state in NWN and use gradient descent as we would in deep learning. Rather, we have to somehow use local signals to approximate local behaviour that's helpful on a global scale. That's why they use Hebbian learning in the paper (what fires together, wires together), but it's tricky to get right and I haven't personally seen examples that scale to systems/problems of "interesting" sizes. This is basically the frontier of the field: we need local, but generalizable, learning rules that are stable across time and compose freely into higher-order systems.
Regarding educational material, I'm afraid I haven't seen great entries for learning about SNNs in full generality. I co-author a simulator (https://github.com/norse/norse/) based on PyTorch with a few notebook tutorials (https://github.com/norse/notebooks) that may be helpful.
I'm actually working on some open resources/course material for neuromorphic computing. So if you have any wishes/ideas, please do reach out. Like, what would a newcomer be looking for specifically?
-
[D] The Complete Guide to Spiking Neural Networks
Surrogate gradients and BPTT, this is what is implemented in Norse https://github.com/Norse/Norse. It is also possible to compute exact gradients using the Eventprop algorithm.
- [P] Norse - Deep learning with spiking neural networks (SNNs) in PyTorch
- Show HN: Deep learning with spiking neural networks (SNNs) in PyTorch
-
Don't Mess with Backprop: Doubts about Biologically Plausible Deep Learning
That repo is slightly outdated, development now continues at https://github.com/norse/norse.
notebooks
-
Neuromorphic learning, working memory, and metaplasticity in nanowire networks
This gives you a ludicrous advantage over current neural net accelerators. Specifically 3-5 orders is magnitude in energy and time, as demonstrated in the BranScaleS system https://www.humanbrainproject.eu/en/science-development/focu...
Unfortunately, that doesn't solve the problem of learning. Just because you can build efficient neuromorphic systems doesn't mean that we know how to train them. Briefly put, the problem is that a physical system has physical constraints. You can't just read the global state in NWN and use gradient descent as we would in deep learning. Rather, we have to somehow use local signals to approximate local behaviour that's helpful on a global scale. That's why they use Hebbian learning in the paper (what fires together, wires together), but it's tricky to get right and I haven't personally seen examples that scale to systems/problems of "interesting" sizes. This is basically the frontier of the field: we need local, but generalizable, learning rules that are stable across time and compose freely into higher-order systems.
Regarding educational material, I'm afraid I haven't seen great entries for learning about SNNs in full generality. I co-author a simulator (https://github.com/norse/norse/) based on PyTorch with a few notebook tutorials (https://github.com/norse/notebooks) that may be helpful.
I'm actually working on some open resources/course material for neuromorphic computing. So if you have any wishes/ideas, please do reach out. Like, what would a newcomer be looking for specifically?
-
Event-Based Backpropagation for Exact Gradients in Spiking Neural Networks
We've written some documentation around our neuron equations in Python that explains this: https://norse.github.io/norse/auto_api/norse.torch.functiona...
See also our tutorial on neuron parameter optimization to understand how it's useful for machine learning: https://github.com/norse/notebooks#level-intermediate
Disclaimer: I'm a co-author of the library Norse
Regarding the target audience, it's actually not entirely clear to me. This lies in the intersection between computational neuroscience and deep learning. Which isn't a huge set of people. Meaning, you're questions are valid and we (as researchers) have a lot of communication to do to explain why this is interesting and important.
What are some alternatives?
snntorch - Deep and online learning with spiking neural networks in Python
DeepLearningExamples - State-of-the-Art Deep Learning scripts organized by models - easy to train and deploy with reproducible accuracy and performance on enterprise-grade infrastructure.
Spiking-Neural-Network - Pure python implementation of SNN
fastai - The fastai deep learning library
spikingjelly - SpikingJelly is an open-source deep learning framework for Spiking Neural Network (SNN) based on PyTorch.
NYU-DLSP20 - NYU Deep Learning Spring 2020
Pytorch - Tensors and Dynamic neural networks in Python with strong GPU acceleration
Made-With-ML - Learn how to design, develop, deploy and iterate on production-grade ML applications.
bindsnet - Simulation of spiking neural networks (SNNs) using PyTorch.
ocaml-torch - OCaml bindings for PyTorch
Neuromorphic-Computing-Guide - Learn about the Neumorphic engineering process of creating large-scale integration (VLSI) systems containing electronic analog circuits to mimic neuro-biological architectures.
lava - A Software Framework for Neuromorphic Computing