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

Generalize recurrent-to-readout and readout-to-recurrent delays #31

Open
wants to merge 12 commits into
base: eprop_bio_feature
Choose a base branch
from

Conversation

JesusEV
Copy link
Owner

@JesusEV JesusEV commented Jun 26, 2024

This PR introduces modifications to handle the propagation delay of spikes propagating from the recurrent layer to the readout layer when this delay surpasses one resolution step. It also supports learning signals with delays exceeding one resolution step.

Additionally, the PR implements a series of consistency checks to ensure the proper configuration of generalized delay parameters (d_rec_out and d_out_rec) across various types of eprop neurons throughout the neural network.

Consistency Check for Recurrent and Output Neurons (d_out_rec):

  • Step 1: Recurrent neurons (eprop_iaf, eprop_iaf_adapt, eprop_iaf_psc_delta) transmit a test event using a delay specified by their own d_rec_out value.
  • Step 2: Output neurons (eprop_readout) receive the test event and compare the actual delay against their own d_rec_out parameter.

Connection-Specific Consistency Checks:

  • Rec-Rec Connection:

    • Connections between recurrent neurons can retrieve the delay parameters (d_rec_out and d_out_rec) from the target recurrent neuron.
  • Rec-Out Connection:

    • For connections from recurrent to output neurons, the delay is verified to match the d_rec_out set by the target output neuron using the check_connection function.
  • Out-Rec Connection (Feedback Connection):

    • For feedback connections from output to recurrent neurons, the delay is verified to match the d_out_rec set by the target output neuron using the check_connection function.

The following diagram illustrates these consistency checks.
support

@JesusEV JesusEV requested a review from akorgor June 26, 2024 12:17
@akorgor
Copy link
Collaborator

akorgor commented Jun 26, 2024

  • Could you please also adjust the eprop_supervised_classification_evidence-accumulation.py script?

@JesusEV JesusEV force-pushed the generalize-delays-recurrent-readout branch from 973e0bb to b1d0289 Compare July 3, 2024 10:01
JesusEV and others added 12 commits August 1, 2024 12:59
Co-authored-by: Agnes Korcsak-Gorzo <40828647+akorgor@users.noreply.github.com>
Co-authored-by: Agnes Korcsak-Gorzo <40828647+akorgor@users.noreply.github.com>
Co-authored-by: Agnes Korcsak-Gorzo <40828647+akorgor@users.noreply.github.com>
Co-authored-by: Agnes Korcsak-Gorzo <40828647+akorgor@users.noreply.github.com>
Co-authored-by: Agnes Korcsak-Gorzo <40828647+akorgor@users.noreply.github.com>
Co-authored-by: Agnes Korcsak-Gorzo <40828647+akorgor@users.noreply.github.com>
* add support for generalized delays to the evidence accumulation task
@JesusEV JesusEV force-pushed the generalize-delays-recurrent-readout branch from b1d0289 to 0197878 Compare August 1, 2024 11:02
Copy link

Pull request automatically marked stale!

@github-actions github-actions bot added the stale label Nov 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants