The Bayesian C. elegans project.
Bayesian Brains without Probabilities, using Bayesian Neural Network to model the C. elegans neural system.
The bio-physical interpretation is that the brain is a Bayesian model. Parameters of neurons and synapses are represented as distribution (currently Normal distributon based on obersavation).
Thus, by input some signal (acts as sampling from the world distribution), the model generates a distribution of output. The signal generated by the network acts as an observation to the output.
Refer to Source Code in c302
The "NematodeForStep" model acts like a Markov-Chain like model, where it inputs:
- Voltage from last step (Markov's Previous Status)
$x_{t-1}$ - External Input and Voltage Clamp from this step
$input_{t}$
The input will go over the pipeline below:
- deal with clamp, synapse dynamics (with current I, not logged)
- the neuron dynamics (with voltage V, logged in
$x_t$ ) - add noise to neuron output according to Signal-to-Noise Ratio here.
However, it should be explicitly pointed out that it's not really a Markov model. The TBA GRU-based extrasynaptic connection and neuron dynamics are with memory.
The "RecurrentNematode" model acts as an RNN (Recurrent Neural Network) here. It wraps single-step model, and use Euler Step method to infer the dynamics.
TODO: Using better ODE solvers other than naive Euler-Step.
The key neuron models here are Conductance-based non-spiking Model, GRU-based model and Spiking model.
The conductance model here is based on A generic conductance-based model of non-spiking Caenorhabditis elegans neurons and its mathematical analysis.
To simplify this model, we can assume the $h_{}$ and $x_{}$ here is constant. The equation turns into a
Simply using PyTorch GRU and wrap it as a neuron.
TODO
Simple model directly calculates
Simply using PyTorch GRU and wrap it as a synapse.
Mainly with Pyro.
Refer to SVI Part I: An Introduction to Stochastic Variational Inference in Pyro¶
TODO