Hi Fergal, This is a nice idea to try out. It might work even better than the CLAClassifier because each "vote" would combine information from multiple input SDR bits, whereas the current classifier treats each bit independently. You might want more than one neuron per bucket though so you can combine a large number of votes for each bucket.
I also like the idea of making the classifier functions more biological. At the end of the day this all has to happen with neurons! --Subutai On Mon, Jul 13, 2015 at 3:22 AM, Fergal Byrne <[email protected]> wrote: > Thanks for that, really useful in-depth walk through. > > Subutai (and Jeff), > > I've been thinking about this mapping problem ever since NuPIC was open > sourced, and I have an idea for re-engineering the classifier (whatever > it's used for - predicting or decoding) into a biological structure. > > The idea is to replace the "histograms" (bucket-indexed data structures) > Subutai described with CLA neurons. These neurons would represent a > population of L6 neurons in my region model. > > Each neuron in the L6Classifier would represent a bucket (a vertical slice > in Subutai's model), and would have a dendrite connecting to the output SDR > (from TM in the video). The synapse permanence would correspond to the > likelihood numbers in CLAClassifier buckets, but would update using the > moving average rule (which is just a variant of a Hebbian rule anyway). You > could store the expected actual input value in those synapses too (this is > an added engineering convenience). > > The "neural program" for these neurons could just be the same kind of > voting algorithm CLAClassifier uses - this would make it equivalent to that > component. > > This data structure is equivalent to the CLAClassifier in that you are > storing the same information in a homologous form, but has the advantage of > being biological, as well as having some better properties of compactness. > > If, instead of (or as well as) using "bucket space", you use "encoder > space", you can do extra things which the CLAClassifier cannot. > Alternatively, you could re-encode the decoder output (in input space) > using the encoder. > > If you use my mathematical model of the semantics of SDRs (sets of vectors > approximating an input), then each bucket neuron is pointing in the > direction of a predicted value, which is an estimate derived from the TM > SDR bits. > > My model needs this kind of structure in L6 in order to support simulation > and controlled gating/faking of inputs, as well as functions such as > persistence of vision and stabilisation of the L4-L2/3-L5/6 loops. > > I'm putting these neurons in L6 for simplicity, but they could involve the > circuits connected to L6 in thalamus as well. > > Chetan/Subutai, > > I have a similar idea for the GPS encoder. It's a bit more complex, so > I'll talk about it separately. > > Regards, > > Fergal Byrne > > > On Thu, Jul 9, 2015 at 1:21 PM, David Ray <[email protected]> > wrote: > >> Thanks Guys! >> >> Sent from my iPhone >> >> On Jul 9, 2015, at 12:47 AM, Richard Crowder <[email protected]> wrote: >> >> Very nice! [image: 👏] >> >> On Thu, Jul 9, 2015 at 3:03 AM, Matthew Taylor <[email protected]> wrote: >> >>> https://www.youtube.com/watch?v=QZBtaP_gcn0 >>> >>> Freshly recorded today in the office. >>> >>> --------- >>> Matt Taylor >>> OS Community Flag-Bearer >>> Numenta >>> >>> >> > > > -- > > Fergal Byrne, Brenter IT @fergbyrne > > http://inbits.com - Better Living through Thoughtful Technology > http://ie.linkedin.com/in/fergbyrne/ - https://github.com/fergalbyrne > > Founder of Clortex: HTM in Clojure - > https://github.com/nupic-community/clortex > Co-creator @OccupyStartups Time-Bombed Open License > http://occupystartups.me > > Author, Real Machine Intelligence with Clortex and NuPIC > Read for free or buy the book at https://leanpub.com/realsmartmachines > > e:[email protected] t:+353 83 4214179 > Join the quest for Machine Intelligence at http://numenta.org > Formerly of Adnet [email protected] http://www.adnet.ie >
