Neural network and learning method therefor

Abstract: A neural network has an input layer, a hidden layer, and an output layer. The neural network includes a lower neural network model composed of hidden layer neurons and input layer neurons for learning a plurality of linearly separable patterns, and a higher neural network model composed of hidden layer neurons and output layer neurons for combining the linearly separable patterns into a linearly unseparable pattern.

Description: The present invention relates to a neural network, and more particularly to a neural network that can be trained to learn a linearly inseparable input pattern and output values therefor (the combination of such a linearly inseparable input pattern and output values therefor will be referred to as an "input/output pattern"), and to a learning method for said neural network. Various models for neural networks have heretofore been proposed. It is known that the perceptron is the most basic neural network model. The perceptron is based on the learning process in which only the weight of association (association coefficient) between input and output layers is varied. The learning process of the perceptron is advantageous in that it is simpler than other learning processes. The learning process is a process in which the weight is varied to get the output to approach a target output. However, the perceptron is has a problem in that it cannot be trained to learn linearly inseparable patterns. If a pattern that can be classified into two kinds is linearly separable, it can be separated into the classifications in a straight line when it is two-dimensional and in a multidimensional plane when it is three-dimensional or more. The problem of the perceptron in that linearly inseparable patterns cannot be learned can be solved by a process known as back propagation. The back propagation is applicable to a multilayer neural network model, and allows linearly inseparable patterns to be learned. The back propagation basically serves to minimise the square function of an error between a target output and an actual output, and uses an optimization process referred to as the method of steepest descent. Therefore, if there is a local minimum present in an error function obtained from given input/output patterns, then a learning failure may result when trapped in the local minimum. The back propagation is also disadvantageous in that it is cumbersome to adjust parameters and initialize the weight, and difficult to determine the number of necessary neurons of a hidden layer between input and output layers, and the process requires a large amount of calculation and is time-consuming. There have also been proposed algorithms for adding neuron units needed to construct a multilayer neural network. One of the proposed algorithms serves to determine the number of neuron unit layers of a feedforward hierarchical network and the number of neuron units in each of the neuron unit layers. It adds neuron unit layers or neuron units in neuron unit layers until convergence is reached. For details, see The Upstart Algorithm: A method for Constructing and Training Feedforward Neural Networks, written by Marcus Frean, Neural Computation, Vol. 2, pages 198 - 209, 1990, Massachusetts Institute of Technology. According to another proposed algorithm, neuron units are added as required according to predetermined rules in order to build a multilayer perceptron composed of linear threshold units. For details, see Learning in feedforward layered networks : the tiling algorithm, written by Marc Mézard and Jean-Pierre Nadal, Journal of Physics A: Math. Gen. Vol. 22, pages 2191 - 2203, 1989. The above proposed algorithms add necessary neuron units until a desired output is obtained with respect to a given input. Therefore, neuron layers and neurons thereof which are required are not determined until a neural network is finally constructed, and the number of neuron layers used and the number of neurons used tend to be large. As a result, the resultant neuron networks are liable to be complex in structure, and do not lend themselves to high-speed processing operation. It is an object of the present invention to provide a neural network which solves the problem of linear inseparability of the perceptron and the problem of being trapped in a local minimum of back propagation, and which can learn a linearly inseparable pattern with as few neurons as possible, and also a learning method for automatically generating hidden neurons necessary for such a neural network. According to the present invention, a neural network is provided as set out in claim 1. According to the present invention, a learning method for a neural network is also provided as set out in claim 5. The hidden neurons of the hidden layer between the input and output layers are automatically generated, so that a linearly inseparable input/output pattern is divided into linearly separable input/output patterns, which are then combined together. As a whole, the neural network is capable of learning input/output patterns that are linearly inseparable. Since the input and output layers are provided in advance, and only a minimum number of hidden neurons or a number of hidden neurons close thereto are determined, the neural network is highly versatile, and can operate at high speed for information processing. Experimental results, described later on, indicate that the learning method was able to learn all input/output patterns with four inputs and one output. The learning method had a learning speed about 500 times faster than the learning speed of the back propagation process. Patterns whose inputs are all 0 can be learned by expanding or modifying the basic arrangement of the neural network and the learning method according to the present invention. Some embodiments of the invention will now be described by way of example and with reference to the accompanying drawings, in which FIG. 1 is a block diagram illustrating the fundamental concept of the present invention; FIGS. 2(a) through 2(f) are diagrams showing a principle for transforming a linearly unseparable pattern into a linearly separable pattern; FIG. 3 is a diagram of a neural network according to an embodiment of the present invention; FIG. 4 is a diagram showing a linearly separable allocation process; FIGS. 5(a) and 5(b) are diagrams showing the positional relationship between two pattern sets in a state variable space of input neurons; FIGS. 6(a) and 6(b) are diagrams illustrative of transformation of a linearly unseparable pattern; FIGS. 7(a) and 7(b) are diagrams showing transformation functions for two kinds of patterns; FIG. 8 is a flowchart of a learning method according to an embodiment of the present invention; FIG. 9 is a flowchart of a transformation routine in the flowchart of FIG. 8; FIGS. 10(a) through 10(c) are diagrams showing a pattern transformation for speeding up algorithms; FIGS. 11 and 12 are diagrams showing all algorithms in detail; FIG. 13 is a diagram of definitions of variables shown in FIGS. 11 and 12; FIGS. 14 through 16 are a flowchart of an algorithm γ used in the learning method; FIG. 17 is a flowchart of an algorithm δ k shown in FIG. 16; FIG. 18 is a diagram of a neural network with bias neurons; FIG. 19 is a diagram showing a bias neuron unit with a self feedback loop; FIG. 20 is a diagram of a neural network with multiple inputs and multiple outputs; FIG. 21 is a diagram of a multilayer neural network having a plurality of hidden layers; FIG. 22 is a logarithmic graph of calculating times of the learning method of the present invention and the back propagation method; and FIG. 23 is a graph showing percentages of correct answers according to the learning method of the present invention and the back propagation method with respect to the number of patterns. FIG. 1 shows the fundamental concept of the present invention. According to the present invention, as shown in FIG. 1, a linearly inseparable input/output pattern P is divided into linearly separable patterns Q 1 , Q 2 , ···, Q n , and a combination pattern R for combining the linearly separable patterns Q 1 , Q 2 , ··· , Q n is generated. The linearly separable patterns Q 1 , Q 2 , ···, Q n are implemented by hidden neurons, and the combination pattern R is implemented by output neurons, so that the linearly inseparable input/output pattern P can be learned as a whole. According to the present invention, a neural network having input, output, and hidden layers comprises a lower neural network model composed of hidden layer neurons and input layer neurons for learning the linearly separable patterns Q 1 , Q 2 , ···, Q n , and a higher neural network model composed of hidden layer neurons and output layer neurons for combining the linearly separable patterns Q 1 , Q 2 , ···, Q n into the combination pattern R. The learning method according to the present invention effects a predetermined learning process on a feedforward neural network for generating a plurality of linearly separable patterns from a given linearly inseparable pattern. The neural network and the learning method therefor will hereinafter be described in greater detail. (1) Formation of a neural network: Any optional input/output pattern including a linearly inseparable pattern P can be represented by a combination of linearly separable patterns Q 1 , Q 2 , ···, Q n . For example, as shown in FIG. 2(a), two patterns indicated respectively by black dots (ON) and white dots (OFF) are presented in a multidimensional conceptual coordinate system that is conceptually represented by two-dimensional coordinates. The issue here is whether these patterns are linearly separable. Now, straight lines a, b, c, d as shown in FIG. 2(b) are introduced into the patterns. The patterns shown in FIG. 2(a) can be expressed by sum and difference sets in regions indicated by respective upwardly directed arrows on the straight lines. The characters typed in bold represent vectors in the following description. The straight lines a, b, c, d are represented as follows: a : w A T x =, b : w B T x = , c : w C T x = , d : w D T x =  where w is a association weight vector, x is a state value vector of input neurons, T represents transposition, and  is a threshold. In FIG. 2(b), w A > 0 , w B > 0 , w C > 0, w D > 0 , and  ≥ 0. As shown in FIGS. 2(c) through 2(f), the sets of the black dots in the regions indicated by the upwardly directed arrows on the straight lines are contained in the following regions: Set of black dots in FIG. 2 (c) : w A T x > ; Set of black dots in FIG. 2 (d): w B T x > ; Set of black dots in FIG. 2 (e): w C T x > ; and Set of black dots in FIG. 2 (f) : w D T x > . These regions or sets are indicated by A, B, C, D, respectively. If an operation to determine a sum set is indicated by a symbol <+> and an operation to determine a difference set is indicated by a symbol <->, then the two types of patterns that are separated as shown in FIG. 2(b) are expressed as follows: {(A <+> B) <+> C} <-> D. Whether the variable vector x in the regions A , B, C, D is contained in the regions or not can be indicated by whether the values of L( w A T x - ) , L( w B T x - ) , L (w C T x - ), L( w D T x -  ) are 1 or 0, where L is a threshold function that is 1 or 0 depending on a variable z as follows: when z ≥ 0, L(z) = 1, and when z < 0, L(z) = 0. If any of the above values is 1, then the variable vector x is present in the region indicated by w. If it is assumed that the above values are expressed as follows: x A = L(w A T x -), x B = L(w B T x - ), x C = L(w C T x - ), and x D = L(w D T x - ), then the patterns shown in FIG. 2(b) can be expressed by the following equation: y = L(( + ε)x A - 2εx B + 2εx C - 2εx D - ) where ε is a positive number and ε < . The coefficients, indicated by  and ε, of x A , x B , x C , x D may not strictly be of the values given by the above equations, but may be of any values or, broadly stated, may not be defined by the above equations, insofar as the input/output relationship between x A , x B , x C , X D and y is the same as the above equations. y has a value of 1 with respect to the black dots in FIG. 2(a) and a value of 0 with respect to the white dots in FIG. 2(a). In this manner, even if the original input/output pattern is linearly inseparable, it can be transformed into linearly separable patterns, and can be expressed by neural network models. The above process generalized by replacing x A , x B , x C , x D with x 1 , x 2 , x 3 , x 4 , respectively, and rewriting the above equations as follows: x 1 = L(w A T x -), x 2 = L(w B T x - ), x 3 = L(w C T x - ), x 4 = L(w D T x - ), and y = L(( + ε)x 1 - 2εx 2 + 2 εx 3 - 2εx 4 - ) If necessary, x 5 , x 6 , x 7 , ··· may be added. The above general equations apply to a three-layer neural network having an input layer 1, a hidden layer 2, and an output layer 3 as shown in FIG. 3, and indicate the relationship between state values x 1 , x 2 , x 3 , ··· of neurons of the hidden layer 2 and the state value y of neurons of the output layer 3. The input layer 1 is composed of a plurality of n neurons whose state values are indicated by x 1 , x 2 , ···, x n , and the output layer 3 is composed of a single neuron whose state value is indicated by y. These neurons are given in advance to the layers. In FIG. 3, association coefficients between the hidden layer 2 and the output layer 3 are determined such that the original input/output pattern is realized by a combination of linearly separable patterns realized by the neurons of the hidden layer 2. Specifically, the association coefficients between the hidden layer 2 and the output layer 3 are determined such that, using the positive number ε , the sum ( + e) of association coefficients between output neurons and first through odd-numbered hidden neurons is greater than the threshold , and the sum ( - e) of association coefficients between output neurons and first through even-numbered hidden neurons is smaller than the threshold . The threshold function L( w T x - ) as a basis for the above mathematical model is known as the McCulloch-Pitts neuron model. Since the threshold function L( w T x - ) can be implemented by hardware or software, the neural network model shown in FIG. 3 can also be realized. (2) Formation of linearly separable patterns: In the neural network wherein the association coefficients (weights) between the higher neurons, i.e., between the hidden and output layers, are determined as described above in (1), association coefficients indicated by w j i , i = 1, 2, ···, n; j = 1, 2, ···, k in FIG. 3) between lower neurons, i.e., between the input and hidden layers, are determined according to a learning process, described below, for generating linearly separable patterns from a linearly inseparable pattern. The linearly inseparable pattern is then transformed into linearly separable patterns by the neural network model with the association coefficients thus determined. [Learning process] If target and actual outputs are the same as each other, the weights are not altered. If target and actual outputs are different from each other, then using α indicated by: the weights w d are altered according to the following equation: w d+1 = w d + α*x Having effected the above learning process, it is checked whether the alteration of the association coefficients w d is 0 or not with respect to all input patterns. If the alteration of the association coefficients w d is 0 and there is a pattern with respect to which target and actual outputs are different from each other, then it is determined that a linearly inseparable pattern has been learned. If this is the case, then any subsequent patterns with respect to which target and actual outputs are different from each other are stored, obtaining a set of linearly inseparable elements called a "linearly inseparable core pattern set" that serves as an origin of the linearly inseparable pattern. If a pattern to be learned is linearly separable, then it can be learned according to the above learning process. If a pattern to be learned is linearly inseparable, then a linearly inseparable core pattern set is obtained according to the above learning process. Thereafter, one of the two patterns, e.g., an OFF pattern of the two ON/OFF patterns, is selected from the obtained linearly inseparable core pattern set such that, for example, an input pattern with a maximum norm is selected. The transformation is carried out by changing the selected OFF pattern to an ON pattern. Based on the newly obtained ON/OFF pattern, the learning process is effected again, and the allocation is finished when a certain finishing condition (described later on) is satisfied. If no finishing condition is satisfied, then a linearly inseparable core pattern set is determined, and one of the OFF patterns thereof is changed to an ON pattern. The above process is repeated until all patterns are made linearly separable. A linearly separable pattern can be obtained according to the above learning process. The result of the process is shown in FIG . 2(c). To obtain a pattern as shown in FIG. 2(d), the difference between the pattern shown in FIG. 2(c) and the original pattern, i.e., the pattern shown in FIG. 2 (a) is used as a new original pattern, and the above learning process is effected to check if the new original pattern is linearly separable or not. The aforesaid process is executed until the difference between two patterns becomes a linearly separable pattern. Thereafter, the input/output patterns that have been given at first, including a linearly separable pattern, are learned with the neural network, as shown in FIG. 3, including hidden layer neurons having weights corresponding to the patterns. FIG. 3 will be described in detail later on. The principle of the present invention is applicable not only to the three-layer neural network as shown in FIG. 3, but also to a multilayer neural network having an input layer 1, a plurality of hidden layers 2, and an output layer 3, as shown in FIG. 21. In FIG. 21, the neural network has three hidden layers 2, and neurons of the first and third hidden layers 2 as counted from the input layer 1 are generated as required as the learning process proceeds. Neurons of the second hidden layer 2 are provided in advance as output neurons (corresponding to the output neuron y in FIG. 3) with respect to the neurons of the first hidden layer 2 adjacent to the input layer 1. FIG. 21 will also be described in detail later on. An embodiment of the present invention will now be described in greater detail by way of mathematical models, successively in topics as follows: (1) Linear separability; (2) Linearly separable allocation algorithm; (3) Determination of separating hyperplanes; and (4) Overall algorithm. (1) Linear separability: The input/output relationship between neurons is expressed by: x out = h(x T w - ) where the transformation function h is a continuous threshold function represented by: h(z) = 1 when z > 0, and h(z) = 0 when z < 0 where x is a n-dimensional binary vector (Boolean vector), indicating the state value of input neurons, x out is a binary scalar, indicating the state value of output neurons, w ε R n is an association weight vector of a synapse corresponding to the input vector x, and  ε R 1 is a neuron threshold in the form of a positive constant. The term "learning" denotes a process in which the association weights w are altered until the output x out of a network composed of a neuron model according to the equation (1) above has a desired value with respect to an input of m n-dimensional binary vectors x. It is assumed that the set of m n-dimensional input vectors x = (x i ) is represented by X, a set of input vectors whose target output is 1 is referred to as an ON pattern set and indicated by X ON , and a set of input vectors whose target output is 0 is referred to as an OFF pattern set and indicated by X OFF . The elements of these latter two sets are called respectively as "ON pattern" and "OFF pattern". The following assumption is provided for these ON and OFF patterns: Assumption a: X ON ∩ X OFF =  (empty set). A process for determining w which satisfies the equations: h (x T W - ) = 1 (x ∈ X ON ) h (x T W - ) = 0 (x ∈ X OFF ) that is, the inequalities: x T W >  (x ∈ X ON ) x T W <  (x ∈ X OFF ) is the learning process. If there is a solution w according to the above formulas, then there is a hyperplane: x T W =  which separates the pattern sets X ON , X OFF in a strong sense. At this time, the sets X ON , X OFF are said to be linearly separable. If not, the sets X ON ,X OFF are said to be linearly unseparable. In the learning of a binary neural network, only linearly separable patterns can be handled between two layers insofar as the the McCulloch-Pitts neuron model is employed. To learn linearly inseparable patterns, therefore, it is necessary to use a neuron network of three or more layers, and to handle a linearly separable input/output relationship between the layers, so that a linearly inseparable input/output relationship can be achieved as a whole. It has already been proved that any optional input/output relationship can achieved by a neuron network of three or more layers. In considering a learning algorithm for a neuron network of three or more layers , it is important how to determine a teaching signal. According to the present embodiment, a pattern allocation process is employed to divide a linearly inseparable pattern into a plurality of linearly separable patterns and allocate and learn the linearly separable patterns between the input and hidden layers. (2) Linearly separable allocation algorithm: A suitable target output is given to the hidden layer for a linearly inseparable pattern to be learned. To explain such a process, a learning pattern as shown in FIG. 4 is provided. FIG. 4 shows a linearly separable allocation by way of example. Specifically, in a general x (vector) space, half spaces S k ON (k = 1, ···, 5) are determined with respect to a given pattern to be learned. Spaces indicated by the arrows in FIG. 4 are representative of the regions of S k ON . If it is assumed that black dots of those denoted by a through i are ON patterns and white dots OFF patterns in FIG. 4, then the pattern sets X ON , X OFF are given as follows: X ON = {b, c, f, g, i}, X OFF = {a, d, e, h}. Obviously, these pattern sets are linearly inseparable. If, however, hyperplanes (two-dimensionally, straight lines) are introduced as shown in FIG. 4 and half spaces (indicated by the arrows) represented by these hyperplanes are expressed by: S 1 ON = {x|w 1T x > 0}, S 5 ON = {x|w 5T x > 0} then whether patterns x are contained in these half spaces can be determined by checking if the state values of neurons that are expressed by: x 1 = h(w 1T x - 0), . . x 5 = h(w 5T x - 0) can be 1 or not. The half space S 1 ON is realized by the first neuron x 1 . While the target outputs (the separation of the OFF and ON patterns) of the patterns a, b, c, f, g, i are realized by x 1 , the separation of the OFF patterns d, e, h is not realized. To realize the separation of the OFF patterns d, e, h, a difference set S 1 ON - S 2 ON which is produced by subtracting S 2 ON from S 1 ON is considered. The difference set S 1 ON - S 2 ON can be determined by checking if the state value of a neuron expressed by: x 1,2 = h(( + ε)x 1 - 2εx 2 - ) according to the neuron model (1) is 1 or not. Although desired output values for the patterns a, b, c, d, e, h are obtained by x 1,2 , no satisfied outputs are obtained for the patterns f, g, i. To realize the patterns f, g, i, S 3 ON is added, providing a set: (S 1 ON - S 2 ON )∪S 3 ON . The state value of a neuron expressed by: x 1,3 = h(( + ε)x 1 - 2εx 2 + 2εx 3 - ) obtained with respect to the above set realizes all the patterns except h. If the above argument is applied to obtain desired outputs for all the patterns, then a neuron for giving a desired output y is expressed by: y = h(( + ε)x 1 - 2εx 2 + 2εx 3 - 2εx 4 + 2εx 5 - ) where ε > 0. The equations (7), (8) can be generalized respectively into: x k = h(w kT x - 0) and y = h(( + ε)x 1 - 2εx 2 + 2εx 3 ··· - ) and can be achieved by the network as shown in FIG. 3. FIG. 3 shows the arrangement of the neural network according to the present embodiment. The hidden layer 2 of the neural network shown in FIG. 3 has as many neurons (k neurons) as required by the algorithm. The weight coefficients between the output layer 3 and the hidden layer 2 have a value of  + ε only between x 1 ∼ x out , and have alternate values of - 2ε and 2ε for and subsequent to x 2 . In order to realize a linearly inseparable learning pattern, there may be determined separating hyperplanes which alternately divide only ON patterns and only OFF patterns, as described above, with respect to the given learning pattern. Once the separating hyperplanes have been determined, the association weight between the output neuron y and the first neuron x 1 of the hidden layer is made larger than the threshold  by ε as indicated by the equation (8), and the association weights between the output neuron y and the second and following neurons x 2 , x 3 , ···, x k are equalized to those having an absolute value of 2ε with alternate signs, in order to express the state in which the ON and OFF patterns are alternately divided by the hyperplanes. If the half plane S 2 ON shown in FIG. 4 were directed in the opposite direction, then only x 1 is cancelled out by x 2 in its ON region, and x 1,2 has the same value as x 2 at all times. To prevent S 2 ON from being determined in this way , the following relationship must be satisfied: (S k+1 ON ∩ X) ⊂ (S k ON ∩ X) In view of the above argument and the fact that the input pattern set X is a Boolean set, the algorithm for the pattern allocation method can generally be described as follows: Algorithm α (Linearly separable allocation algorithm): [Step 1] With the iteration (repetition) number being represented by k and an input vector set which will be described later on being represented by x k , it is first assumed that: X 0 = X (input pattern set), X 1 ON = X ON (ON pattern set) , X 1 OFF =X OFF (OFF pattern set) , and k = 1. [Step 2] X k-1 is separated into a half space containing all elements of X k ON and a half space containing at least one of only elements of X k OFF . Hyperplanes which satisfy the relationship (11), i.e., hyperplanes: w kT x =  which satisfy the following relationship: w kT x > , ∀x ∈ X k ON , w kT x < , ∃x ∈ X k OFF , and {x ∈ X|w kT x > }⊂ X k-1 are determined. The set of input vectors contained in half spaces on the X k ON sides of these hyperplanes is represented by X k which is given by: X k = {x ∈ X|w kT x > } [Step 3] If X k = X k ON , then the algorithm is finished. If not, then X k+1 ON = X k - X k ON , and X k+1 OFF = X k ON The iteration number k is set to k + 1, and control goes to the step 2. The above algorithm attempts to separate the learning pattern X k-1 into the sets X k ON , X k OFF with the hyperplanes w kT x =  in each iteration. If the separation is successful, then the algorithm is finished. If not, the learning pattern X k-1 is separated into a half space containing all elements of X k ON and a half space containing at least one of the elements of X k OFF with the hyperplanes w kT x = . For such separation, the relationship (11) must be satisfied as described above. To meet this requirement, the conditional formula (13) which is equivalent to the relationship (11) is added to the algorithm. From this condition and the equation (14) results : X k+1 ⊂ X k , and the number of elements of X k is reduced by at least one for each iteration. The half space separated from the set X k ON by the hyperplanes w kT x = contains only the elements of X k OFF , and these elements are separated from X k by the hyperplanes. On the X k ON sides of the hyperplanes, there exist all the elements of X k ON and the remaining elements of X k OFF which are mixed together without being separated. The next iteration attempts to separate portions of X k ON , X k OFF which have not been separated in the present iteration. At this time, not only the ON and OFF patterns are simply separated from each other, but, as described with reference to FIG. 4, hyperplanes for alternately separating the ON and OFF patterns must be determined, and X k ON must be expressed using sum and difference sets alternately as indicated by the equation (10) above. To this end, target outputs for all the elements of the set X k ON and some elements of tile set X k OFF , which have not been fully separated, are reversed, providing a learning pattern in the next iteration. The set X k ON may be reversed by replacing X k ON with X k+1 OFF as indicated by the second one of the equations (15). However, the reversal of the set X k OFF cannot simply be effected. Since the elements of X k OFF in the half space that does not contain X k ON which is separated by the hyperplanes w kT x =  have already been only an OFF or ON pattern depending on the iteration, these elements are separated from the other elements of X k on the opposite sides of the hyperplanes. These elements are considered already divided patterns in FIG. 4. Under the condition (12) above, these patterns are not contained in the ON sides of the hyperplanes that are determined in a subsequent iteration, and their outputs remain unchanged. Therefore, the elements of X k OFF within the set X k where the above patterns have been excluded from X are reversed. The result produced by subtracting X k ON from X k is updated as X k+1 OFF , as indicated by the first one of the equations (15). Through the above updating process, X k ON and X k OFF are equal to those which are produced by reversing subsets of the original ON and OFF pattern sets in each iteration, as indicated by: X k ON ⊂ X ON (k is an odd number), X k ON ⊂ X OFF (k is an even number) where X k corresponds to S k ON in FIG. 4, and X ON is expressed by: X ON = (X 1 - X 2 ) ∪ .... ∪ (X k-1 - X k ) (k is an even number). X ON = (X 1 - X 2 ) ∪ .... ∪ (X k ) (k is an odd number), The existence of the separating hyperplanes which satisfy the relationship (13) in the step 2 of the algorithm α is proved by the following [Theorem 1]: [Theorem 1]: Any single point in an n-dimensional Boolean vector set B n is separable from the remaining set in a strong sense. (Proof) An optional element x a is taken from the set B n . The remaining set which is left by taking x a from B n is denoted by U. It is checked whether x a can be expressed by the convex association of the elements of the set U. It is assumed that U = {x 1 , x 2 , ···, x q ∈ B n }. If x a can be expressed by the convex association of the elements of the set U, then x a is represented by the following equations: The vectors x a , x 1 , x 2 , ···, x q have elements of 0 or 1, and are all different from each other. Therefore, there exists j such that at least one of the elements x 1j , x 2j , ···, x qj of each vector has a value different from the other elements. The element of the righthand side of the first one of the equation (17): has a value of x ij , i.e., 0 or 1, if only one µ i is 1. However, if only one µ i is 1, then since the vectors x a , x 1 , x 2 , ···, x q are all different from each other, the first one of the equation (17) is not satisfied. If two or more µ i are nonzero, then in order that the inequality: is not satisfied with respect to all j, but has a value of 0 or 1, the vectors x i with respect to µ i which is not 0 must all be the same. This is contrary to the fact that the vectors x 1 , x 2 , ···, x q are all different from each other. Therefore, there is no µ i , i = 1, ···, q which would satisfy the equations (17). Consequently, x a is not expressed by the convex association of the elements of the set U, and is not contained in the convex hull of the set U. It can be said from the above discussion that the convex hull of the set U does not contain x a . This fact, together with the following separation theorem, indicates that the convex hull of the set U and x a can be separated by hyperplanes. [Separation theorem] It is assumed that Γ and Λ are two convex sets which are not empty, with Γ being compact and Λ being closed. If the convex sets Γ and Λ do not intersect with each other, then there exists a plane {x|x ε R n , c · x = α} (c ≠ 0 ) which separates the convex sets Γ and Λ from each other in a strong sense, and vice versa. Stated otherwise, the relationship: is satisfied. The fact that the convex hull of the set U and x a can be separated by hyperplanes is equivalent to the fact that the set U and x a can be separated by hyperplanes. However, it is generally not easy to determine the hyperplanes w kT x = . Instead of directly determining the hyperplanes w kT x = , some of the OFF patterns of the original patterns are replaced with ON patterns to define half spaces for determining these hyperplanes. These patterns must of necessity be linearly separable. According to the present invention, the above separating hyperplanes are obtained by giving these patterns to the hidden layer neurons for learning. Inasmuch as a plurality of linearly separable patterns thus generated with respect to the original pattern are allocated to the hidden layer neurons for learning, this process is called "Linearly Separable Allocation Method", which will be referred to as "LISA" in short. (3) Determination of separating hyperplanes: According to Theorem 1, how separating hyperplanes which satisfy the conditions of the step 2 of the algorithm α are determined becomes the next problem (original problem), which is equivalent to the determination of w expressed by the relationship (4) above. It is assumed, for example, that in the event a given pattern is not linearly separable, a pattern set which makes the given pattern linearly separable is obtained. By replacing ON and OFF patterns of the pattern set thus obtained, the pattern as a whole can be made linearly separable. In the present invention, the pattern set which makes the given pattern linearly separable is called "Linearly Unseparable Core Pattern Set", which will be referred to as "LUCPS" in short. A "dual problem" which serves as a basis for defining LUCPS will hereinafter be described below, and then an "optimization" problem with respect to an original problem" will be derived for actually determining LUCPS. Furthermore, the relationship between optimization conditions for the optimization problem and linearly unseparable core patterns, and the process of extracting LUCPS will also be described below. (3)-1 Dual problem: In a preparatory step, suffix sets I ON , I OFF are produced from the ON pattern set X ON and the OFF pattern set X OFF as follows: I ON = {i|x i ∈ X ON }, I OFF = {i|x i ∈ X OFF }. Auxiliary Theorem 1, given below, is applied to the original problem (4), deriving Theorem 2. [Auxiliary Theorem 1] Given a matrix A ∈ R m*n and a vector b ∈ R m , I. there is a solution x ∈ R n for A x > b, or II. there is a solution y ∈ R m for A T y = 0, b T y ≥ 0 , y > 0. However, the statements I, II do not hold true at the same time. y > 0 indicates that all elements of y are 0 or more and at least one element is not 0. (Proof) The statement I is equivalent to I'. there is a solution a solution x ∈ R n (ξ ∈ R) for ξ > 0, A x > b ξ . If Gordon's theorem is applied to the statement I', then it is true or II'. there is a solution y for A T y = 0 , ( y T , b T y) > 0. However, the statements I', II' do not hold true at the same time. If y = 0 , since b T y = 0, ( y T , b T y ) > 0 has the same value as y T > 0 , b T y ) > 0. Therefore, either the statement I is true or the statement II is true. [Theorem II] With respect to  having a certain fixed positive value, I. there is a solution w for x T i w >, i ∈ I ON x T i w < , i ∈ I OFF , or II. there is a solution λ for However, the statements I, II do not hold true at the same time. (Proof) A learning pattern matrix V ∈ R M*N is generated as follows: From vi , (i = 1, 2, ···, m), a matrix V is produced as follows: Likewise, Then, the statement I is equivalent to I'. there is a solution w for V w >γ . From Auxiliary Theorem 1, the statement I' holds true, or II'. there is a solution λ, for V T λ = 0, γ T λ ≥ 0, λ > 0. However, the statements I', II' do not hold true at the same time. Using the equation (21), the statement II' is rewritten as follows: λ > 0 Furthermore, from the equations (20), (22), Since  is a fixed positive number, the second one of the equations (23) becomes: Therefore, the statement I is true or the statement II is true. Since the solutions do not exist at the same time, the problem expressed by the equations (19) is called a dual problem for the original problem (4). The solution λ to the dual problem (17) can be regarded as a positive association coefficient determined such that linear combinations of ON, OFF pattern vectors are equal to each other, and indicates that the sum of association coefficients with respect to ON patterns is equal to or greater than the sum of association coefficients with respect to OFF patterns. The dual problem can be rewritten as follows: The equations (24) show that they have a solution µ when some of the convex associations of the ON pattern set X ON are contained in a cone which is made up of the convex associations of the OFF pattern set X OFF and the origin, as schematically shown in FIG. 5. FIGS. 5(a) and 5(b) show the meaning of a dual problem in an x space. If convex associations of an ON pattern set are contained in a cone made up of the origin and the convex associations of an OFF pattern set, then the dual problem has a solution and the original problem has no solution. In FIG. 5(a), the dual problem has no solution, and the original problem has a solution. In FIG. 5(b), the dual problem has a solution, and the original problem has no solution. It can be seen from FIGS. 5(a) and 5(b) that linear separability is determined by the relative positional relationship between all patterns. However, as shown in FIGS. 6(a) and 6(b), with respect to a linearly inseparable pattern set, an original pattern can be transformed into a linearly separable pattern by replacing some ON and OFF patterns with each other in the linearly inseparable pattern set. FIGS. 6(a) and 6(b) illustrate transformation of a linearly inseparable pattern. In FIG. 6(a), a cone made up of the origin and the convex associations of an OFF pattern set contain convex associations of an ON pattern set. When some (two upper left points) of the patterns of the OFF pattern set of the cone are changed to ON patterns as shown in FIG. 6(b), the cone no longer contains any ON patterns. The fact that some convex associations of the ON pattern set X ON are contained in the cone made up of the origin and the convex associations of the OFF pattern set X OFF in FIGS. 5(a), 5(b), 6(a), and 6(b) indicates that there is a solution µ to the problem (18), and the solution µ corresponds to the solution λ to the problem (17). The solution λ is an association coefficient in the case where the linear combinations of the elements of X ON , X OFF are the same as each other. If the components of the association coefficient λ can be divided into 0 components and positive components, then the positive components are considered to determine the solution to the dual problem. Thus, the positive components of λ are involved in linear separability of the original problem. Generally, if the number of patterns is larger than the number of dimensions, then all the patterns are linearly dependent, and the solution λ to the dual problem for most of the patterns can be positive. However, since the component value of a Boolean vector is 0 or 1, the dimensions of a space defined by the patterns is smaller than patterns of continuous values. This does not apply if the number of learning patterns is close to the number of all combinations that can be possible with original input/output patterns, though such a case does not generally occur. If the positive component of a solution to a dual problem is determined, therefore, a linearly separable pattern set X k-1 determined in the step 2 of the algorithm α should be obtained by changing OFF patterns to ON patterns. Hidden layers for achieving, through a learning process, the linearly separable pattern set X k-1 thus obtained, and output neurons for combining those hidden layers are determined to reconstruct the original patterns according to the algorithm α, for thereby achieving the original linearly separable patterns. Based on the foregoing, a "linearly inseparable core pattern set" which is a pattern set as a basis for linearly inseparability is defined as follows: [Definition 1] A set I LU of patterns with respect to nonzero elements of the solution λ = [λ i ] to the dual problem (17) is defined as a linearly inseparable core pattern set (LUCPS) as follows: I LU = {i|λ i > 0] It is possible to determine the solution to a dual problem by applying a condition λ > 0 to a sweeping-out method which checks if simultaneous equations are solvable or not. As the number of problem dimensions and the number of patterns increase, however, a combination explosion takes place. Consequently, a more practical method will hereinafter be described. (3) - 2 Optimization problem with respect to the original problem: An optimization problem to determine a linearly inseparable core pattern set I LU is formulated below. For speeding up convergence, the following transformation functions are introduced into ON and OFF patterns: These functions are represented as shown in FIGS. 7 (a) and 7 (b) , and cannot be differentiated when z = 0. h ON is provided by modifying the transformation function according to the equations (2), and a portion thereof where the argument is positive, i.e., the original problem is admissible is equal to h. A portion where the argument is negative, i.e., the original problem is inadmissible is linear. In sigmoid functions, a gradient exists only in the vicinity of a region where the argument is 0. In the above transformation functions, a constant gradient is present at all times in a portion where the original problem is inadmissible. Therefore, irrespective of the value of the association weight w k , stable and quick convergence can be achieved in the learning process. For the same reasons, h OFF is expressed according to the second one of the equations (25). The transformation functions h ON , h OFF are allocated to the ON and OFF patterns, as described above, and the patterns are individually considered. By maximizing h ON , there are determined weights that realize the ON patterns, and by maximizing h OFF , there are determined weights that realize the OFF patterns. The following optimization problem will be considered in order to determine the weights for realizing the ON and OFF patterns: With the sums of h ON , - h OFF being maximized, the solution search is conducted toward regions where the output is 1 with respect to the ON patterns, and also toward regions where the output is 0 with respect to the OFF patterns. If the input pattern is linearly separable, then the solution of the next problem gives an admissible solution to the original problem (4). The formula (26) is a maximization problem for the function: Since h ON is a concave function and h OFF is a convex function,  is a concave function with respect to w, and the local maximum of  is equal to a global maximum. The problem (20) can be solved by a gradient method for an undifferentiable optimization problem. (3) - 3 Relationship between an optimization condition and a dual problem: An optimization condition is determined from an optimum solution to the optimization problem (20), and it will be indicated that the coefficient of the optimization condition is equal to the solution to a dual problem. it can be seen that if the original problem (4) is linearly inseparable, a pattern of nonzero (positive) coefficients of an optimization condition equation with respect to the optimum solution to the problem (20), i.e. , LUCPS, can be determined. The optimization condition for the problem (20) will first be described below. The function  is a partially undifferentiable function, and has no gradient in that it is undifferentiable. However, it has a hypogradient or a general gradient under certain conditions. The definition of a hypogradient and an optimization condition for an optimization problem will be described below. In the optimization problem regarding x ∈ R n of a concave function f, if the concave function f is undifferentiable with respect to x 0 , the hypogradient is a set of z which satisfies: f(x) ≤ f(x 0 ) + z T (x - x 0 ), ∀x ∈ X Using that set ∂f( x 0 ) , the optimization condition for the optimization problem is expressed by: 0 ∈ ∂f (x 0 ) As the functions h ON , - h OFF are concave in a one-dimensional space R 1 , there is obviously a hypogradient of  in w ∈ intX. Using a hypogradient set ∂ of , the optimization condition for optimizing an undifferentiable concave function can be expressed as follows: 0 ∈ ∂(w 0 ) where w 0 represents an optimum solution. If  ON (w;x)=h ON (xTw-), and  OFF (w;x)=h OFF (xTw-), then where ▿ ON (w;x) = {0} (x T w > ) ▿ ON (w;x) = co{0,x} (x T w = ) ▿ ON (w;x) = {x} (x T w < ) ▿ OFF (w;x) = {x} (x T w > ) ▿ OFF (w;x) = co{0,x} (x T w = ) ▿ OFF (w;x) = {0} (x T w < ) co indicates a convex hull defined as follows: co{0,x} = {λx|0 ≤ λ ≤ 1} From the equations (31), (32), ∂ ON (w;x i ) = {λ i x i } (i ∈ I ON ) ∂ OFF (w;x i ) = {λ i x i } (i ∈ I OFF ) where with respect to i ∈ I ON , λ i = 0 (x T w > ) λ i = [0,1] (x T w = ) λ i = 1 (x T w < ) with respect to i ∈ I OFF , λ i = 1 (x T w > ) λ i = [0,1] (x T w = ) λ i = 0 (x T w < ) From the equations (30), (33), (34), From the equations (29) and (35), there is λ i which satisfies the equations (34) and the following equation: Furthermore, 0 ≤ λ i ≤ 1 is satisfied with respect to all i's. If the original problem (4) is linearly separable, then ∂ ON (w;x i ) = {0}, i ∈ I ON ∂ OFF (w;x i ) = {0}, i ∈ I OFF in the optimum solution w 0 to the problem (20) . If the original problem (4) is linearly inseparable, then since an inadmissible pattern exists, the hypogradient set ∂ ON or - ∂ OFF has nonzero elements as can be understood from the equations (34). Therefore, there exists nonzero λ i which satisfies the equation (36). That is, λ > 0 In order to introduce the relationship between λ which satisfies the optimization condition formula and the dual problem (17) , the following theorem is obtained: [Theorem 3]: If there is no admissible solution w to the original problem (4): x T i w -  > 0, i ∈ I ON x T i w -  < 0, i ∈ I OFF and if the following equation is satisfied: then the following relationship is satisfied: (Proof) The foregoing is apparent from the following Auxiliary Theorem 2: If there is no solution x for A x > b with respect to a given matrix A ∈ R m*n , then the solution y ∈ R p for A T y = 0, y > 0 satisfies b T y ≥ 0 (Proof) When there is a solution y 0 to A T y = 0, y > 0 b T y 0 < 0 which is a negation of b T y 0 ≥ 0 is assumed, introducing a contradiction. Since the fact that there is no solution x for A x > b is equivalent to the fact that there is a solution y for A T y =0, y > 0, b T y ≥ 0, there is no y 0 for A T y 0 = 0, y 0 > 0, and b T y 0 < 0 If there is no admissible solution to the original problem (4), i.e., if the learning patterns X ON , X OFF are linearly unseparable, then, from the equations (19), (34), (36), (37) and Theorem 3, Γ ⊂ Λ where Γ is a set of λ which satisfies the optimization condition equation (36) for the optimization problem (20) and the expression (37) and Λ is a solution set for the dual problem (17). Since the solution to the dual problem (17) satisfies the optimization condition equation (36) and the expression (37), the following relationship is satisfied: Γ ⊃ Λ Therefore, Γ = Λ Consequently, in the case where the original problem is linearly unseparable, then λ that is determined from the optimum solution to and the optimum condition for the optimization problem (20) is equal to the solution to the dual problem. (3)-4 Extraction of a linearly unseparable core pattern: It can be seen from the above theory that if the original problem is linearly inseparable, then λ that satisfies the equations (31) with respect to the solution w 0 to the optimization problem (20) is determined, and the positive component of λ corresponds to a linearly inseparable core pattern that corresponds to w 0 . However, the problem (20) may not necessarily have an undifferentiable point, and an optimum solution may not always be determined for the problem (20). It will be shown below that LUCPS (linearly inseparable core pattern set) can be extracted even when no optimum solution is determined. An algorithm for solving the optimization problem (20) will be described below. Algorithm β (algorithm for solving the problem (20)): [Step 1] A certain initial point w 1 is appropriately selected, and an iteration number d is set to d = 1. [Step 2] h ON ( x T w d -) ; x ∈X ON and h OFF ( x T w d -) ; x ∈ X OFF are calculated. If there exists even one pattern x p which satisfies: h ON (x p T w d -) ≠ 1, x p ∈ X ON , or h OFF (x p T w d -) ≠ 1, x p ∈ X OFF then control proceeds to a next step. If not, w d is regarded as the solution w 0 to the problem (20), and the algorithm is finished. [Step 3] With respect to p in the step 2, the following correction is made: w d+1 = w d + α p Δw d (x p ) where Δw d (x p ) = ▿ w  ON (w;x p ), x p ∈ X ON Δw d (x p ) = ▿ w  OFF (w;x p ), x p ∈ X OFF where ▿ w  ON ( w;x p ) and ▿ w  OFF ( w ; x p ) are expressed as follows: ▿ w  ON (w;x p ) = x p , ▿ w  OFF (w;x p ) = x p [Step 4] The algorithm is finished if either one of the following finishing conditions a, d, e is satisfied. If not, then w d ← w o when the iteration number d = d 0 where d 0 is a certain number. When d > d 0 , the algorithm is finished if the finishing condition b is satisfied. Otherwise, the algorithm is finished if the finishing condition c is satisfied. When the iteration number is not in any of these cases, the iteration number d is updated by d ← d + 1, and control goes back to the step 2. The finishing conditions a through e are defined as follows: (Finishing condition a) A sufficiently large positive integer j 0 is determined, and the algorithm is finished if there is j which satisfies: w d - w d-j < ζ with respect to j = 1, ···, j 0 where ζ is a sufficiently small positive number. (Finishing condition b) The algorithm is finished if w d = w 0 when d > d 0 . (Finishing condition c) The algorithm is finished when d > d 0 . d 0 is a positive integer which is somewhat larger than the maximum iteration number at the time an n-dimensional linearly separable problem is solved. (Finishing condition d) The algorithm is finished if a hypogradient set ∂( w d ) of a function  with respect to w d contains a zero vector. (Finishing condition e) The algorithm is finished if ( w d ) < ( w d-1 ). The finishing conditions are most difficult to determine in the algorithms used in the present invention. Whether an actual pattern is linearly separable or not is determined based on the finishing conditions. The finishing conditions a, b serve to check if a change Δ w d in w in one cycle or more becomes 0 or not when the value d becomes larger than a certain value d 0 , i.e., when the convergence has sufficiently been in process. The finishing condition d is used to halt the algorithm when an actual pattern cannot be determined as to whether it is linearly inseparable or not, based on the finishing conditions a, b. The learning time in the present invention is governed by whether the finishing conditions are good or bad. In a numerical example described later on , d 0 = 3. The method of determining the step width according to the equation (39) is based on the idea that a minimum width required is given so as to make an inadmissible pattern x p at a present point w d admissible with respect to the original problem. The transformation functions h ON , h OFF are essentially undifferentiable at 0, and a hypogradient must be given thereto as indicated by the equations (31). However, it is generally difficult to positively determine a hypogradient set. To avoid the difficulty, a hypogradient is given according to the equations (40) in view of the nature of the neuron transformation function. If original input/output patterns are linearly separable, i.e., if the original problem (4) has an admissible solution, there is determined a solution w 0 for achieving all input/output patterns in the same manner as the learning process for perceptrons, according to the algorithm β. if original input/output patterns are linearly inseparable, a λ set obtained from the optimization condition for the problem (20) is equal to a solution set for a dual problem. The path of w d converges up to near an optimum solution that satisfies the optimization condition equation (36) for the problem (2) and the expression (37), but does not stop at the optimum solution, and vibrates in or around the optimum solution. Even if an optimum solution is obtained, it is difficult to positively determine a hypogradient set of an object function of the problem (20) . Therefore, it is also difficult to determine whether w d satisfies the optimization condition. The algorithms according to the present invention does not need an optimum solution, but may determine LUCPS (linearly inseparable core pattern set). In most cases, even if all LUCPSs are not obtained, a subset thereof may be obtained and an OFF pattern to be transformed may be selected from the subset. According to the algorithm β, w d vibrates in the vicinity of an optimum solution with respect to a sufficiently large d (d > d 0 ). In the vicinity of an optimum solution, an inadmissible component of the original problem (4) is considered to correspond to a linearly inseparable core pattern. According to the method (32) of determining a corrected step width with respect to an inadmissible pattern, the step width with respect to the present inadmissible pattern is determined such that an output for at least the present pattern is equalized to a target output. Then, interference occurs between linearly inseparable core patterns, and w d vibrates between regions of w which satisfy a target output between these patterns. Thus, if w d starts to vibrate in the vicinity of an optimum solution after it has converged to a certain extent, then components or patterns in the equation (4) which are made inadmissible subsequently are considered to be an element of LUCPS. The LUCPS should be obtained by registering these patterns. A suitable OFF pattern is selected from the obtained pattern set, and changed to an ON pattern, thus reducing the number of elements of the LUCPS. If the conditional expression (13) of the algorithm for the linearly separable allocation method described above under (2) is not satisfied, then any reduction in the number of elements of X k is not assured. Selection of an OFF pattern to be transformed in order to satisfy the above condition is made according to the following Rule A or Rule B: [Rule A] An OFF pattern which is most distant from the origin shall be selected. [Rule B ] An OFF pattern whose inner product with w d is largest shall be selected. Linearly separable patterns are obtained by transforming patterns which cause linear inseparability, one by one. Separating hyperplanes for the linearly separable allocation algorithm are determined from the obtained linearly separable patterns. The above process may be incorporated in the linearly separable allocation algorithm α. FIGS. 8 and 9 are flowcharts of a learning method according to the present invention. As shown in FIG. 8, first, input patterns (vectors) x p and output patterns (scalars) t p (p is the number of m patterns) are given in a step 1. Then, a target output pattern t is set to an initial value t 1 in a step 2, and an iteration number k is set to 1 in a step 3. A target output pattern t k with respect to a kth hidden neuron is substituted in a linearly separable output pattern t k M in a step 4, and a transformation routine is carried out in a step 5. The transformation routine will be described later with reference to FIG. 9. Thereafter, a differential pattern which is produced by subtracting t k from t k M is given as a (k+1)th output pattern t k+1 in a step 6, and the steps 4 through 6 are repeated until t k+1 = 0 . Specifically, after the step 6, a step 7 determines whether t k+1 = 0 . It t k+1 ≠ 0 , then the iteration number k is incremented by 1 in a step 8, and control returns to the step 4. When t k+1 = 0, the neutral network shown in FIG. 2 is constructed with the weights (association coefficients) determined as described above between output and hidden layers, in a step 9. The transformation routine will be described below. As shown in FIG. 9, first a weight w 1 is set to 0 in a step 11. Then, a pattern number p and the iteration number d of the algorithm β are set to 1, and a variable sw indicative of a wrong answer (described later) is set to 0 in a a step 12 . A step 13 determines whether the linearly separable target output t k M agrees with an actual output h ( x p T w d -) with respect to a pattern p. If not, then the weight w d is altered or corrected according to the equations (38) and (39), and the variable sw is set to 1 in a step 14. Thereafter, a step 15 determines whether w d is vibrating (d > d 0 ) or not. If vibrating, the pattern p is registered in a step 16. The steps 13 through 16 are executed with respect to m patterns. Specifically, after the pattern p is registered, or if the linearly separable target output t k M agrees with an actual output h ( x p T w d -) , a step 17 determines whether p ≤ m or not. If p ≤ m, then p and d are incremented by 1 in a step 18, and control goes back to the step 13. When p exceeds m, a step 19 determines whether either one of the finishing conditions a ∼ e is satisfied or not. If satisfied, then the pattern p is registered as a linearly unseparable pattern in a step 20. One OFF pattern is selected from the registered patterns as a pattern p' in a step 21. A target output t k Mp' for the selected pattern p' is set to 1 in a step 22, from which the processing goes back to the step 12. If none of the finishing conditions are satisfied in the step 19, then a step 23 determines whether the variable sw = 0 or not. If not, control returns to the step 12, and if yes, the pattern is registered as linearly separable in a step 24. (4) Algorithm for the linearly separable allocation method (LISA): (4)-1 Algorithm: The linearly separable allocation algorithm α described above under (2) and the algorithm β for solving the optimization problem described under (3)-4 are joined to each other, making algorithms γ, δ k as described below. Algorithm γ: [Step 1] X 1 ON = X ON , X 1 OFF = X OFF . The iteration number k is set to k = 1. [Step 2] X k = X k ON . [Step 3] Using the algorithm δ k (described later on), it is checked whether X k ON , X k - X k ON are linearly separable or not. [Step 4] If linearly separable, then w o obtained by the algorithm δ k is set to w k , and the processing goes to a step 5. If linearly inseparable, then an element x m whose norm is maximum is selected from an intersection of sets { x i | x i ∈ I LU }, {X k - X k ON } obtained according to the algorithm δ k . After X k ← X k ∪ { x m }, control goes back to the step 4. [Step 5] If X k = X k ON , then control goes to a step 6. If not, then X k+1 ON ← X k + X k ON , X k+1 OFF ← X k ON and the iteration number k is updated into k + 1. The processing then goes to the step 2. [Step 6] The three-layer neural network model expressed by the equations (9), (10) is constructed, and the algorithm γ is ended. Algorithm δ k : [Step 1] A certain initial point w 1 is selected. Y 1 ON = X k ON , Y 1 OFF = X k - X k ON , and the linearly unseparable core pattern set I LU = Φ (empty set) . The iteration number d is set to d = 1. [Step 2] h ON ( x T w d -) [ x ∈ Y k ON ] and h OFF ( x T w d -)[ x ∈ Y k OFF ] are calculated. If even one pattern p exists which satisfies: h ON (x p T w d -) ≠ 1 (x p ∈ Y k ON ), or h OFF (x p T w d -) ≠ 0 (x p ∈ Y k OFF ), then control goes to a next step. If not, w d is set to w 0 , and the algorithm is ended. [Step 3] All patterns p in the step 2 are corrected according to the equations (38), (39). If d > d 0 , then the patterns p are added to the linearly inseparable core pattern set I LU . That is, I LU ← I LU ∪ {p} d 0 is a maximum value for the convergence iteration number at the time there is a solution to a predetermined original problem. [Step 4] If any of the finishing conditions a, d, e is satisfied, then the algorithm is finished. If not satisfied , when d = d 0 , w d ← w o . If the finishing condition b is satisfied, then the algorithm is finished. If not, then the algorithm is finished when the finishing condition c is satisfied. If the finishing condition c is not satisfied, then d ← d + 1, and the processing goes back to the step 2. (4)-2 Speeding-up of algorithm: Addition of improvements, described below, to the algorithms makes it possible to speed up the learning process. 1. The weights are calculated as integer-type weights. It is important that the threshold be not too small compared to the number of input neurons. If the threshold were too small, the iteration number would be unnecessarily be increased due to a quantization error, possibly causing infinite recurrence. 2. In the step 3 of the algorithm γ, before executing the algorithm δ k , j which satisfies x j ≥ x i with respect to i ∈ I ON , j ∈ I OFF changes from OFF patterns to ON patterns. The significance of the speeding-up process under 2 above is as follows: This speeding-up process is effective to reduce the number of times that the algorithm δ k is carried out to discover a linearly unseparable core pattern set I LU . However, since other patterns than I LU may be rendered ON, the algorithm δ k may possibly be subject to recurrence. No recurrence took place with a four-input pattern in an experiment described later on. FIGS. 10(a) through 10(c) show a transformation for the speeding-up process. White dots indicate OFF patterns, and black dots ON patterns. As shown in FIG. 10(a), those OFF patterns (on the righthand or upper side of dotted lines) which are equal to or larger than the ON patterns are transformed into ON patterns. Thereafter, as shown in FIG. 10(b), the ON and OFF patterns are clearly separated from each other. However, as shown in FIG. 10(c), there is a transformation in which the number of changed patterns is smaller. When there are an OFF pattern set and a ON pattern as shown in FIG. 10(a), since a line interconnecting the origin and the ON pattern passes through the convex hull of the OFF pattern set, these patterns are linearly unseparable. According to the above speeding-up process, all OFF patterns on the lefthand or upper side of the dotted lines are transformed into ON patterns, as shown in FIG. 10(b), and become linearly separable. This transformation is not a minimum transformation for making linearly separable patterns. The transformation may be less if effected as shown in FIG. 10(c). FIGS. 11 and 12 show the processes according to the algorithms γ, δ k in greater detail. FIG. 13 illustrates the definition of letters and symbols in FIGS. 11 and 12. FIGS. 14 through 16 are a detailed flowchart of the algorithm γ including the speeding-up process shown in FIGS. 10(a) through 10(c). FIG. 17 is a detailed flowchart of the algorithm δ k . FIGS. 14 through 17 are a specific representation of the processes shown in FIGS. 8 and 9. The steps shown in FIGS. 14 through 17 are basically the same as those shown in FIGS. 8 and 9, and will not be described in detail. (4)-3 Expansion of the algorithms: According to the above algorithms, the neuron threshold  is of a fixed positive value. Therefore, h( w T x -) necessarily becomes 0 at the origin 0 . when all inputs are 0, the output has a value of 0. To achieve all patterns including those in which all inputs are 0, a bias neutron 4 may be added as shown in FIG. 18. The bias neuron 4 is always ON so that the output is ON even when all the neurons of the input layer 1 are OFF. The neural network arrangement shown in FIG. 18 makes a learning process possible even if all inputs have a value of 0. In actual biological environments, such a neuron is of a circuit arrangement as shown in FIG. 19 which has a synaptic coupling for self feedback. If such a neuron is used, all input/output patterns including those in which all inputs are 0 can be learned according to the above algorithms. FIG. 19 shows a bias neuron unit with a self feedback loop. Once an ON input signal is applied to the bias neuron unit, the bias neuron unit keeps an ON value at all times. The value of the bias neuron unit may be made OFF if an inhibitory neuron is connected to the input thereof. The neural network for executing the above algorithms basically has multiple inputs and a single output. The neural network may be expanded into a multiple-input multiple-output neural network as shown in FIG. 20. Since synaptic couplings between output and hidden layers 3, 2 do not interconnect all the neurons in these layers, the learning process can be carried out at high speed. The present invention is not limited to the above three-layer network structures, but may be applied to a multilayer neural network structure having a plurality of hidden layers 2 as shown in FIG. 21. The neural network shown in FIG. 21 comprises an input layer 1, an output layer 3, and three hidden layers 2 . The hidden neurons having state values x 1 1 , ···, x k1 1 ; x 1 2 , ···, x k2 2 ; ···; x 1 p , ···, x kp p in the first hidden layer from the input layer 1, and hidden neurons having state values 2 x 1 , ···, 2 x r in the third hidden layer adjacent to the output layer 3 are generated as required as the learning process progresses. The hidden neurons having state values x 1 ', ···, x p ' in the second hidden layer are provided in advance as output neurons (corresponding to the output neuron having a state value y in FIG. 3) with respect to the hidden neurons in the first hidden layer. <Experiments> To ascertain the effectiveness of LISA, it was checked as to whether it can learn all patterns including linearly inseparable patterns. A numerical experiment was also been conducted to see if LISA causes an NP (nondeterministic polynomial) problem or not. The results of these experiments were compared with those of learning processes according to back propagation. The experiments employed "EWS,SUN4/260" manufactured by Sun Micro Systems. 1. Inspection of the learning capability of a neural network: Generally, it is impossible to determine whether a neural network can learn all patterns actually. A four-input, one-output neural network was experimented to see if it can learn all input/output patterns. Since the LISA has only a positive threshold, the output would be 0 when all inputs are 0 unless the neural network is expanded into a multiple-input multiple-output neural network as shown in FIG. 20. The learning pattern included two outputs (0, 1) with respect to 15 input patterns except for an input pattern in which all four inputs are 0. The number of all input/output patterns was 2 15 = 32768. A back-propagation neural network used for comparison had two layers except for an input layer, and included 4 neurons in the input layer, 8 neurons in the hidden layer, and one neuron in the output layer. Learning parameters were a learning step width η = 0.9 and a bias term coefficient α = 0.9. The learning process according to back propagation compared a target output and an output pattern of the network in each iteration, and ended when all of the compared outputs were the same. The output of the network was converted into a binary signal using a threshold of 0.5 for comparison with the target output. Therefore, if the output was 0.6, a binary value of 1 was compared with the target output, and if the output was 0.3, a binary value of 0 was compared with the target output. When the iteration number reached 3,000, the learning of the patterns was interrupted as no solution that would satisfy all the patterns was considered to exist. The results of the experiments are given in Table 1 below. Learning of 32,768 patterns Algorithm Back propagation LISA Calculation time 162,530.4 sec. 81.9 sec. Wrong answers 4085 0 Percentage of correct answers 88 % 100 % As can be seen from Table 1, the percentage of correct answers according to the back propagation process was 88 %, whereas the percentage of correct answers according to LISA was 100 %. The time required for learning the patterns according to the back propagation process was about 1,984 times the time required for learning the patterns according to LISA. When the iteration number reached 3,000 according to the back propagation process, the learning process was interrupted as producing wrong answers. The calculation times according to LISA and the back propagation process while no wrong answers were produced are given in Table 2 below. The results given in Table 2 were obtained when 100 patterns were checked as they were solved by the back propagation process, i.e., learned in learning cycles less than 3,000 learning cycles. Learning of 100 patterns Algorithm Back propagation LISA Calculation time 102.8 sec. 0.2 sec. Wrong answers 0 0 Percentage of correct answers 100 % 100 % Table 2 indicates that subject to no wrong answers, the LISA is 514 times faster than the back propagation process. Therefore, even if the back propagation process can learn patterns with the iteration number being less than 3000, the LISA is about 500 times faster than the back propagation process. However, as described above with respect to the speeding-up of the algorithms, the learning speed is lower for integer calculations if the threshold is too small. The threshold should preferably be of a value which is as large as possible depending on the memory capacity of the computer used and the dimensions of problems. For four-dimensional problems, the maximum number of neurons generated in the hidden layers of the LISA was 5 during a trial performance on 32, 768 patterns. 2. Experiment to see if the LISA causes an NP problem: Even though the LISA is faster than the back propagation process, if it causes an NP problem when the number of input patterns increases, then the calculation time exponentially increases, and will not be practical. An experiment was conducted to see how the calculation time of the LISA varies with respect to the number of patterns to be learned. The patterns to be learned were 7-input, 1-output patterns, and N patterns determined according to uniform random numbers were learned 100 patterns each time. The results are shown in the logarithmic graph of FIG. 22. The graph was approximated with a polynomial (aN b + c) with respect to each of pattern numbers 0, 25, 75, resulting in illustrated curves. The polynomial was represented by 1.5 × 10 -4 N 2.99 + 0.05. As the pattern number approaches 90, the gradient of the equation was larger than the experimental values. For 7 inputs, the calculation time of the LISA was of a polynomial order, and does not cause an NP problem. For seven-dimensional 127 patterns, the maximum number of neurons generated in the hidden layers of the LISA was 22 during a trial performance on 100 random patterns. FIG. 22 also shows the calculation time of the back propagation process. In this experiment, the back propagation process was modified as follows: When the iteration number exceeded 300, it was considered that the learning process would not converge any more, and the association weights were initialized again according to uniform random numbers, and the learning process was started again. This procedure was repeated up to 5 times. It can be seen from this graph that when the pattern number is 40 or higher, the LISA is about 100 times faster than the back propagation process. In FIG. 22, the LISA (represented by white dots) is about 100 times faster than the back propagation process (black dots). Since the graph has a vertical axis representing the logarithm of the time, the amount of calculation of either algorithm did not exponentially increase. If the calculation time increased exponentially, then any plotted calculation time would be indicated by a straight line having a certain gradient.The results of the LISA and the back propagation process show that the gradients thereof were reduced as the pattern number increased. The percentage of correct answers of the back propagation process suddenly started to decrease when the pattern number exceeded about 40 as shown in FIG. 23. Since the curve was similar to that of a sigmoid function, it was approximated by a sigmoid function as shown. The percentage of the LISA was kept at 100 % irrespective of the number of patterns. It indicates that the LISA could learn all input/output patterns generated by uniform random numbers. As shown in FIG. 23, the percentage of correct answers of the LISA was kept at 100 % regardless of the pattern number increasing. The percentage of correct answers of the back propagation decreased at the rate of a sigmoid function as the pattern number increased. The results of the experiments indicate the following: 1. The LISA does not cause an NP problem with respect to the pattern number. 2. For seven inputs, the LISA is about 100 times faster than the back propagation process. 3. The number of patterns that can be learned (the percentage of correct answers) by the back propagation process decreases at the rate of a sigmoid function as the pattern number increases. When the number of patterns is 50 or more, the percentage of correct answers of the back propagation greatly decreases, and the actual learning speed of the LISA appears to be much more faster than the back propagation process. As described above, the learning algorithm for a binary neural network which can learn even linearly unseparable patterns according to the present invention makes it possible for the neural network to learn all four-input one-output patterns except for a pattern with all inputs being zero. The learning algorithm of the invention is capable of learning patterns much faster than the conventional algorithm, and requires a calculation time on a polynomial order. With the present invention, as described above, a linearly unseparable input/output pattern is transformed into several linearly separable patterns, which are then combined by an output layer so that they produce the same output as the original input/output pattern. Therefore, a neural network can learn all input/output patterns irrespective of whether they are linearly separable or unseparable. Since hidden layer neurons are generated as required, if a pattern is linearly separable, one neuron is sufficient, and if a pattern is linearly unseparable, a minimum number required of neurons or a close number of neurons are sufficient. Thus, a memory required to achieve desired input/output patterns may be of a minimum capacity required. Since the number of association weights between neurons to be modified is also minimum, the learning speed is very high. Since the conventional back propagation process uses a sigmoid function as a neuron transformation function, the weights vary to a large degree as a local optimum point is approached, but to a very small degree at a point far from the local optimum point. The transformation function used in the present invention has a constant gradient anywhere at points that are inadmissible for the learning process. Because the step width is of a minimum making the present patterns admissible, the association coefficients converge at high speed irrespective of the distance from an optimum point. According to the present invention, since hidden layer neurons are automatically generated as required, there is no concern required over how many hidden layer neurons are to be employed. The analysis of a neural network that is produced according to a learning process is highly complex and difficult to achieve. According to the present invention, the network as shown in FIG. 3 is constructed according to the linearly separable allocation method. Since the network shown in FIG. 3 achieves calculations between sets as indicated by the equations described with reference to FIG. 2(b), it can easily be analyzed. Although certain preferred embodiments of the present invention have been shown and described in detail, it should be understood that various changes and modifications may be made therein without departing from the scope of the appended claims.

Claims: A neural network comprising: an input layer having a plurality of input neurons for receiving an input signal said input signal containing an input/output pattern set (P), said plurality of input neurons comprising a predetermined fixed number of input neurons; one or more hidden layers having one or more hidden neurons for processing a signal received from, said plurality of input neurons, and an output layer having one or more output neurons for processing a signal received from said hidden neurons and for producing an output signal, said input layer and said hidden layers being coupled to each other by association coefficients (wji) determined by a learning process, said hidden layers and said output layer being coupled to each other by association coefficients (wji) determined such that a sum of association coefficients between said output layer neurons and first through odd-numbered sequential hidden neurons in a single hidden layer is larger than a predetermined threshold and a sum of association coefficients between said output neurons and first through even-numbered sequential hidden neurons in the single hidden layer is smaller than said predetermined threshold, the neural network automatically generating the hidden neurons of said single hidden layer as required according to a predetermined process as said learning process progresses, wherein said given input/output pattern set is implemented by a combination of linearly separable pattern sets realized by said hidden neurons, each hidden neuron corresponding to a respective one of said linearly separable patterns said neural network being characterized in that said learning process is effected by modifying association coefficients w d , between said hidden layers and said input layer according to the formula w d+1 = w d + α*x where d is an index indicative of a number of repeated calculations, and α, a bias coefficient, is indicated by w d , w d+1 being weights, w ∈ R n x being the input pattern or set of input vectors T indicating transposition, and  being a neuron threshold value, and  ∈ R 1 if target and actual outputs are different from each other, extracting a set of patterns from all given patterns according to a predetermined pattern set extracting process, and transforming one by one patterns causing inseparability selected from said extracted set of patterns according to a predetermined rule into patterns of different type, the learning process being effectuated again until a certain finishing condition is satisfied, thereby finally obtaining a linearly separable pattern set; determining said association coefficients between said output layer and said generated hidden neurons so as to realize said given input/output pattern set by means of a combination of linearly separable pattern sets realized by said hidden neurons. The neural network according to claim 1, wherein said one or more hidden layers comprise hidden neurons, wherein the hidden neurons in an odd-numbered hidden layer from said input layer are generated as required as said learning process progresses, and the hidden neurons in an even-numbered hidden layer from said input layer are provided in advance as output neurons with respect to the hidden neurons in said odd-numbered hidden layer. The neural network according to claim 1, further comprising a bias neuron connected to each of said hidden neurons, said bias neuron continuously being in an ON state when an input signal for making said bias neuron ON is applied. The neural network according to claim 1, wherein said hidden neurons are divided into a plurality of groups, respective ones of said output neurons being provided as coupled to respective ones of the groups of the hidden neurons resulting in a multiple-input, multiple-output network. A learning method for a neural network comprising an input layer having a plurality of input neurons for receiving an input signal said input signal containing an input/output pattern set (P), one or more hidden layers having one or more hidden neurons for processing a signal received from said plurality of input neurons, and an output layer having one or more output neurons for processing a signal received from said hidden neurons and for producing an output signal, the learning method comprising the steps of: determining whether said given input/output pattern is linearly separable or not; applying input values from said input/output pattern to said input layer and a corresponding output values from said input/output pattern to said hidden neurons to effect a predetermined learning process on said hidden neurons, if said given input/output pattern set is linearly separable; determining association coefficients between said output layer and said hidden layers such that a signal from said hidden neurons and an output signal from said output neurons which receive said signal from said hidden neurons are equal to each other; allocating a learning pattern set determined by a predetermined learning pattern set determining process, between said hidden layers and said input layer to effect said learning process on said hidden neurons, if said given input/output pattern set is linearly inseparable; generating the hidden neurons of at least one of said hidden layers depending on said given input/output pattern set according to a predetermined process as said learning process progresses, each hidden neuron corresponding to a respective one of said linearly separable pattern sets; said learning method being characterised in that said learning process is effected by modifying association coefficients between said hidden layers and said input layer according to the formula w d+1 = w d + α*x where d is an index indicative of a number of repeated calculations, and α, a bias coefficient, is indicated by w d , w d+1 being weights, w ∈ R n x being the input pattern or set of input vectors T indicating transposition, and  being a neuron threshold value, and  ∈ R 1 , if target and actual outputs are different from each other, extracting a set of patterns from, all given patterns according to a predetermined pattern set extracting process, and transforming one by one patterns causing inseparability selected from said extracted set of patterns according to a predetermined rule into patterns of different type, the learning process being effectuated again until a certain finishing condition is satisfied, thereby finally obtaining a linearly separable pattern set; determining said association coefficients between said output layer and said generated hidden neurons so as to realize said given input/output pattern set by means of a combination of linearly separable pattern sets realized by said hidden neurons. The learning method according to claim 5, wherein said predetermined rule is defined to select a pattern remotest from the origin of a coordinate space in which the pattern is presented. The learning method according to claim 5, wherein said predetermined rule is defined to select a pattern whose inner product with the weight of a predetermined hidden neuron is maximum or minimum. The learning method according to claim 5, further comprising the steps of: applying an input pattern to said hidden neurons to determine whether an output of said output neurons agrees with the target output or not; and correcting the association coefficients between said hidden layers and said input layer until a predetermined finishing condition is satisfied, if the output of said output neurons disagrees with the target output. The learning method according to claim 8, wherein said finishing condition is satisfied when the number of times that said association coefficients are corrected exceeds a predetermined value. The learning method according to claim 8, wherein said finishing condition is based on a comparison between a present weight and a weight which satisfies a predetermined condition at at least one time in the past, when repetitive calculations are effected in said learning process. The learning method according to claim 8, wherein said association coefficients are corrected by a step width which is determined according to a predetermined correction rule each time said association coefficients are to be corrected. The learning method according to claim 5, wherein said learning process is effected by employing different transformation functions h ON h OFF with respect to a given ON pattern whose target output is 1 and a given OFF pattern whose target output is 0, maximizing a sum of the transformation functions with respect to all patterns, and transforming said input/output pattern into a linearly separable pattern based on an optimization condition equation for maximizing the sum of the transformation functions, it said input/output pattern is linearly unseparable. The learning method according to claim 5, further comprising the steps of: determining a learning pattern according to a predetermined process from an original input/output pattern and an input/output pattern realized by hidden neurons which have been learned; and allocating the learning pattern to hidden neurons that have not been learned. The learning method according to claim 5, wherein said pattern is transformed by transforming an OFF pattern whose target output is 0 into an ON pattern whose target output is 1, and modifying the OFF pattern into an ON pattern when all elements of the OFF pattern have a value equal to or greater than the value of corresponding elements of an ON pattern. The learning method according to claim 5, wherein said set of patterns is extracted by checking a change in the association coefficients between said hidden layers and said input layer, and extracting a set of patterns in which the association coefficients do not change and the target output disagrees with the actual output. The learning method according to claim 8, wherein said finishing condition is based on either a value of a predetermined object function having an argument comprising said association coefficients, or a hypogradient of said object function. The learning method according to claim 5, wherein said association coefficients between said output layer and said generated hidden neurons are determined so as to have alternate sign in order of the generation of said generated hidden neurons.

Inventors: WATANABE RYUJIN, WATANABE, RYUJIN
Applicants: HONDA MOTOR CO LTD, HONDA GIKEN KOGYO KABUSHIKI KAISHA
Application year: 1992
Main classification: G06F15
IPC codes: G06G7, G06F15, G06N3, G06N99