×

Method and apparatus for training a neural network using evolutionary programming

  • US 5,214,746 A
  • Filed: 06/17/1991
  • Issued: 05/25/1993
  • Est. Priority Date: 06/17/1991
  • Status: Expired due to Fees
First Claim
Patent Images

1. A method of training a neural network to evaluate data, comprising the steps of:

  • (a) configuring a neural network having a plurality of interconnected nodes including an input layer and an output layer, said neutral network being capable of receiving training patterns at said input layer and operative in a plurality of different weighted configurations, each defined by a different set of weight values;

    (b) selecting a set of weight values and adjusting the network to operate in a weighted configuration defined by said set of weight values, and inputting each of a plurality of training patterns to said input layer to generate respective evaluations of the training patterns as outputs of the network at said output layer;

    (c) comparing each evaluation of a respective training pattern to a desired output of the network to obtain a corresponding error;

    (d) determining from all of the errors obtained in said step (c) an overall error value corresponding to the set of weight values;

    (e) repeating said steps (b), (c) and (d) a plurality of times, each time with a different weighted configuration defined by a respective different set of weight values, to obtain a plurality of overall error values;

    (f) for each of said sets of weight values, determining a score by selecting respective error comparison values from a predetermined variable probability distribution and comparing thereto the corresponding overall error value;

    (g) selecting a predetermined number of the sets of weight values determined to have the best scores;

    (h) generating copies of the sets of weight values selected in said step (g);

    (i) for each of the copies, perturbing the weight values thereof generated in said step (h) by adding random numbers to the weight values to create a new set of weight values, the random numbers being obtained randomly from a continuous random distribution of number having a mean of zero and a variance which is a function of the overall error value determined for the set of weight values from which the copy was generated;

    (j) incrementing a counter each time said steps (b) through (i) are performed, wherein said steps (b) through (e) are performed with at least the weighted configurations defined by the new sets of weight values created in the immediately preceding said step (i), and said steps (f) through (i) are performed with the sets of eight values selected in the immediately preceding said step (g) and with the new sets of weight values created in the immediately preceding said step (i) until the counter reaches a maximum count value;

    (k) selecting, once the counter reaches the maximum count value, the set of weight values having a final best score as determined in step (g); and

    (l) configuring the neural network to have the plurality of nodes interconnected in accordance with the set of weight values having the final best score.

View all claims
  • 3 Assignments
Timeline View
Assignment View
    ×
    ×