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

Add SPSN #5

Open
1 of 3 tasks
kmheckel opened this issue Sep 30, 2023 · 3 comments
Open
1 of 3 tasks

Add SPSN #5

kmheckel opened this issue Sep 30, 2023 · 3 comments
Assignees
Labels
enhancement New feature or request

Comments

@kmheckel
Copy link
Owner

kmheckel commented Sep 30, 2023

Add Stochastic Parallelizable Spiking Neuron model.

Paper:
https://arxiv.org/abs/2306.12666#:~:text=In%20this%20paper%2C%20we%20propose,run%20in%20parallel%20over%20time.

Torch implementation:
https://github.com/NECOTIS/Stochastic-Parallelizable-Spiking-Neuron-SPSN/blob/main/neurons/spsn.py

  • Implement prototype SPSN model
  • Ensure implementation is correct
  • Determine proper way to write training loop for S4 that follows the philosophy of Haiku/Spyx
@kmheckel kmheckel added the enhancement New feature or request label Oct 1, 2023
@kmheckel kmheckel self-assigned this Oct 26, 2023
@kmheckel
Copy link
Owner Author

https://arxiv.org/abs/2401.00955

Spiking State Space Machine Paper.

@kmheckel
Copy link
Owner Author

kmheckel commented Jan 28, 2024

A prototype implementation has been implemented in spyx.experimental.
Need to verify the dimensions of internal calculation as right now there's broadcasting issues if the output dimension isn't a multiple/fraction of the input dim.

Training accuracy on SHD comparable to regularly trained recurrent SNNs in Spyx. Performance is comparable to recurrent model at small scales tested locally with short sequences (64). Testing notebook is at research/SPSN.

Considering creating a stochastic Axon class for _SigmoidBernoulli and refactoring it.

  • Investigate limiting the sigmoid maximum to <1.0 to prevent extreme firing when oversaturated.
  • Implement CuBaSPSN with second constant.
  • Consider changing name schame to ParaLIF and ParaCuBaLIF

@kmheckel
Copy link
Owner Author

Found this:

Parallel Spiking Unit:
https://arxiv.org/abs/2402.00449

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant