Skip to content

Conversation

@and-rewsmith
Copy link
Collaborator

@and-rewsmith and-rewsmith commented Nov 25, 2025

Adding an implementation of a "Generation 2" SSM (with unit tests) for a new spiking neuron model, named AssociativeLeaky after its outer-product based read/write semantics.

The main thing to review in this PR is the neuron model. I superclassed SpikingNeuron rather than LIF. With LIF I ran into issues with required superclass initializations that are coupled more towards typical spiking neuron models, rather than a flexible new type of associative memory model with many internal projections.

So here is my mental model of what is most efficient to discuss:

  1. Do we think it is a good idea to superclass the SpikingNeuron?
  2. Are we ok with detaching from prior LIF semantics regarding returning one or two variables depending on initialization (and instead only return one -- either membrane or spikes)? The motivation for avoiding returning two variables, is that here there exist downstream projections after spiking, which would necessitate extra computations that we don't want.
  3. Are we ok with an optional flag to disable the q projection? I included that as someone may want it, but it does detach from the root point a bit for Gen2 SSM (i.e. input dependent q will query associative memory based on input). The motivation for removing it is that someone may prefer to learn a projection that is not coupled to the input.

I have my own answers for above (implemented here), but if @jeshraghian disagrees I can change it.

Miscellaneous notes:

  1. I have uploaded the paper artifacts here for now, but will move them to a new branch prior to merging this.
  2. We should squash merge this rather than merge commit, as I may add unstructured commits to this PR branch.

@and-rewsmith and-rewsmith force-pushed the andsmi/gen2-pr branch 3 times, most recently from d0fec03 to a42314c Compare November 26, 2025 01:22
@and-rewsmith and-rewsmith marked this pull request as ready for review December 14, 2025 04:17
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.

1 participant