Two additional points, maybe obvious
- Swarming isn't just a genetic algorithm, it is the equivalent of evolution in biology. It decides what values the model should look at (what senses an organism should have) and how to encode those values (like retina, cochlea, etc.), plus a few other global parameters. I don't view it as a hack. It is the direct analogue of biological evolution of senses. All animals have evolved to use a set of senses and sensory organs that work best for them (their "objective function"). That's all swarm does. - The phoneme example is best explained by the overabundance of connections in the cortex at birth. When you are born, the neurons in the cortex connect profusely and with much less selectivity than later in life. In the first few months/years of life most of these connections are lost. The basic idea is if the connections aren't helping they are removed. One reason is that connections in the brain take a lot of energy and space. It is a good species survival strategy that each new generation learn what patterns exist in their world as a young animal, then pare back the connections which will increase the survival rate for the rest of the animal's life. The downside is older people have more trouble learning new things, but then their children will take over. In the CLA we maintain and update a set of "potential connections". Because it is SW we can make this set as large as we like. So a CLA is more like a child's brain with the overabundance of connectivity. The downside is we have to update and check all the potential synapses all the time making the CLA slower and bigger in memory footprint. So far we have lived with this downside. It will be more difficult as we go to HW implementations of the CLA. Connections are the hardest thing to do in silicon. This is already the area of biggest challenge for those thinking about HW implementations. Jeff From: nupic [mailto:[email protected]] On Behalf Of Fergal Byrne Sent: Monday, September 09, 2013 8:00 AM To: NuPIC general mailing list. Subject: Re: [nupic-dev] New video: Swarming in NuPIC +1 on the twothumbsup! That's an excellent guide to swarming, thanks Ron. The video brings up a couple of thoughts. First, it seems that the plan for Grok is to build up a portfolio of concrete applications of the technology to real use cases, and to generate revenue from those uses in industry and commerce. The instances of these applications are in-situ, working bits of CLA whose parameters are optimised for just those use cases. Thus, swarming is a part of an industrial process which manufactures an installation for a customer. This is great for a number of reasons. First, Grok gets some return on its large investment in developing the theory and technology, and also allows this community to get access to the technology via NuPIC. Second, Grok is gathering a portfolio of institutional knowledge which informs both the business and the research. On the other hand, the technique of swarming is a business artefact in the context of the theory of neocortical function, as it bypasses the thorny question of how we configure our brains to process incoming data. Swarming is clearly an artificial genetic algorithm (or set of algorithms) for choosing models based on performance relative to a portion of the data. The natural process similarly has a genetic component which mirrors this in a way, but it also contains an on-line improvement algorithm which fine-tunes models over the entire lifespan of the organism. For example, Pinker's Language Instinct (a must-read, by the way) describes how we can perceive all possible phonemes (ie from all known languages) in early infancy, but then, over just a few months, we lose the ability to even hear some phonemes if they are not contained in our mother tongue. The classic example is Japanese speakers losing the ability to hear "l" and "r" as different sounds. We do this both by noting which phonemes we actually hear, and also by connecting those phonemes with our developing motor control over the larynx, tongue, and lips as we learn to replicate the speech we hear. Pinker's understanding is that this (among many other similar phase-changes) is a genetically-triggered event which culls unused functionality and reallocates the recycled resources for some new linguistic purpose. In terms of swarming, it's like repeating the swarming process after a set amount of real data, and reconfiguring the models based on actual experience. In our discussions of adaptive encoders, I was positing that the encoders could be self-improving, in that they perform like a single particle in the swarm to migrate the encoding in the direction of better global performance of the overlying region. The same could be the basis for inter-region encoding and connection. Anyway, thanks again Ron. It's always great to see a detailed exposition of concrete, working systems - it provides a basis for further thinking on the biological as well as the algorithmic possibilities. Regards, Fergal Byrne On Sun, Sep 8, 2013 at 10:34 PM, Marek Otahal <[email protected]> wrote: Yay!! (twothumbsup) just watching... PS: Maybe later post the slides Ron's showing? Thanks for the edu-vid Ron! On Sun, Sep 8, 2013 at 11:26 PM, Matthew Taylor <[email protected]> wrote: Swarming in NuPIC, with Grok engineer Ron Marrianetti: http://youtu.be/xYPKjKQ4YZ0 Enjoy! Matt _______________________________________________ nupic mailing list [email protected] http://lists.numenta.org/mailman/listinfo/nupic_lists.numenta.org -- Marek Otahal :o) _______________________________________________ nupic mailing list [email protected] http://lists.numenta.org/mailman/listinfo/nupic_lists.numenta.org -- Fergal Byrne ExamSupport/StudyHub [email protected] http://www.examsupport.ie Dublin in Bits [email protected] http://www.inbits.com +353 83 4214179 Formerly of Adnet [email protected] http://www.adnet.ie <http://www.adnet.ie/>
_______________________________________________ nupic mailing list [email protected] http://lists.numenta.org/mailman/listinfo/nupic_lists.numenta.org
