-
Notifications
You must be signed in to change notification settings - Fork 332
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implementation of MSTDPET is wrong? #140
Comments
Hi @godelicbach, Thanks for the catch! I think this is the best way to handle this problem, by the way, since it makes it easy for me to understand the issue before rewriting any code. The implementation does seem wrong, like you say; I'll open a pull request with a fix and reference this issue in it, so you can check it out. I think one reason why it might be wrong is that we haven't really been using it in our lab for experiments. I simply implemented it one day because I read the M-STDP paper and thought it was an interesting idea. |
Thank you for fast and kind reply! |
I'll just leave off with this: the |
First of all, thank you for making this open-source library. I really appreciate the intention and approach of this project. And I hope I could contribute something.
Maybe this problem would be more proper to be handled by pull request or something. But I'm not really used to github's contributing process or something. Please tell me if I'm doing something wrong.
Here's the thing. I looked inside the MSTDPET learning rule and I found its implementation is different from Florian's original learning rule. Current implementation is as follows.
self.p_plus = -(self.tc_plus * self.p_plus) + a_plus * source_x
self.p_minus = -(self.tc_minus * self.p_minus) + a_minus * target_x
However, in Florian's paper, it's described as
or
Maybe someone who implemented it was confused between dP/dt and just P.
Thank you for reading!
The text was updated successfully, but these errors were encountered: