In general, the process of evolving programs to perform any form of learning can be summarized as shown here:
More specifically, here is an outline of the main loop of PADO's learning process. PADO can learn to distinguish between signals of any type, but the "Signals" refered to below could easily be (and often are) images taken from the real world.
PADO stands for Parallel Algorithm Discovery and Orchestration
In the orchestration phase of the PADO learning system, many programs (all of which have been learned through the evolutionary process) are combined in order to extract higher level information about the signals they have learned to examine.
Here is an overview of how Neural Programming programs are evolved and how Internal Reinforcement fits into that picture:
Here is an example of a fragment from a Neural Programming program. This fragment "foviates" by repeatedly focusing its attention to find part of a video image that minimizes the pixel variance in that region.
Now that we have this neural programming representation, we are able to create a mechanism to accomplish internal reinforcement. In Internal Reinforcement of Neural Programs (IRNP), there are two main stages. The first stage is to classify each node and arc of a program with its perceived contribution to the program's output. This set of labels is collectively referred to as the Credit-Blame map for that program. The second stage is to use this Credit-Blame map to change that program in ways that are likely to improve its performance.
Then this learned system was tested on other video stills (that it had never seen before) of the same objects.
Here are the results with and without IRNP. In this first graph we see that IRNP works much better with IRNP than without IRNP. We also see that on this particular domain (in which 14.2% is all that can be obtained by randomly guessing a class on an image to be classified) PADO, using an orchestration strategy called Search-Weight, obtains a generalization performance of 65% by generation 35 and is continuing to improve.
Here are more results with and without IRNP in the same domain. In this second graph we see that IRNP still works better with IRNP than without IRNP. We also see that using this orchestration strategy, called Nearest-Neighbor, PADO learns to generalize with a performance of 75% correct by generation 45 and is continuing to improve.