Cerebellum, oscillators coupled

https://www.nengo.ai/nengo/examples/dynamics/controlled-oscillator.html

Hello everybody,
I am trying to model the IO nucleus of the cerebellum as weakly coupled oscillators. With respect to this example I would like to add the gap junctions. Their job is to provide a simple coupling conductance of the type gC (V2 - V1) with gc a fixed number and V2 V1 the potential of the neuron.

Does anybody have any idea of how to implement it?

There’s a PyPI package from @astoecke at the CTN called nengo-bio that has some support for conductance-based synapses: e.g., https://github.com/astoeckel/nengo-bio/blob/b747aac1119373f8b0e4efb6d8f6036dec11f440/nengo_bio/neurons.py#L383
There could be a simpler way to emulate the use case in nengo by using a node, but I am not sure.
@astoecke, do you happen to have any example or recommendation on how to model the IO nucleus of the cerebellum as weakly coupled oscillators?

While nengo-bio supports conductance-based synapses and purely excitatory/inhibitory neuron populations, it unfortunately doesn’t really help with gap junctions (yet).

The closest thing it supports are two-compartment LIF neurons. In those neurons, two compartments (a passive “dendritic” compartment, and an active “somatic” compartment) are coupled via a “gap junction” with an adjustable gC.

Support for more sophisticated channel types is on my list of things to eventually implement, but low-priority right now.

Thank you so much for the help, I will use two-compartment LIF neurons if I manage to code it inside the recurrent IO connections (since gap junctions are between each of the olivary neurons with a sparsity percentage). In case I do not succeed, are the conduc. based synapses in nengo-bio compatible with the simulators in nengo and nengo dl?

Hi Piergiuseppe,

@astoecke can correct me if I’m wrong, but I do not believe that they will work in the nengo-dl simulator. The network may run, but it won’t be differentiable/trainable, as that requires the nengo objects to be defined in a native tensorflow implementation. For example, if a synapse is a LinearSynapse tensorflow subclass, then it will work in the nengo-dl sim, and be trainable.

Pawel is correct, the conductance-based synapses in nengo-bio, as well as the two-compartment LIF neurons are not compatible with nengo-dl; nengo-bio does use the default nengo simulator though.

The fundamental problem is that nengo has no support for neurons with multiple input channels (excitatory, inhibitory) and nengo-bio jumps through quite a few hoops to hack that into the nengo-internal operator graph. Also, as Pawel points out, the gradient for the nengo-bio objects is not exposed to nengo-dl.