damiendr / SpikeNet.jl

A spiking neural network simulator written in Julia.
Apache License 2.0
20 stars 3 forks source link

Future plans #1

Open tbreloff opened 8 years ago

tbreloff commented 8 years ago

Hi @damiendr. I was wondering about your goals/plans for this repo. I am also interested in spiking neural models, but more geared towards AI (not necessarily biologically correct). I have some code for SRM neurons and LSM in my repo https://github.com/tbreloff/OnlineAI.jl. I'm considering spinning off the spiking models/networks into a separate repo, as I reorganize for a push into applying spiking models to reinforcement learning. Let me know if you have any interest in collaboration, or if you'd prefer to keep this as a personal repo for your own experimentation.

damiendr commented 8 years ago

Hi @tbreloff, at the moment this is very much personal experiments but the aim is to make it more broadly usable eventually!

The philosophy of the project is to provide a minimal set of building blocks for spiking neuron simulators: eg. pathways, state updaters, recorders, etc. It is inspired by the tidiness of Brian (eg. implicit elementwise updates and pre/post variable access in model definitions) but differs in that it tries to be extremely hackable: the user should retain full control of the simulation loop (that's where Julia shines, as a pure Julia main loop is fast enough to make that possible) and be able to mix the core components with custom code.

The reason for that is that my research is also geared towards AI and takes some liberties with classical spiking neuron models (for instance hybrid rate-spike networks that combine LIF somas with discrete rate-based dendrites). I also work on very long running simulations (days+) and needed state recorders that could deal with that, eg. recording the full spike data for specific periods only. Again Julia makes that very easy.

I am happy with the current level of abstraction and the performance I'm getting in combination with another project of mine: https://github.com/damiendr/ISPC.jl which translates the pathways and state updaters to SSE/AVX vector code with the help of Intel's ispc compiler (GPU support might come later on, but that's speculative).

Still on the TODO list are the following:

I'd be glad to collaborate if you have similiar goals in mind!

tbreloff commented 8 years ago

Thanks for the quick response. I'll keep these comments in mind during my reorganization and see if it makes sense to collaborate.

my research is also geared towards AI

Out of curiosity... what sort of research?

damiendr commented 8 years ago

Online sparse coding / predictive coding applied to robotics. It sounds like you do something similar!

tbreloff commented 8 years ago

Yes this is one area I'm very interested in. Have you reviewed HTM theory? It seems as though the perfect application is autonomous robotic control.

On Dec 10, 2015, at 6:32 AM, damiendr notifications@github.com wrote:

Online sparse coding / predictive coding applied to robotics. It sounds like you do something similar!

— Reply to this email directly or view it on GitHub.

Modatu commented 5 years ago

Hi @tbreloff and @damiendr,

first off: sorry for resurrecting this 3 year old issue. I am very interested in this project and as @tbreloff I am coming from a reinforcement learning/machine learning/ai background. At the moment I am exploring spiking neural networks and Julia at the same time and thought maybe I can combine this and 1) contribute or 2) start a package on spiking neural networks with a focus on ML/RL written in Julia. Did you guys somehow proceed on this project? Are you open for collaboration?

Thanks in advance!