How do neuron signals encode magnitude?

“Does this make sense in an HTM context though?“

Yes, in a subtle way.
A given dendrite segment is considered fired if a certain number of adjacent synapses fire in some unit of time.
This collection of synapses can be a larger number firing once (the normal situation in HTM simulation) or a smaller number firing more rapidly.

Using a valued synapse as a proxy for firing rate and rolling integration along the Dendrite would capture this behavior.

Naturally, you would have to spend some time getting the spatial arrangement of the dendrite and synapses right for this to mean anything.

This is also a case where you would have to turn topology on in the simulation- not normally done in HTM. HTM School Episode 10: Topology

Rolling integration?
Given an array of synapses forming a dendrite, each holding an activation value, a related array of integrated synapse values, where these values are the sum of n_size synapses, or the segment activation, this is a simple brute force method:

“a is segment activation, integrated”

For I = 0 to length of dendrite-n_size
A(I) = 0
For n = 0 to n_size
a(I) += dendrite(I+n) “Synapse value”
Next n
Next I

If the activation is more than some value X, the segment is assumed to have fired.

There are several optimizations possible.
We do this sort of thing all the time in signal processing.

Once you get into this can of worms you will have to work out how the main cell body generates a firing rate; the activation value to be transmitted via its axons. More activation in is more activation out.

5 Likes