Hi everyone, I am a MSc student interested in Spiking Neural Networks.
First of all, I would like to thank the people working behind Nengo and the community. I have managed to find almost always the information and the knowledge I was seeking. However, this time I need to reach out for help and a suggestion.
The main reason for me to approach the technology of SNN is that I am very enthusiastic about the great possibilities in terms of energy savings due to the spiking nature of such networks. The main application I am exploring is time-series forecasting using SNN. I have two possible strategies:
- converting to NengoDL a DNN model that uses LSTM and runs on Tensorflow
- writing from scratch my new spiking model using either NengoDL or KerasSpiking
Since I am also interested in good quality predictions and I have been very impressed by the results obtained by LMU on the sequential-MNIST challenge, I am really thinking this is the best way forward for me. Moreover, the similarity of LMU to LSTM together with the numerous learning resources on the Nengo website also influenced my decision.
In the past couple of months, I have extensively explored Nengo and its application from the most basic example to the most complex ones related to NengoDL. For instance, I went through the Nengo examples, with particular attention to the one about LMU. I have also followed and reproduced most of the NengoDL examples, and again focusing on LMU. I have to say it’s quite easy and straightforward to follow through with your example and documentation, given the really nice quality and quantity, but unfortunately, I am not an expert at all in regards to TensorFlow. For this reason, I have struggled without any good progress in the past weeks by trying to converting the TensorFlow LSTM model I was given to a NengoDL model with LMU.
Given that I am more experienced with Keras, now I am thinking to go with KerasSpiking. However, I am not really sure about the possible downsides if I choose this approach. I have read the comparison page, but I am not really sure about the implication of the following sentence: "One particularly significant distinction is that KerasSpiking does not really integrate with the rest of the Nengo ecosystem (e.g., it cannot run models built with the Nengo API, and models built with KerasSpiking cannot run on other Nengo platforms) ". Lastly, I am really interested in the KerasSpiking example called “Estimating Model Energy”, because it could be really useful to prove my initial point. This could be another great reason to choose KerasSpiking, since I couldn’t find any other similar example for NengoDL.
My data looks very similar to this one.
What do you guys recommend for my case? Should I try out KerasSpiking and if yes is it possible to use it with LMUs? Any resource?
On the contrary, do you guys have any suggestions or resources I can use to start implementing my LMU NengoDL model based on my data? Would It be useful to post another question in the forum with my actual TensorFlow model and ask for more practical advice?
I am aware it is a long message, but I wanted to be complete and exhaustive rather than asking a poor question. I really appreciate any form of help or input, thank you all in advance.