Unsupervised learning of digit recognition using spike-timing-dependent

Good afternoon, all Brian users

I am reading this paper “Unsupervised learning of digit recognition using spike-timing-dependent plasticity” ( https://www.frontiersin.org/articles/10.3389/fncom.2015.00099/full). I have several questions regarding this article.

  1. Is there any Brian2 implementation of STDP rules together with lateral inhibition and homeostasis?
    or just an example of STDP with lateral inhibition?

  2. As far as I understood, in this work “adaptive spiking threshold” has been used by giving a condition on to “reset”. If it is so, what is the functionality of “homeostasis” and where we can use that on equations?

Thank you,

As a quick remark, there is a Brian2 implementation of this specific paper by Xu Zhang : https://github.com/zxzhijia/Brian2STDPMNIST The code is a couple of years old, though, and it does not get updated anymore (e.g. it is not compatible with Python 3 as it is). A number of people forked and adapted this example, though (e.g. https://github.com/sdpenguin/Brian2STDPMNIST), these later versions might have fixed some of the issues.

Quite a few people seem to be interested in this example, it would be great if some of you could get together and turn this into a working example that can be shared with the community. This is somewhat similar to Pattern recognition in Spiking Neural Nets using Brian2 in scope, so maybe @touches and @Ziaeemehr would be interested?

1 Like

Thank you, @mstimberg

@touches and @Ziaeemehr, could you look at this paper, please?

I would be glad to work on this new project.
Thank you very much.

1 Like

I will give a try. These days I am a bit busy for preparing results for neuromatch 3 talk.

Hello Assel,

This paper is quite frequently referenced and the code is a tad too difficult to decipher as I belive the style its written in can be made a little clearer. A couple of dark spots that I could not figure out from the code was the Synaptic connections. In the paper there is lateral inhibition (i != j) but in the code the synapses seem to be connected in an one-one fashion. Like Marcel said, this would be an excellent exercise to implement this paper in a more understandable manner and get it to produce results that can derived easily. Let me know if you want me to start a project for this or you can go ahead creating one.

1 Like

Good afternoon,

@touches, yes it would be excellent. I really want to understand this article and work on it.

I could not understand the implementation of “lateral inhibition” and “homeostasis” on the code. Moreover, on paper was written that network structure consists of 2 layers, but isn’t it 3 layers?
Thank you!