Skip to content

Implemented R-max learning rule and SRM0 neurons#249

Merged
Hananel-Hazan merged 6 commits intoBindsNET:masterfrom
Huizerd:master
May 28, 2019
Merged

Implemented R-max learning rule and SRM0 neurons#249
Hananel-Hazan merged 6 commits intoBindsNET:masterfrom
Huizerd:master

Conversation

@Huizerd
Copy link
Copy Markdown
Collaborator

@Huizerd Huizerd commented May 20, 2019

2 additions to BindsNET:

I also added the corresponding tests, and changed something about the way spike traces are kept track of:

https://github.com/Hananel-Hazan/bindsnet/blob/4021360cc0f715947bf6dc3f7effab003141cb4c/bindsnet/network/nodes.py#L69

In literature (e.g. Paredes-Valles et al., 2018, Scholarpedia), and in all eligibility traces implemented in the code, spikes/values are added to the trace instead of the trace being reset to 1. It also seems more natural this way.

@Hananel-Hazan Hananel-Hazan requested review from dee0512 and djsaunde May 20, 2019 16:20
Copy link
Copy Markdown
Collaborator

@djsaunde djsaunde left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me!

In literature (e.g. Paredes-Valles et al., 2018, Scholarpedia), and in all eligibility traces implemented in the code, spikes/values are added to the trace instead of the trace being reset to 1. It also seems more natural this way.

I'm not so sure about this. This should be an option; I like resetting to one as a default for simplicity. This also makes certain learning rule updates easier to interpret.

Out of curiosity, do you have an example showing how this rule works?

@Hananel-Hazan
Copy link
Copy Markdown
Collaborator

@Huizerd Great Job!
If you can make a simple example for each rule that would be great. It will give other people that want to use BindsNET an easy start.
We are compiling a set of examples to use and a Readme file to each one of the examples. It will be great to add your code with your name as the writer to those examples.

@djsaunde
Copy link
Copy Markdown
Collaborator

djsaunde commented May 20, 2019

Maybe a single README for the examples/ folder, with a list entry for each example? I can get this started @Hananel-Hazan.

@Hananel-Hazan
Copy link
Copy Markdown
Collaborator

@djsaunde this is better discussed via email...

@Huizerd
Copy link
Copy Markdown
Collaborator Author

Huizerd commented May 21, 2019

Do you mean an example of how the different learning rules change weights? Something like this:

florian_learningrule

This is only for MSTDP and MSTDPET, but I could add a row for R-max

@Hananel-Hazan
Copy link
Copy Markdown
Collaborator

Yes, that is useful.
If you can think about other examples that show how the model works, like implementing the example from the paper, or something simpler.

@djsaunde
Copy link
Copy Markdown
Collaborator

I'm not so sure about this. This should be an option; I like resetting to one as a default for simplicity. This also makes certain learning rule updates easier to interpret.

Bumping this. @Huizerd could you implement this change? Namely, make resetting to 1.0 the default, and adding an option for additive spike traces.

@Huizerd
Copy link
Copy Markdown
Collaborator Author

Huizerd commented May 22, 2019

@djsaunde Sure! Seems like a good way to allow both.

@djsaunde
Copy link
Copy Markdown
Collaborator

@Hananel-Hazan Looks good to me. Good to merge?

@Huizerd
Copy link
Copy Markdown
Collaborator Author

Huizerd commented May 28, 2019

I am currently working on a simple simulator in which learning rules like these could be demonstrated/experimented with very easily. However, as it's part of my thesis, I cannot add it just yet. I will certainly do so when it's finished, so any examples that might be lacking now will be made up for later!

@Hananel-Hazan
Copy link
Copy Markdown
Collaborator

Thanks @Huizerd, that is great! We will be glad to see your thesis examples.
Good luck!

@Hananel-Hazan Hananel-Hazan merged commit 4a65980 into BindsNET:master May 28, 2019
gozdeunal04 pushed a commit to gozdeunal04/bindsnet that referenced this pull request Apr 17, 2026
Implemented R-max learning rule and SRM0 neurons
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants