Student from the lab that originally developed Nengo here.
Yes! As far as I know, the company that develops Nengo (ABR) [1] is working on this with Intel [2]. Also see the presentation "Building applications with next generation neuromorphic hardware" from the NICE 2018 workshop [2] (video is available, password is on the top of the page).
I'm currently working on something I can't speak much about, but it involves heterogeneous NN, different ICs for training and for operation. Operation is that way simpler, and hence significantly faster and more paralleliable, as removes useless logic and the complexity of the "too many clock domains" hell on backpropagation networks.
How does this differ from something like TensorFlow? "Nengo is used to implement networks for deep learning, vision.." is this true? Does this system even support things like automatic symbolic differentiation? This seems more like a neuro science research tool than a practical framework for building neural networks.
Student from the lab that originally developed Nengo here.
You're correct in the assumption that Nengo is ‒ among others ‒ a neuroscience research tool; primarily, because it allows you to build networks of spiking neurons. Apart from neuroscience you can also do things like mapping pre-trained deep neural networks onto spiking neurons. These networks can then be executed on neuromorphic hardware.
However, you can also run your simulations with "regular" rate-based neurons. In this case, the interface that Nengo provides is significantly more low-level than that of TensorFlow. Still, the main difference to TensorFlow is that Nengo networks are dynamic, i.e. the network is not described in terms of discrete time steps, but as a fully dynamical system (though a numerical simulator will discretise time at some point). In conjunction with neuromorphic hardware this allows things like real-time motor control with (sub-)millisecond resolution.
That sounds pretty interesting, would you happen to know if these can be used to simulate the worm connectome (OpenWorm?) linked up in a virtual environment?
You could, but it might not be particularly useful. They already have a really good simulation environment and ways to connect it to virtual environments. It would be useful if you wanted to extend the model with further neural populations!
So if someone had a cockroach or ant connectome the Nengo simulator could, in theory, be used to simulate a population of them connected to some virtual environment?
I am still trying to understand basic details and unfortunately docs aren’t helping at all. You might get much more interest from community if you can compare and contrast existing NNs. Specifically,
1. Where can I find a diagram of neuron you use?
2. Where can I find a diagram of network you use (for simple example)?
3. What is an example of simple learning algorithm for above?
Yeah, the docs really aren't the ideal entry point. Instead, I'd recommend installing the [Nengo GUI](https://github.com/nengo/nengo-gui) and going through the built-in tutorial.
> 1. Where can I find a diagram of neuron you use?
We use a bunch of different neurons [1], but the default one is the Spiking LIF. It's really common in computational neuroscience.
> 2. Where can I find a diagram of network you use (for simple example)?