A learning method performed by using a multi-layer network, said multi-layer network comprising:
- an input layer including an input means for inputting a plurality of data;
- a hidden layer connected to the input means o said input layer and including a plurality of data processors, each of which having means for storing factors of multiplication from input layer to hidden layer corresponding to connections with the input means of the input layer, means for storing factors of multiplication from output layer to hidden layer corresponding to connections with data processors of an output layer, and means for calculating a sum of products on a plurality of data delivered from the input means of said input layer based on said factors of multiplication from input layer to hidden layer, or on a plurality of data delivered from the data processors of said output layer based on said factors of multiplication from output layer to hidden layer;
- and
- said output layer connected to the plurality of data processors of said hidden layer and including the plurality of data processors, each of which having means for storing factors of multiplication from hidden layer to output layer corresponding to connections with the plurality of data processors of said hidden layer, and means for calculating based on said factors of multiplication from hidden layer to output layer a sum of products on a plurality of data delivered from the plurality of data processors of said hidden layer;
- said learning method comprising the steps of:
- setting an initial value of each of said factors of multiplication from input layer to hidden layer and said factors of multiplication from output layer to hidden layer in said plurality of data processors in said hidden layer, and said factors of multiplication from hidden layer to output layer in said plurality of data processors in said output layer,
- inputting a plurality of data to the input means of said input layer and calculating a sum of products in each of the plurality of data processors of said hidden layer and in each of the plurality of data processor of said output layer,
- adjusting said factors of multiplication from hidden layer to output layer, said factors of multiplication from output layer to hidden layer, and said factors of multiplication from input layer to hidden layer on the basis of differences between a plurality of data obtained from the plurality of data processors of said output layer as a result of said calculation of the sum of products and supervised data representing desired output data,
- repeating the adjustment of said factors of multiplication from hidden layer to output layer, said factors of multiplication from output layer to hidden layer, and said factors of multiplication from input layer to hidden layer until the plurality of data obtained from the plurality of data processors of said output layer are approximately equal to the supervised data,
- adjusting the factors of multiplication from output layer to hidden layer in the plurality of data processors of said hidden layer and said factors of multiplication from hidden layer to output layer in the plurality of data processors of said output layer, so that the first mentioned factors of multiplication and the second mentioned factors of multiplication assume identical values.