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

Support connections with heterogeneous synaptic time-constants #1636

Open
arvoelke opened this issue Aug 30, 2020 · 2 comments
Open

Support connections with heterogeneous synaptic time-constants #1636

arvoelke opened this issue Aug 30, 2020 · 2 comments

Comments

@arvoelke
Copy link
Contributor

arvoelke commented Aug 30, 2020

Is your feature request related to a problem? Please describe.

KerasSpiking supports using a different time-constant for each dimension (such that they can all be trained separately). But nengo.Connection(..., synapse=synapse) uses the same synapse for every dimension (in particular, the same time-constants). And there are lots of useful methods out there that use two or more time-constants, for example:

Describe the solution you'd like

At the API level, this could be implemented by allowing the time-constant(s) to be an array_like or Distribution. At the backend level, this could be implemented in the same way as KerasSpiking (i.e., by broadcasting the array of discretized time-constants onto the operations that concurrently update all of the synaptic state variables).

Describe alternatives you've considered

This is supported in nengolib by using a Node: https://arvoelke.github.io/nengolib-docs/nengolib.synapses.HeteroSynapse.html#nengolib.synapses.HeteroSynapse -- but this approach is really only useful for experimentation / prototyping. It's also a bit overkill, because it supports using synapses of all different types. More importantly, it doesn't help if you wanted to compile the network onto, say, Loihi (which supports heterogeneous time-constants). It also doesn't help if you wanted to convert a KerasSpiking model to Nengo.

@hunse
Copy link
Collaborator

hunse commented Aug 31, 2020

Somewhat related to #1026/#1028 (allowing neuron time constants to be heterogeneous).

@drasmuss
Copy link
Member

Notes from meeting: Only allow this on neuron-to-neuron connections (not NEF connections)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

3 participants