Hello,

This is an update for those who are interested in continuous HTM.

I have modified the formulas of the continuous spatial pooler to result in
different active column combinations instead of just different column
intensities when the input intensity is modified (but the pattern is kept
the same).

So, I can now feed inputs to the region by varying the strength of the
input instead of producing entirely unique input patterns. I can directly
pass scalars to the region.

This was the original intent of the algorithm, but my previous formulas
didn't actually work. As far as I can tell from the tests I have made the
new formulas do work.

It now works very similarly to a self-organizing map. The weights of the
columns act like prototype vectors for their receptive field. The activity
of a column is given by a function of the distance between the prototype
and the input. They then inhibit those of lower activity around them, and
learn using Oja's rule.

To calculate the activation of a column:



​Where A is the activation, x is the input vector (the values in the
receptive field), p is the prototype (weight) vector, and C is some
constant scaling factor.

The column state S can then be computed as :


​
Where C is a constant scaling factor that may be different from the one in
the previous formula.

The learning rule is still the same as it used to be.

I have updated the repository. For those of you who see this for the first
time, it is here: https://github.com/222464/ContinuousHTMGPU

Reply via email to