next up previous
Next: Conclusions Up: Neural Programming and an Previous: Using a Credit-Blame map

Experimental Results

 

This section describes an experiment using the IRNP paradigm. In order to focus on the issues at hand, a set of simple manufactured inputs is used. Figure 2 shows an example input from each of the three classes in this classification problem.

   figure134
Figure 2: Signal examples: All training and testing examples are random vectors of length 256 with class centerlines at 171, 128, and 85 and a point independent standard deviation of 12.

The node functions used were {constants (0..256), clock, +, -, *, READ, WRITE, POINT, AVERAGE}. POINT is an input access primitive that uses one input arc as a parameter tex2html_wrap_inline455 and returns Input[ tex2html_wrap_inline457 ]. AVERAGE is an input access primitive that uses two input arcs as parameters ( tex2html_wrap_inline459 , tex2html_wrap_inline461 ) and returns the mean of values in {Input[ tex2html_wrap_inline463 ]..Input[ tex2html_wrap_inline465 ]}.

Figure 3 shows the classification performance of the best evolved programs. This experiment was run on a small population (210 individuals). Each individual was ``pulsed'' 20 times before a response was retrieved through the OUTPUT nodes. The training took place with 210 randomly generated instances and the separate testing set was made up of 900 randomly generated instances. This particular experiment used a mutation percentage rate of 70% and a crossover percentage rate of 25%. It is worth noting that internal reinforcement only adds about 6% to the computational expense of a generation.

   figure147
Figure 3: This graph compares the classification performance of Neural Programming with and without Internal Reinforcement on the signal classes outlined above on an out-of-training test set.

The point of this section is to demonstrate that internal reinforcement can have a significant positive effect on the evolution of algorithms. The experiment shown in figure 3 displays this effect; the curve plots the generalization classification ability of the best NP programs on that generation, averaged over 100 runs on a test set of previous unseen, randomly generated inputs. To focus on the immediate benefit of internal reinforcement, the graph above shows only the first 25 generations of computation. This is a simple problem and both curves reach 100% before generation 50. Over these first 25 generations, the Neural Programming population using IRNP learns better than the NP population with standard recombination. On average, at each generation, the IRNP programs generalize to unseen examples better than the NP population using random mutation at the same generation. More significantly, for all levels of generalization performance that both populations tend to reach, the NP populations evolved under IRNP reach that level, on average, in about 30% of the generations.



next up previous
Next: Conclusions Up: Neural Programming and an Previous: Using a Credit-Blame map



Eric Teller
Tue Oct 29 14:55:57 EST 1996