ricardodeazambuja / Bee

The Spiking Reservoir (Liquid State Machine - LSM) Simulator
Creative Commons Zero v1.0 Universal
52 stars 10 forks source link

Learning rule, and getting started with BEE #2

Closed Dola47 closed 2 years ago

Dola47 commented 3 years ago

Hi @ricardodeazambuja ,

I am quite interested in using LSM. However, I have some questions regarding it and the BEE simulator.

Thanks a lot and looking forward to your response.

Dola47 commented 3 years ago

Hi @ricardodeazambuja ,

Do you have any further response?

ricardodeazambuja commented 2 years ago

Sorry for my delay, but I was in the middle of a continental change in my life :)

  1. BEE works based on the principle where the reservoir ("liquid") never changes after it was created. Therefore, there's no plasticity inside the reservoir.
  2. The reservoir is a 3D shaped neural network, and you can set the dimensions so it could be only one layer if you want, but that wouldn't make much sense in my opinion.
  3. Back to 1, the reservoir is generated following a specific distribution (small world networks) and the parameters you set. After that, nothing changes besides the membrane potentials, etc related to the spiking neural model internal workings.
  4. You generate a reservoir ("liquid"), then you can use the same reservoir for multiple tasks. For each task you need to train an external classifier (it could be anything, I used in my PhD a simple linear regression - Ridge).
  5. Please, I suggest you to have a look at the papers cited at the bottom of the readme because they will have examples, etc. Also, check the repositories from those papers (also linked in the readme) because they have notebooks to reproduce everything (considering Numpy, etc didn't break anything since the time the papers were published).
  6. The Colab version is a good idea. I will try to do it in the future, but you are welcome to do it yourself and I can try to help as much as my schedule allows me.
  7. No, I didn't prepare BEE for that. In fact, I only tested it on MacOS and Linux Ubuntu, so I don't even know where it would work as you need to compile it using gcc.

I hope my answers can help you, cheers!