Skip to content
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 transmitter-triggered plasticity #2

Closed
yilun-wu opened this issue Oct 11, 2023 · 4 comments · Fixed by #7
Closed

Implementation of transmitter-triggered plasticity #2

yilun-wu opened this issue Oct 11, 2023 · 4 comments · Fixed by #7

Comments

@yilun-wu
Copy link

Dear authors,
The spiking LPL rule (eq. 18) in the paper shows that the delta term is added for a synapse at presynaptic spike times. However, it seems that in the implementation

err->add(delta); // add transmitter triggered plasticity

the delta term is added to all regardless of presynaptic spiking condition, acting like a bias.
Is this an error in the implementation or am I missing something here?

@fzenke
Copy link
Collaborator

fzenke commented Oct 11, 2023

Dear Yilun,

Thanks for your question and the careful reading of our code.

Upon cursory inspection, our spiking implementation appears to deviate slightly from Equation (18) in the preprint, i.e., the delta term being within the large parenthesis as you write. That said, any constant bias in the local "error" term is transmitter-triggered as it gets multiplied by the filtered presynaptic spike train and a non-negative function of the postsynaptic voltage. See [1] Eq. (2.5), albeit not in the event-based sense that Eq. (18) currently suggests. Irrespective of where the term appears, both approaches should work, but delta's numerical value may differ.

Again, thank you for raising this potential issue. Please give me some time to investigate this matter closely. If this turns out to be a mistake, we should rectify it and ensure the code and manuscript correspond.

[1] Zenke, F. & Ganguli, S. SuperSpike: Supervised Learning in Multilayer Spiking Neural Networks. Neural Comput 30, 1514–1541 (2 18).

@fzenke
Copy link
Collaborator

fzenke commented Nov 6, 2023

I can confirm that there is indeed a discrepancy between the equation in the methods and what we simulated. We also simulated the equation as published, and as expected, it does not have a qualitative effect on the results (see below). In any case, we will upload an erratum. Thanks again for flagging this issue!

differences

@yilun-wu
Copy link
Author

yilun-wu commented Nov 6, 2023

Awesome! Will the code also be updated?

@fzenke
Copy link
Collaborator

fzenke commented Nov 6, 2023

Here is a tentative patch to reproduce the figure above. Not sure yet, whether it will be merged into main. Probably, we will just leave it in a branch and refer to it in the erratum.

alternative_transmitter_triggered.patch.zip

This was referenced Jan 15, 2024
@fzenke fzenke closed this as completed in #7 Jan 16, 2024
fzenke added a commit that referenced this issue Jan 16, 2024
Adds an erratum which addresses issues #2, #3, #4, and #5.

Resolves #2
Resolves #3
Resolves #4
Resolves #5
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 a pull request may close this issue.

2 participants