Hi,
I am interested in doing spiking neural networks simulations in Julia. The package Neuroblox.jl seems very promising, and the lectures posted on MIT OpenCourseware on it make it clear that it is possible to build custom neural and synaptic models.
I am having a hard time understanding if and how it is possible to include learning rules into the system, especially ones that get applied when pre or post synaptic neurons spike, for example an STDP rule. I had a look at the documentation, without much success.
I would really like to hear from someone familiar with the package if this is possible in its current state, and if they think the package is ready for general usage.
This is my first post on this forum, so please let me know if I am breaking any rule
. I apologize for the absence of links, but I am not yet allowed to include them.
Hi there, thanks for taking an interest in Neuroblox and the course, and apologies for the late reply. You are right, it is possible to build such custom models, we prioritise modularity like this. You should be able to use the current Hebbian learning rules in any connection involving neurons, like the ones in the course tutorials.
Adding custom learning rules is quite fiddly for now but we are fixing it. In the current version you have to extend some internal functions (these three ones). In the current version you would also need to know which states of the pre- and post-synaptic neurons participate in the rule and at what times during simulation their values should be used to calculate the weight gradient (like these fields do in the simple Hebbian rule).
We are working on a new release which should be out soon, where we simplify the API and export more utility functions for customising connection and learning rules. I would recommend waiting for this version to come out. When it does, I’ll also update the course tutorial page with new syntax and add an example including custom learning rules too. If it’s something urgent that you want to simulate now, feel free to add more details about your use case here and I can help you with the code to run it.
Haris
Hi Haris, thank you for getting back to me. I am excited to hear that you are working on the learning rules and I am looking forward to try the new version when it will come out!
You mention that in the current version you would need to know at what times during the simulation the weights should change. This seems incompatible with a learning rule where the weight changes whenever the pre or post-synaptic neuron spike, as these times are not known before running the simulation.
Will it be possible to implement this type of learning rule in the new version?