Learning machine with multi-input single output circuits connected in hierarchical structure

Abstract: In a learning machine with multi-input single-­ output circuits (18, 19, 20) connected in a hierarchical structure which sums up weighted input signals and subjects the sum thus obtained to a non-linear processing to provide an output signals, each weight is changed (16, 65) to provide a desired value of each output signal in learning. Using, as a direction of changing the weight, a conjugate gradient direction is used in place of the most sudden drop direction which has been conventionally adopted can reduce the time required for the learning. Also dynamically setting, as a learning parameter, an optimum value in place of a fixed value which has been conventionally adopted can reduce the time required for learning. Moreover, in calculating errors for plural learning parameters relative to a certain weight changing direction, a product-sum of the input signals and weights in a secret layer (22) and a product-sum of the input signals and the weight changing direction in the secret layer are stored (77) so that the number of operations of acquiring outputs from the secret layer thereby to greatly reduce the time required for learning. Furthermore, if it is detected (92) that the learning has been fallen into an unsuitable state where further advancing the learning cannot effectively reduce the errors, the weight are adjusted to resume the learning thereby reducing the time required for learning.

Description: BACKGROUND OF THE INVENTION The present invention relates to a learning machine for data processing with multi-input single-output circuits connected in a hierarchical structure. An example of the conventional learning machine with multi-input single-output circuits connected in a hierarchical structure is disclosed in e.g. D.E. Rummelhart et al. "Learning representations by back-propagating errors", Nature Vol. 323 No. 9 (1986). In the conventional learning machine with multi-input single-output circuits connected in a hierarchical structure, each multi-input single-output circuit adds up input signals weighted, and subjects the resulting signal to conversion having a saturation characteristic; the output signal thus provided is expressed by where y[j] is an output signal from a j-th multi-input single-output circuit, y[i] is an output signal from an i-th multi-input single-output circuit in a previous layer, and w[i,j] is the weight charged on the output signal from the i-th multi-input single-output circuit in the previous layer when it is supplied to the j-th multi-input single-output circuit. fnc( ) is a function having a saturation characteristic which can be expressed by e.g. a sigmoidal function fnc(x) = 2 1 + exp -x - 1 A learning machine is usually structured in such a manner that multi-input single-output circuits are connected in a hierarchical structure and learns to provide a desired output signal (hereinafter referred to as a supervising signal') in response to input signals. In the learning, an error E is acquired from the supervising signal and the actual output signal in accordance with Equation (2) where y p [j] is an output signal from a j-th multi-input single-output circuit in an output layer for a p-th input pattern t p [j] is a supervising signal for Y p [j], is a sum for all the input patterns, is a sum for all the output signals in the output layer, and w is a vector including weight w[i,j] as a component (hereinafter referred to as a weight vector). As shown in Equation (2), the error E can be expressed as a squared sum of a difference between a supervising signal and an actual output signal and so is a function of the weight vector w . The purpose of learning is to change the weight vector to minimize difference between the supervising signal and the actual output signal, i.e. the error E. The amount of changing the weight vector is decided by Δ w = -ε * ∂E ∂ w + α * Δ w ' where ε is a positive constant referred to as a learning rate, α is a positive constant referred to as an accelerating parameter, ∂E/∂ w is a vector including as a component the differentiation of the error expressed by Equation (2) by the weight w[i,j], which is referred to as the steepest descent direction, and Δ w ' is a vector representation of the weight changing amount in the previous learning. Such a learning algorithm is generally referred to as an error back-propagation method. In the learning of the conventional learning machine with multi-input single-output circuits connected in a hierarchical structure, the learning rate ε and the accelerating parameter α are fixed; they are decided through experience or try and error and so not necessarily optimum values. This lengthens the time required for learning. Moreover, the error back-propagation method based on the steepest descent method, used for minimizing the error which is the purpose of learning, is not always an optimum. Further, the learning may fall into a non-effective state where further learning does not reduce any error. According to the present invention there is provided a learning machine with multi-input single-output circuits connected in a hierarchical structure comprising: a hidden layer consisting of plural multi-input single-output circuits which subject a weighted sum of input signals to non-linear processing by a characteristic function having a saturation characteristic to provide output signals; an output layer consisting of plural multi-input single-output circuits which subject a weighted sum of the output signals from said hidden layer to non-linear processing by a characteristic function having a saturation characteristic to provide output signals; a supervising signal generating unit for generating desired supervising signals for said output layer; an error calculating circuit for providing an error signal representative of the error between supervising signals from said supervising signal generating unit and actual outut signals from said output layer; a steepest descent direction calculation unit for acquiring the steepest descent direction of the error signal from said error calculating circuit; and a weight changing unit for changing weights said machine being characterised by a conjugate gradient direction calculation unit for acquiring the conjugate gradient direction based on the steepest descent direction from said steepest descent direction calculation unit and the previous weight changing direction from the following weight direction deciding unit; and a weight changing direction deciding unit for setting said weight changing direction to either a conjugate gradient direction from said conjugate gradient direction calculation unit or a steepest descent direction from said steepest descent direction calculation unit; and wherein said weight changing unit is arranged to change weights on the basis of the weight changing direction acquired by said weight changing direction deciding unit whereby the amount of changing the weight vector is given by: DELTA w = -ε * (dE)/(dw) + α * DELTA w' whereby ε = learning parameter, α = accelerating parameter, -(dE)/(dw) = steepest descent direction = g, DELTA w' = weight changing amount in the previous learning and whereby the conjugate gradient direction is given by: d = g + β * d' with β = (|g| 2 )/(|g'| 2 ) where β is a constant, g' is the steepest descent direction in the previous learning, and d' is the conjugate gradient direction in the previous learning. A learning machine in accordance with the present invention can shorten the time required for learning by advancing the learning with the optimum value of a learning rate dynamically set. Also it can shorten the time required for learning by reducing the amount of operation in calculating errors for plural learning rates relative to a predetermined weight changing direction. The machine can also shorten the time required for learning by readjusting the weight to re-start the learning when detecting that the learning has been fallen into a non-effective state where further learning does not reduce the error. In accordance with one embodiment of the present invention, there is provided a learning machine with multi-input single-output circuits connected in a hierarchical structure comprising hidden layers consisting of plural multi-input single-output circuits which subject a weighted sum of input signals to a non-linear processing by a characteristic function having a saturation characteristic to provide output signals, an output layer consisting of plural multi-input single-output circuits which subject a weighted sum of the output signals from said hidden layers to a non-linear processing by a characteristic function having a saturation characteristic to provide output signals, a supervisory signal generating unit for generating desired output signals for said output layer, a weight changing direction deciding unit for selecting and deciding, from plural directions, the weight changing direction for minimizing errors between outputs from said supervisory signal generating unit and outputs from said output layer, a line searching unit for producing weight changing amounts for plural learning rates with respect to the weight changing direction, a weight changing unit for selecting weight changing amounts from the weight changing amounts acquired by said line searching unit, a hidden layer product-sum storage unit for storing a product sum of input signals and weight of the hidden layer and a product sum of the input signals and the direction of changing the weight of the hidden layer, and non-effective learning state detecting unit for detecting that the learning has been fallen into a: non-effective state where further learning does not effectively reduce the error. In this arrangement the weighted sum of input signals are subjected to a non-linear processing to provide an output signal in both hidden layers and output layer; in order to minimize any error between a desired output signal generated by the supervisory signal, generating unit and an actual output signal, selects and decides the weight changing direction from plural directions in the weight changing deciding unit; acquires the weight changing amounts for plural learning rates in the line searching unit; on the basis of the product sum of the input signals and the weight in the hidden layer and the product sum of the input signals and the direction of changing the weight in the hidden layer which are stored in the hidden layer product sum storage unit, acquires with less amount of processing an output from the hidden layer for the weight changing amount set in the line searching unit; and finally, checking in the non-effective learning state detecting unit if or not the learning has fallen into a non-effective state, selects in the weight changing unit the weight changing amounts from the weight changing amounts acquired by the line searching unit to change the weights. Thereafter, in the same manner, the operation of changing weights is repeated using a learning rate of minimum error in a weight changing direction thereby to sufficiently reduce the error. In this manner when the wieght changing direction has been decided, an optimum learning rate is dynamically set in that direction, and the weights are changed using the optimum learning rate to reduce the error so that the error can be sufficiently reduced in a short time to complete the learning. In the present invention, in order to minimize the error, the weight changing direction is decided by the above weight changing direction deciding unit. As the weight changing direction, the steepest descent direction is locally the most effective direction in that the greatest amount of reducing the error can be given with the smallest amount of changing the weight in the neighborhood of the present weight value. On the other hand, a conjugate gradient direction is globally the most effective direction in that the weight is changed in a different direction from the weight changing direction in the previous learning. The present invention, therefore, selects an optimum weight changing direction from plural directions thereby to shorten the time required for learning. The present machine, by storing, in the above hidden layer product sum storage unit, the product sum of the input signals and the weights in the hidden layer and the sum of the input signals and the direction of changing the weight in the hidden layer, greatly reduces the amount of operation of acquiring the outputs from the hidden layer in calculating the errors for plural learning rates with the weight changing direction fixed, thereby shortening the time required for learning. The present machine, when the above non-effective learning state detecting unit detects that changing the weight toward the steepest descent direction or the conjugate gradient direction cannot reduce the error, decides that the learning has been fallen into the non-effective state and readjust the weight to restart the learning, thereby preventing the learning from being fallen into the non-effective state to shorten the time required for learning. The invention will be described now by way of example only, with particular reference to the accompanying drawings. In the drawings: Fig. 1 is a block diagram showing the general arrangement of the conventional learning machine with multi-input single-output circuits connected in a hierarchical structure; Fig. 2 is a block diagram showing the detailed arrangement of the conventional learning machine with multi-input single-output circuits connected in a hierarchical structure; Fig. 3 is a graph of the characteristic function of an adder having a saturation input/output characteristic in the conventional learning machine of Fig. 2; Fig. 4 is a block diagram showing the arrangement of a learning circuit in the conventional learning machine with multi-input single-output circuits connected in a hierarchical structure; Fig. 5 is a block diagram showing the details of the learning circuit of Fig. 4; Fig. 6 is a block diagram showing the learning machine with multi-input single-output circuits connected in a hierarchical structure according to the first embodiment of the present invention; Fig. 7 is a block diagram showing the arrangement of the learning circuit in the embodiment of Fig. 6; Fig. 8 is a block diagram of the detailed arrangement of a conjugate gradient deciding unit in the embodiment of Fig. 6; Fig. 9 is a block diagram showing the learning machine with multi-input single-output circuits connected in a hierarchical structure; Fig. 10 is a block diagram showing the arrangement of the learning circuit in the embodiment of Fig. 9; Fig. 11 is a schematic view of contour lines of a error curve for explaining the operation of the embodiment of Fig. 9; Fig. 12 is a cross-sectional view between the starting point and point P of the error curve for showing the operation of the embodiment of Fig. 9; Fig. 13 is a PAD (Problem Analysis Diagram) showing the operation of the line searching unit in the embodiment of Fig. 9; Fig. 14 is a block diagram showing the learning machine with multi-input single-output circuits connected in a hierarchical structure according to the second embodiment of the present invention; Fig. 15 is a schematic view of contour lines of a error curve for explaining the operation of the embodiment of Fig. 14; Fig. 16 is a block diagram showing the learning machine with multi-input single-output circuits connected in a hierarchical structure according to the third embodiment of the present invention; Fig. 17 is a block diagram showing the detailed arrangement of a hidden layer product sum storage unit in the embodiment of Fig. 16; and Fig. 18 is a block diagram showing the learning machine with multi-input single-output circuits connected in a hierarchical structure according to the fourth embodiment of the present invention. DESCRIPTION OF THE PREFERRED EMBODIMENTS Prior to explaining several embodiments of the present invention, the conventional learning machine with multi-input single-output circuits connected in a hierarchical structure will be further explained with reference to Figs. 1 to 5. Fig. 1 shows the general arrangement of the conventional learning machine with multi-input single-output circuits connected in a hierarchical structure. In Fig. 1, 201 and 202 are input terminals; 212 is an output terminal; 217 is a learning circuit; 218, 219, and 220 are multi-input single-output circuits; 221 is an output layer; and 222 denotes hidden layers. As seen from Fig. 1, the learning machine, through the construction in which multi-input single-output circuits are connected in a hierarchical structure, process input signals from input terminals 201, 202 to provide output signals at the output terminals. Among the multi-input single-output terminal circuits, the layer consisting of the multi-input single-output circuits generating the output signals is referred to as the output layer, and the layers consisting of the other multi-input single-output circuits is referred to the hidden layers. The hidden layers may be a single layer of the multi-input single-output circuits or plural layers thereof. Fig. 2 shows the detailed arrangement of the conventional learning machine with multi-input single-output circuits connected in a hierarchical structure. In Fig. 2, 203, 204, 205, 206, 207 and 208 are variable weight multipliers; 209, 210 and 211 are adders having a saturation input/output characteristic; 212 is an output terminal; 213 is a teacher signal generating unit; 214 is an error calculating unit; 215 is the most sudden drop direction decision unit; and 216 is a weight changing unit. In the general arrangement of the learning machine of Fig. 1, the learning machine shown in Fig. 2 comprises the output layer consisting of one multi-input single-output circuit and the secret layer of one layer consisting of two multi-input single-output circuits. As seen from Fig. 2, each multi-input single-output consists of two variable weight multipliers and one adder. Thus, the learning machine is constructed so that plural multi-input single-output circuits are connected in a hierarchical structure. Fig. 3 is a graph of the characteristic of the adders 209, 210 and 211 having a saturation input/output characteristic. The adders 209, 210 and 211 have the saturation input/output characteristic shown in Fig. 3. The conventional learning machine with multi-input single-output circuits connected in a hierarchical structure, in order to provide a desired output signal for input signals, changes the weight applied to the input signals by the variable weight multiplier. Fig. 4 shows the arrangement of the learning circuit 217 of this conventional learning machine. In Fig. 4, 223 is an input terminal of the output from the output layer; 224 is an input terminal of the output from the hidden layer; 225 is an input terminal of the input signals; 226 is an output terminal of the weight in the output layer; and 227 is an output terminal of the weight in the hidden layer. In the conventional multi-input single-output circuits connected in a hierarchical structure, the supervising signal generating unit 213 generates a supervising signal (desired output signal) t p [j] for the input signals. The error calculating unit 214 calculates an error E expressed by Equation(2) from the supervising signal t p [j] and an actual output signal y p [j]. The error calculating unit sends a difference signal between the supervising signal and the output signal t p [j] - y p [j], which is required to change the weight, to the steepest descent direction decision unit 215. On the basis of the above difference signal, the output signal from the output layer, the output signals from the hidden layer, the input signals and the weights in the output layer, the steepest descent direction decision unit 215 acquires the steepest descent direction of the error E in a weight space where the weights are expressed in vector. The steepest descent direction can be expressed by g = - ∂E w ∂ w The right side of Equation (4) is an vector expression of the differentiation of the error E by weights. The steepest descent direction decision unit 215 multiplies the steepest descent direction by a learning rate to provide an output to the weight changing unit 216. The weight changing unit 216 acquires the weight changing amount from Equation (3) and changes the weight to be multiplied in the respective variable weight multipliers 203, 204, 205, 206, 207 and 208. In this way, the operation of acquiring the weight changing amount is repeated by the steepest descent method to gradually reduce the error. When the error has been sufficiently decreased, decision that the output signal has approached the desired value is made to complete the learning. Fig. 5 shows the details of the learning circuit 217 in the conventional learning machine with multi-input single-output circuits connected in a hierarchical structure. In Fig. 5, 228 is a learning completion decision unit; 229 and 230 are differentiation coefficient calculation unit; 231 is an output differentiation coefficient storage unit; 232 is a δ storage unit; 233 is a δ * w buffer; 234 is a hidden layer differentiation coefficient storage unit; 235 is an input signal storage unit; 236, 237, 238, 239 and 240 are multipliers; 241, 242, 243 and 244 are adders; 245 and 246 are learning rate multipliers; 247 is an output layer weight storage unit; and 248 is a hidden layer weight storage unit. Referring to Fig. 5, the operation of the learning circuit will be explained. the weight changing amount supplied from the steepest descent direction decision unit 215 can be expressed by Δw g [i,j] = - ε * ∂E ∂w i,j where w[i,j]is the weight to be multiplied by the output signal from an i-th multi-input single-output circuit in the previous layer, which is supplied to a j-th multi-input single-output circuit, Δw g [i,j] is the weight changing amount of w[i,j] relative to the steepest descent direction, and ε is a learning rate. Equation (5) can be transformed into where and y p [i] is an output signal from an i-th multi-input single-output circuit in the previous layer corresponding to the p-th input signals. Equation (6) can be further transformed into where δw p [j] = - ∂E ∂net p j The manner of transforming the equation depends on whether the j-th multi-input single-output circuit resides in the output layer or the hidden layer. * When the j-th multi-input single-output circuit resides in the output layer, δw p [j] = - ∂E ∂net p j = - ∂E ∂y p j * ∂fnc(net p [j]) ∂net p [j] where fnc(net p [j] is a characteristic function (= y p [j]) of each multi-input single-output circuit in the output layer. Using Equation (2), this equation can be further transformed into δw p [j] = (t p [j] - y p [j]) * ∂fnc(net p [j]) ∂net p [j] Consequently, it can be expressed by In Fig. 5, the adder 241 calculates (t p [j] - y p [j]) in Equation (9), the differentiation coefficient unit 229 calculates ∂fnc(net p [j])/∂net p [j]), and the multiplier 236 calculates (t p [j] - y p [j] * ∂fnc(net p [j])/ ∂net p [j]), through the output layer differentiation coefficient storage unit 231. This value, which is δw p [j], is stored in the δ storage unit 232. The multiplier 237 calculates a product of δw p [j] and the hidden layer output y p [i]. The multiplier 245 multiplies this product by a learning rate ε to provide Δw g [i,j] expressed by Equation (9), α times of the weight changing amount in the previous learning is added to Δw g [i,j] of Equation (9) to provide the weight changing amount Δw[i,j] expressed by Equation (3). The adder 243 calculates a sum of this weight changing amount and the weight before change thereby changing the weight in the output layer stored in the output layer weight storage unit 247. * When the j-th multi-input single-output circuit resides in the hidden layer, where net p [k] = Σ(w[j,k]*y p [j]), and w [j,k] is a weight to be multiplied, by the output y p [j] of the j-th multi-input single-output circuit when it is supplied to to the multi-input single-output circuit in the next layer. Using Equation (8), this equation can be further transformed into Consequently, it can be expressed by In Fig. 5, the multiplier 238 calculates a product of the an output δw p [k] from the δ storage unit 232 and the weight w[j,k] in the output layer, and the δ * w buffer 233 and the adder 242 calculates The differentiation coefficient ∂fnc(net p [j])/∂net p [j], is supplied to the multiplier 239 through the hidden layer differentiation coefficient storage unit 234, which calculates a product of this coefficient and the above The multiplier 240 multiplies this product by the input signal y p [i]. The multiplier 246 multiplies this product by a learning rate ε to provide Δw g [i,j] expressed by Equation (10). α times of the weight changing amount in the previous learning is added to Δw g [i,j] of Equation (10) to provide the weight changing amount Δw[i,j] expressed by Equation (3). The adder 244 calculates a sum of this weight changing amount and the weight before change thereby changing the weight in the output layer stored in the output layer weight storage unit 248. In this way, in order to reduce the error between output signals from the output layer and supervising signals the amount of changing the weight in the output layer is acquired using difference signals between the output signals and the supervising signals, and the weight changing amount is successively acquired from the output side towards the input side. Such a learning algorithm is referred to as back-propagation method. In the conventional learning machine having the construction described above, the learning rate ε and the accelerating parameter α are fixed; they are decided through experience or try and error and so not always optimum values. This lengthens the time required for learning. Moreover, the weight changing direction using the differentiation of the error E by the weights (i.e. the steepest descent direction) is not always optimum. Further, the learning may possibly be fallen into a non-effective state where further learning does not reduce any error. Fig. 6 shows the arrangement of a learning machine with multi-input single-output circuits connected in a hierarchical structure according to a first embodiment of the present invention. In Fig. 6, 1 and 2 are input terminals; 3, 4, 5, 6, 7 and 8 are variable weight multipliers; 9, 10 and 11 are adders having a saturation input/output characteristic; 12 is an output terminal; 13 is a supervising signal generating unit; 14 is an error calculating unit; 15 is a conjugate gradient direction decision unit; 18 is a weight changing unit; 17 is a learning circuit; 18, 19 and 20 are multi-input single-output circuits; 21 is an output layer; 22 is a hidden layer; and 61 is a learning rate multiplier. In the learning machine according to this embodiment, multi-input single-output circuits are connected in a hierarchical structure; each circuit consists of variable weight multipliers and an adder having a saturation input/output characteristic. Each multi-input single output circuit adds up input signals, after having been weighted, and subjects the sum to a non-linear processing to provide an output signal. In the learning of the learning machine according to this embodiment, in order that an output from the output layer 21 is equal to an output from the supervising signal generating unit 13, the weight to be multiplied in the multipliers 3, 4, 5, 6, 7 and 8 are changed. If the vectors having weights as components are referred to as weight vectors, the amount of changing the weight vectors can also be expressed in vector form. The direction of this weight changing vector is referred to as a weight changing direction. In this embodiment, a conjugate gradient direction is used as the weight changing direction. The conjugate gradient direction is given by d = g + β * d ' where g is the steepest descent direction expressed by Equation (4), and β is a constant expressed by β = g 2 g ' 2 d ' is a conjugate gradient direction in the previous learning, and | g '| is the norm of the vector in the steepest descent direction g ' in the previous learning. Incidentally, the weight changing direction in an initial learning is defined as the steepest descent direction. Fig. 7 shows an arrangement of the learning circuit 17. In Fig. 7, 23 is an input terminal of the output from the output layer; 24 is an input terminal of the output from the hidden layer; 25 is an input terminal of the input signals; 26 is an output terminal of the weight of the output layer; 27 is an output terminal of the weight of the hidden layer; 28 is the steepest descent calculation unit; 29 is a conjugate gradient direction calculation unit; 30 is a weight changing direction decision unit; and 31 is a learning iteration counting unit. Now referring to Fig. 7, explanation will be given for the operation of learning circuit 17 in the learning machine with multi-input single-output circuits connected in a hierarchical structure. The supervising signal generating unit 13 provides a desired signal for the input signals as a supervising signal to the error calculation unit 14 which produces a difference signal between the supervising signal and an actual output signal. The conjugate gradient direction decision unit 15 acquires the weight changing direction from the difference signal. Further, the weight changing unit 16 changes the weight in accordance with the weight changing amount acquired by the learning rate multiplier 61. The conjugate gradient direction decision unit 15 acquires the weight changing direction in the following manner. The steepest descent direction calculation unit 28, on the basis of the difference signal provided from the error calculation unit 14, the output signal from the output layer, the input signal and the weight of the output layer, acquires the steepest descent direction expressed by Equation (4). The conjugate gradient direction calculation unit 29 acquires a conjugate gradient direction from the steepest descent and the weight changing direction in the previous learning. The learning iteration counting unit 31 counts the iteration learning to provide a selection signal which of the steepest descent and the conjugate gradient direction is to be used as a weight changing direction. Generally in the conjugate gradient method, using the steepest descent for the learning iteration every number of the weights accelerates the convergence of the error. Therefore, in this embodiment also, the learning iteration counting unit 31 produces the selection signal so that the steepest descent direction is used for the learning iteration every number of the weights. The weight changing direction decision unit 31 changes the weight changing direction between the steepest descent direction and the conjugate gradient direction in accordance with the selection signal produced from the learning iteration counting unit 31. The learning rate multiplier 61 multiplies the weight changing direction thus decided by a learning rate to provide a weight changing amount. Finally, the weight changing unit 16 changes the weight. The details of the conjugate gradient decision unit 15 are shown in Fig. 8. In Fig. 8, 32 is an input terminal of the weight of the output layer; 33 is an output terminal of the direction of changing the weight of the output layer; 34 is an output terminal of the direction of changing the weight of the hidden layer; 35 is an input terminal of the difference signal; 36 and 37 are differentiation coefficient calculation unit; 38 is an output layer differentiation coefficient storage unit; 39 is a hidden layer differentiation coefficient storage unit; 40 is a δ storage unit; 41 is an unit for storing the deepest descent direction in the output layer at this time; 42 is a unit of storing the deepest descent direction in the output layer at the previous time; 43 is a β calculation unit; 44 is a unit of storing the direction of changing the weight of the output layer at the previous time; 45, 46, 47, 48, 49, 50 and 51 are multipliers; 52 is an adder; 53 is a δ * w buffer; 54 is an input signal storage unit; 55 is a unit of storing the steepest descent direction in the hidden layer at this time; 56 is a unit of storing the steepest descent direction in the hidden layer at the previous time; 58 is a unit of storing the direction of changing the weight of the hidden layer at the previous time; 59 and 60 are weight changing direction switching unit; and 63 and 64 are adders. With reference to Fig. 8, detailed explanation will be given for the operation of the conjugate gradient direction decision unit 15. The steepest descent direction calculation unit 28 has substantially the same arrangement as that of the steepest descent calculation unit 215 of the conventional learning machine with multi-input single-output circuits as shown in Fig. 5. The multiplier 46 provides the steepest descent direction relative to the weight of the output layer, and the multiplier 51 provides the steepest descent direction relative to the hidden layer. The signals indicative of these steepest descent directions are sent to the weight changing direction switching units 59 and 60 in the weight changing direction decision unit 30 and also to the this time output layer steepest descent direction storage unit 41 and the this time hidden layer steepest descent direction storage unit 55 in the conjugate gradient direction calculation unit 29. Using Equation (12), the β calculation unit 43 acquires β on the basis of the steepest descent directions stored in the learning at this time stored in the storage units 41 and 55 and the steepest descent directions stored in the learning at the previous time stored in the previous time output layer steepest descent direction storage unit 42 and the previous time steepest descent direction storage unit 56. The multipliers 48 and 51 acquire products of β thus obtained and the weight changing directions d' in the previous learning. The adders 63 and 64 acquire sums of these products and the steepest descent directions at this time. These sums are sent, as conjugate gradient directions, to the weight changing direction switching units 59 and 60 in the weight changing direction decision unit 30. Thus, the steepest descent directions and the conjugate gradient directions are supplied to the weight changing direction switching units 59 and 60. On the other hand, the learning iteration counting unit 31 counts the iteration of learning and provide such selection signals as select the steepest descent direction as the weight changing direction for the learning in every number of iterations equal to the number of the weights and select the conjugate gradient direction for the learning carried out in every number of the other iterations. The weight changing direction switching units 59 and 60 switch the weight changing direction between the steepest descent direction and the conjugate gradient direction in accordance with these selection signals. In this way, in the learning machine according to this embodiment, the conjugate gradient direction decision unit 15 provides either the steepest descent direction or the conjugate gradient direction as the weight changing direction. If the conjugate gradient direction is selected as the weight changing direction, this means that the weight is changed to the direction different from the weight changing direction in the learning up until the previous iteration; this conjugate gradient direction is generally the most effective direction. In accordance with this embodiment, the learning can be completed in a shorter time than in the conventional learning machine which adopts the steepest descent direction as the weight changing direction. Incidentally, although in this embodiment, the steepest descent direction is adopted as the weight changing direction for the learning carried out in every number of iterations equal to that of the weights, the conjugate gradient direction may be adopted in all the iterations other than first time learning, or the steepest descent direction may be adopted for the learning to be carried out in every number of iterations equal to half of the number of the weights. Moreover, although in this embodiment, the hidden layer 22 consists of the multi-input single-output circuits each of which processes two input signals to provide an output signal, as in the general arrangement of the conventional learning machine shown in Fig. 1, the hidden layer 22 may consist of any number of the multi-input single-output circuits and it may consist of the multi-input single-output circuits connected in a hierarchical structure. Fig. 9 shows an arrangement of the learning machine with multi-input single-output circuits connected in a hierarchical structure. In Fig. 9, 65 is a weight changing unit; 66 is a learning rate initialization unit; 67 is a line searching unit; 68 is a parabola approximation unit; and 69 is a learning circuit. As seen from comparison between Figs. 2 and 9, this embodiment is different from the conventional learning machine in that the learning rate initialization unit 66, the line searching unit 67 and the parabola approximation unit 68 are provided. Specifically, in the conventional learning machine, the learning parameter is fixed whereas in this embodiment, the weight changing amounts for plural learning rates are acquired by the line searching unit 67, the error for each learning rate is acquired by the hidden layer 22, the output layer 21 and the error calculation unit 14, the error curve is parabola-approximated from the errors for the learning rates with smaller errors by the parabola approximation unit 68 so as to provide the errors at the top of the parabola, and using the learning rates of these errors the weights are changed by the weight changing unit 65. Fig. 10 shows an arrangement of the learning circuit 69 according to this embodiment. In Fig. 10, 70 and 71 are multipliers; 72 is a unit of calculating the learning rate at the top of a parabola; 73 and 74 are adders; and 75 is a weight storage unit. The supervising signal generating signal generating unit 13 generates a supervising signal for input signals, and the error calculation unit 14 produces a difference signal and error between the actual output signal and the supervising signal. The steepest descent direction calculation unit 28 acquires the steepest descent direction as the weight changing direction on the basis of the above error, the output signal from the output layer, the output signals from the hidden layer, the input signals, and the weight of the output layer. As expressed in Equation (2), the error E, which is the function of a weight vector, can be represented by a curve in the weight space where the weights in the variable weight multipliers 3, 4, 5, 6, 7 and 8 are represented in a vector form.This curve is referred to as an error curve. Fig. 11 schematically shows contour lines in the error curve for explaining the operation in this embodiment. In Fig. 11, w[i 1 ,j 1 ] and w[i 2 ,j 2 ] are weights to be multiplied by any two multipliers of the variable multipliers 3, 4, 5, 6, 7 and 8; w 0 is vector representation of the value of weights initialized by a random number; g 0 is the deepest descent direction in the first learning; P 1 is an error minimum point in the first iteration of the learning; g 1 steepest descent direction at point P 1 ; and P 2 is an error minimum point in the second iteration of the learning. In the learning by the learning machine according to this embodiment, the weights in all the multipliers are first initialized by random numbers; this means that the starting point ( w 0 ) on the error curve in Fig. 11 is set for the random numbers. The object of the learning is, by changing the weights to the direction where the error decreases from the starting point on the error curve in Fig. 11, to repeat the search of the error minimum point to reachthe global error minimum point. In the first learning, the deepest descent direction g 0 expressed by Equation (4) is set as the weight changing direction, and the point where the error in the direction of g 0 is minimum is acquired. This is referred to as line searching in the direction of g 0 . The learning rate initialization unit 66 produces a positive value which is suitable as an initial value of the learning rate in the line searching. Fig. 12 shows the cross-section between the starting point and point P 1 on the error curve for explaining the operation in this embodiment. In Fig. 13, ε 1 is an initial value of the learning rate which can be expressed by ε k = ≧ k-1 * 2 (k > 1) E k (k ≧ 0) is an error for the learning rate ε k which can be expressed by E k = E( w 0 + ε k * g 0 ) (k ≧ 0,≧ 0 = 0) ε v is a learning rate at the top of the parabola-approximated error curve; and E v is an error for the learning rate ε v . Fig. 13 is a PAD (Problem Analysis Diagram) for explaining the operation of line searching in the learning machine with multi-input single-output circuits connected in a hierarchical structure according to this embodiment. In the line searching, first, an error for the initial learning rate ε 1 is acquired. Specifically, the line searching unit 67 multiplies the initial value ε 1 by the deepest descent direction g 0 to provide a weight changing amount for the initial value ε 1 ; this weight changing amount is supplied to the weight changing unit 65 (Fig. 10). In the weight changing unit 65, the adder 73 acquires a sum of the weight changing amount in the output layer and the weight of the output layer, and the adder 74 acquires a sum of the weight changing amount in the hidden layer and the weight of the hidden layer. Thus, the weight changing unit 65 produces the weights for the initial value ε 1 of the learning rate from the weight output terminal 26 for the output layer and the weight output terminal 27 for the hidden layer. Using these weights, the output signals from the hidden layer 22 and the output layer 21 are acquired, and the error is acquired by the error calculation unit 14 by comparing the supervising signal with the output signal from the output layer 21. In this way, the initial error E 1 for the initial learning rate ε 1 is acquired. As seen from the PAD of Fig. 13, the line searching unit 67 compares the initial error E 1 with the error E 0 at the starting point on the error curve. If E 1 is smaller than E 0 , it can be expected that the larger learning rate is smaller; the operation of doubling the learning rate is repeated until the error starts to increase. In the first learning shown in Fig. 12, E 1 < E 0 so that the operation of doubling the learning rate ε is repeated to provide the corresponding error. Then, E 0 > E 1 > E 2 < E 3 so that the line searching unit 67 acquires the weight changing amount for up to the learning rate ε 3 . On the other hand, if E 1 is larger than E 0 , it can be expected that the error for the smaller learning rate is smaller; the operation of decreasing the learning rate by half is repeated until the error becomes smaller than the error at the starting point. Next, the line searching unit 67, in order for the parabola approximation unit 68 to approximate the neighborhoood of the error minimum point, calculates the errors at the points on the weight space in Fig. 12 where the weight varies at regular intervals. Specifically, assuming that ε 2.5 = (ε 2 + ε 3 )/2 and so ε 2 - ε 1 = ε 2.5 - ε 2 = ε 3 - ε 2.5 , the error ε 2.5 can be expressed by E 2.5 = E( w 0 + ε 2.5 * g 0 ) In Fig. 12, E 2.5 < E 2 < E 3 < E 1 , so that the errors E 2 , E 2.5 , E 3 give the three minimum errors and the learning rates ε 2 , ε 2.5 and ε 3 are sent to the unit 72 of calculating the learning rate at the top of the parabola in the parabola approximation unit 65. The unit 72 approximates the error curve in the neighborhood of the error minimum point by the parabola passing the three minimum error points to provide the error near the top. Namely, the calculation unit 72 calculates the learning rate at the top of the parabola-approximated error curve using ε v = ε 2.5 - (ε 2.5 - ε 2 ) * (E 3 -E 2 ) 2 * (E 2 -2 * E 2.5 +E 3 ) The multipliers 70 and 71 multiplies the steepest descent g 0 by ε v to provide a weight changing amount; the weight changing unit 65 sets the weight for the learning rate ε v ; the hidden layer 22 and the output layer 21 acquire the output signals (Fig. 9); and the error calculation unit 14 acquires the error E v . The parabola approximation unit 68 compares the errors thus obtained E v , E 2 , E 2.5 and E 3 , and acquires the weight changing amount ε 2.5 * g 0 for the learning rate ε 2.5 , which provides the smallest error E 2.5 . The adders 73 and 74 acquire a sum of the weight changing amount and the weight w 0 , and store it as a new weight, respectively. Thus, the weight vector is changed as expressed by w 1 = w 0 + ε 2.5 * g 0 The explanation hitherto made relates to the first iteration of the learning. In the second iteration of the learning, the steepest descent direction calculation unit 28 acquires, as a weight changing direction, the steepest descent direction g 1 at point P 1 expressed by w 1 in the weight space (Fig. 11). The learning rate initialization unit 66 sets the initial learning rate ε 1 for the first iteration of the learning and the larger value between ε 1 are the learning rate used in the previous iteration for the second iteration of the learning et seq. That is, in the second iteration of the learning et seq., if an optimum value of the previous learning rate is larger than ε 1 , the optimum value of the previous learning rate is adopted as an initial learning rate if the former is smaller than the latter, ε 1 is adopted as an initial learning rate. Thus, the optimum value of the previous learning rate can be used as an initial learning rate in the present learning to effectively set the learning rate which is optimum for the present learning. Also if the optimum value of the previous learning rate is smaller than ε 1 , ε 1 is used as an initial learning rate for searching the error minimum point in the present learning to permit the error minimum point to reach a global error minimum point without being fallen into a local error minimum point. The line searching unit 67 varies the learning rate by twice or half in the direction of g 1 to provide a weight changing amount decreasing the error. The parabola approximation unit 68 parabola-approximates the error curve to acquire the weight giving a minimum error in the direction of g 1 , thus providing an error minimum point P 2 in the second iteration of the learning. In this way, in the learning machine according to this embodiment, by repeating the searching in the steepest descent direction, the optimum learning rate is dynamically set to decrease the error and to approach the global error minimum point. In accordance with this embodiment, the straight line searching unit 65 makes the learning rate variable when the weight is changed by the weight changing unit 65, and sets the learning rate dynamically giving a minimum error in the weight changing direction. Thus, the time required for the learning is shortened. Incidentally, although in this embodiment, the learning initialization unit 66 sets the initial learning rate ε 1 for the first iteration of the learning and the larger value between ε 1 and the learning rate used in the previous iteration for the second iteration of the learning et seq., it may fix the initial value to ε 1 . Moreover, although in this embodiment, the hidden layer 22 consists of the multi-input single-output circuits each of which processes two input signals to provide an output signal, as in the general arrangement of the conventional learning machine shown in Fig. 1, the hidden layer 22 may consist of any number of the multi-input single-output circuits and it may consist of the multi-input single-output circuits connected in a hierarchical structure. Fig. 14 shows an arrangement of the learning machine with multi-input single-output circuits connected in a hierarchical structure according to a second embodiment of the present invention. As seen from comparison with Fig. 9, learning circuit 76 in this embodiment is different from the second embodiment of Fig. 9 in that the steepest descent direction calculation unit 28 is replaced by the conjugate gradient direction decision unit shown in Fig. 6. In this embodiment, the error calculation unit 14 calculates the error from the difference between supervising signals and actual output signals. The conjugate gradient direction decision unit 15 sets the weight changing direction to the steepest descent direction expressed by Equation (4) for the first iteration of the learning, and for the second iteration of the learning et seq., sets to the steepest descent direction for the learning to be carried out in every number of iterations equal to the number of weights, and sets to the conjugate gradient direction for the learning to be carried out in every other number of iterations. The learning initialization unit 66 sets the initial learning rate ε 1 for the first iteration of the learning, and the larger value between ε 1 and the learning rate used in the previous iteration for the second iteration of the learning et. seq. The line searching unit 67, if the error for an initial learning rate is smaller than the error at the starting point, repeats an operation of doubling the learning rate ε until the error starts to increase, or the line searching unit 67, if the error for an initial learning rate has exceeded the error at the starting point, repeats an operation of decreasing the value of the learning rate by half until the error becomes smaller than the error at the starting point. Fig. 15 schematically shows countour lines in the error curve for explaining the operation in this embodiment. In Fig. 15, w[i 1 ,j 1 ] and w[i 2 ,j 2 ] are weights to be multiplied by any two multipliers of the variable multipliers 3, 4, 5, 6, 7 and 8; w 0 is vector representation of the weights initialized by random numbers; g 0 is the steepest descent direction in first iteration of the learning; P 1 is an error minimum point in the first iteration of the learning; g 1 is the steepest descent direction at point P 1 ; β 1 is a constant obtained by Equation (12) in acquiring the conjugate gradient direction at P 1 ; d 1 is the conjugate gradient direction at P 1 expressed by Equation (11); and P 2 is an error minimum point in second iteration of the learning. Fig. 15 is different from Fig. 11 in that the conjugate gradient direction is adopted as the weight changing direction in the second iteration of the learning. In this embodiment, the error minimum point P 1 in the first iteration of the learning is acquired in the same way as in the second embodiment. Thereafter, the weight changing direction in the second iteration of the learning is set to the conjugate gradient direction expressed by Equation (11) using the steepest descent direction g 1 at P 1 and to the weight changing direction g 0 ( = d 0 ) in the firsst iteration of the learning. The error minimum point P 2 for the direction of d 1 can be acquired by the line searching in the direction of d 1 . Because the conjugate gradient direction is adopted as the weight changing direction as in Fig. 15, the error can be minimized in less iterations than in the case of Fig. 11 where the steepest descent direction is adopted as the weight changing direction. The reason therefor is that the conjugate gradient method, in which the weight changing directions in a weight space at respective iterations of learning are set to be different from one another, can change the weight generally more effectively than the steepest descent method in which the weight is changed on the basis of the local gradient on a weight curve. In this way, in accordance with this embodiment, the weight changing direction is set to the conjugate gradient direction by the conjugate gradient direction decision unit 15, the learning rate is acquired by the line searching unit 67 and the parabola approximation unit 68 so that the error can be minimized in the weight changing direction, and optimun learning rate is used to change the weight by the weight changing unit 65. Thus, the time required for learning can be shortened. Additionally, although in this embodiment, the conjugate gradient direction decision unit 15 sets the weight changing direction to the steepest descent direction expressed by Equation (4) for the first iteration of the learning, and for the second iteration of the learning et seq., sets to steepest descent direction for the learning to be carried out in every number of iterations equal to the number of weights, and the conjugate gradient direction for the learning to be carried out in every other number of iterations. It may set the weight changing direction for the second iteration of the learning et seq., to the steepest descent direction for the learning to be carried out in every half number of iterations equal to the number of weights, and sets to the conjugate gradient direction for the learning to be carried out in every other number of iterations. Moreover, if the error does hot become smaller than the error at the starting point although the line searching in the conjugate gradient direction has been done to make the learning rate smaller than a predetermined value ε min , the weight changing direction may be changed from the conjugate gradient direction to the steepest descent direction. In this way, by changing the weight changing direction to the steepest descent direction when the conjugate gradient direction is not suitable as the weight changing direction, the global error minimum point can be reached in a shorter time. Moreover, although in this embodiment, the hidden layer 22 consists of the multi-input single-output circuits each of which processes two input signals to provide an output signal, as in the general arrangement of the conventional learning machine as shown in Fig. 1, the hidden layer 22 may consist of any number of the multi-input single-output circuits and it may consist of the multi-input single-output circuits connected in a hierarchical structure. Fig. 16 shows an arrangement of the learning machine with multi-single-output circuits connected in a hierarchical structure according to a third embodiment of the present invention. In Fig. 16, 77 is a hidden layer product-sum storage unit; 78 is a line searching unit; and 79 is a learning circuit. In this embodiment, the error calculation unit 14 calculates the error from the difference between supervising signals and actual output signals. The conjugate gradient direction decision unit 15 sets the weight changing direction to the steepest descent direction expressed by Equation (4) for the first iteration of the learning, and for the second iteration of the learning et seq., sets to the steepest descent direction for the learning to be carried out in every number of iterations equal to the number of weights, and sets to the conjugate gradient direction for the learning to be carried out in every other number of iterations. The learning initialization unit 66 sets the initial learning rate ε 1 for the first iteration of the learning, and the larger value between ε 1 and the learning rate used in the previous weight changing for the second iteration of the learning et seq. The line searching unit 78 in this embodiment is a combination of the straight-line searching unit 67 and the parabola-approximation unit 68 in Fig. 14. The line searching unit 78, therefore, if the error for an initial learning rate is smaller than the error at the starting point, repeats an operation of doubling the learning rate ε to provide a weight changing amount until the error starts to increase, or the line searching unit 78, if the error for an initial learning rate has exceeded the error at the starting point, repeats an operation of decreasing the learning rate by half to provide a weight changing amount until the error becomes smaller than the error at the starting point. Thereafter, the line searching unit 78 approximates the error curve in the neighborhood of the error minimum point by the parabola passing the three minimum error points to provide the error near the top. In this way, with the weight changing direction fixed, the line searching unit 78 varies the learning rate and requires a weight changing amount giving a minimum error; this embodiment is different from the third embodiment in that the output signal from the hidden layer is acquired through the hidden layer product-sum storage unit. Fig. 17 shows the details of the hidden layer product-sum storage unit 77 in a block form. In Fig. 17, 80 is the input terminal of input signals; 81 is the input terminal of changing directions; 82 is the input terminal of weights; 83 is the input terminal of a learning parameter; 84 is the output terminal of a hidden layer output signal; 85, 86 and 87 are multipliers; 88 is a unit of storing the product-sum of the input signals and the changing directions; 90 is an adder; and 91 is a non-linear conversion unit. The hidden layer output signal y p [j] for the input signal y p [i] can be expressed by where w[i,j] is the weight multiplied by the input signal y p [i] when it is supplied to a j-th multi-input single-output circuit, and fnc( ) is a characteristic function of the adders included in the hidden layer; this characteristic function is a non-linear function having a saturation characteristic. Assuming that the component of the weight changing direction d acquired by the conjugate gradient direction decision unit 15, which corresponds to the changing amount of w[i,j], is d[i, j], the hidden layer output signal y p [j] for a learning rate ε is expressed by Therefore, it is necessary to carry out the multiplication twice the number of the input signals whenever y p [j] is to be acquired. In this embodiment, by previously storing, in the storage unit 89 for the product-sum of the input signals and the weights. and in the storage unit 89 for the product-sum of the input signals and the weight changing directions. the hidden layer output signal y p [j] for the learning rate ε can be acquired by Namely, the multiplier 87 multiplies the learning rate ε by the output B p [j] from the storage unit 88 for the product-sum of input signals and weight changing directions, and the adder 90 acquires the sum (A p [j] + ε * B p [j]) of ε * B p [j] thus obtained and the output A p [j] from the storage unit 89 for the product-sum of input signals and weights. The non-linear conversion unit 91 subjects the output from the adder 90 to the non-linear conversion equivalent to the characteristic function of the adders in the hidden layer to provide y p [j] expressed by Equation (22). In this way, in the line searching along the weight changing direction d , the multiplication is required the same number of times as in the third embodiment to provide the hidden layer output signal y p [j] for the initial learning rate, and the multiplication is required only once to provide the hidden layer output signal y p [j] for the other learning rate. This greatly reduces the number of operations in the line searching thereby shorten the time required for learning. Additionally, although in this embodiment the weight changing direction is set to the conjugate gradient direction acquired by the conjugate gradient direction decision unit 15, it may be set to the steepest descent direction. Moreover, although in this embodiment, the hidden layer 22 consists of the multi-input single-output circuits each of which processes two input signals to provide an output signal, as in the general arrangement of the conventional learning machine as shown in Fig. 1, the hidden layer 22 may consist of any number of the multi-input single-output circuits and it may consist of the multi-input single-output circuits connected in a hierarchical structure. Fig. 18 shows an arrangement of the learning machine with multi-input single-output circuits connected in a hierarchical structure according to the fourth embodiment of the present invention. In Fig. 18, 92 is a non-effective learning state detection unit, and 93 is a learning circuit. In the learning machine according to this embodiment, the conjugate gradient direction decision unit 15 decides a weight changing direction; the line searching unit 78 sets plural learning rates in the weight changing direction to provide a weight changing amount giving a minimum error; and the weight changing unit 65 changes the weight. The non-effective learning detection unit 92 compares the error before the weight changing with that after the weight changing; when the weight changing direction is the steepest descent direction and also the decreasing rate of the error is smaller than a certain value, the non-effective learning detection unit 92 detects that the learning has been fallen in a state where further advancing of the learning cannot effectively reduce the error, and initializes the weights by random numbers to restart the learning. Thus, in accordance with this embodiment, when that the learning has been fallen into the non-effective state is detected by the non-effective state detection unit 92, the weight is readjusted to restart the learning; this prevents the learning from being fallen into the non-effec tive state thereby to shorten the time required for the learning. Additionally, although in this embodiment, the non-effective state detection unit 92 detects the non-effective learning state by detecting that the weight changing direction is the steepest descent direction and also the error decreasing rate is smaller than a certain value, the non-effective state may be detected by detecting that the absolute value of the weight is larger than a certain value. Moreover, although in this embodiment, the weights are adjusted by initializing all the weights by random numbers, they may be adjusted by equally compressing all the weights or only by compressing only the maximum weight. Further, although in this embodiment, the hidden layer 22 consists of the multi-input single-output circuits each of which processes two input signals to provide an output signal, as in the general arrangement of the conventional learning machine as shown in Fig. 1, the hidden layer 22 may consist of any number of the multi-input single-output circuits and it may consist of the multi-input single-output circuits connected in a hierarchical structure.

Claims: A learning machine with multi-input single-output circuits connected in a hierarchical structure comprising: a hidden layer (22) consisting of plural multi-input single-output circuits which subject a weighted sum of input signals to non-linear processing by a characteristic function having a saturation characteristic to provide output signals; an output layer (21) consisting of plural multi-input single-output circuits which subject a weighted sum of the output signals from said hidden layer to non-linear processing by a characteristic function having a saturation characteristic to provide output signals; a supervising signal generating unit (13) for generating desired supervising signals for said output layer; an error calculating circuit (14) for providing an error signal representative of the error between supervising signals from said supervising signal generating unit and actual output signals from said output layer; a steepest descent direction calculation unit (28) for acquiring the steepest descent direction of the error signal from said error calculating circuit; and a weight changing unit (16) for changing weights said machine being characterised by a conjugate gradient direction calculation unit (20) for acquiring the conjugate gradient direction based on the steepest descent direction from said steepest descent direction calculation unit and the previous weight changing direction from the following weight direction deciding unit; and a weight changing direction deciding unit (30) for setting said weight changing direction to either a conjugate gradient direction from said conjugate gradient direction calculation unit or a steepest descent direction from said steepest descent direction calculation unit; and wherein said weight changing unit (16) is arranged to change weights on the basis of the weight changing direction acquired by said weight changing direction deciding unit whereby the amount of changing the weight vector is given by: DELTA w = -ε * (dE)/(dw) + α * DELTA w' whereby ε = learning parameter, α = accelerating parameter, -(dE)/(dw) = steepest descent direction = g, DELTA w' = weight changing amount in the previous learning and whereby the conjugate gradient direction is given by: d = g + β * d' with β = (|g| 2 )/(|g'| 2 ) where β is a constant, g' is the steepest descent direction in the previous learning, and d' is the conjugate gradient direction in the previous learning. A learning machine according to claim 1, including a line searching unit (67) for producing weight changing amounts for plural learning rates with respect to the weight changing direction, said weight changing unit (65) for selecting weight changing amounts from the weight changing amounts acquired by said line searching unit. A learning machine according to claim 1, including a line searching unit (78) for producing weight changing amounts for plural learning rates with respect to the weight changing direction; and a hidden layer product-sum storage unit (77) for storing a product sum of input signals and weights of the hidden layer and a product sum of the input signals and the direction of changing the weight of the hidden layer; the weight changing unit (65) selecting weight changing amounts from the weight changing amounts acquired by said line searching unit. A learning machine according to claim 1, including a line searching unit (78) for producing weight changing amounts for plural learning rates with respect to the weight changing direction; the weight changing unit (65) selecting weight changing amounts from the weight changing amounts acquired by said line searching unit; and a non-effective learning state detecting unit (92) for detecting that the learning has been fallen into a non-effective state where further learning does not effectively reduce the error. A learning machine according to claim 1, including a line searching unit (78) for producing weight changing amounts for plural learning rates with respect to the weight changing direction; said weight changing unit (65) selecting weight changing amounts from the weight changing amounts acquired by said line searching unit; a hidden layer product-sum storage unit (77) for storing a product sum of input signals and weight of the hidden layer and a product sum of the input signals and the direction of changing the weight of the hidden layer; and a non-effective learning state detecting unit (92) for detecting that the learning has been fallen into a non-effective state where further learning does not effectively reduce the error. A learning machine according to claim 1, wherein said weight changing direction deciding unit (15) sets said weight changing direction to the steepest descent direction for the first iteration of the learning, and for the second iteration of the learning et seq., sets to the steepest descent direction for the learning to be carried out for every number of iterations equal to the number of weights, and sets to the conjugate gradient direction for the learning to be carried out in every other number of iterations. A learning machine according to claim 1, wherein said weight changing direction deciding unit (15) sets said weight changing direction to the steepest descent direction for the first iteration of the learning, and for the second iteration of the learning et seq., sets to the steepest descent direction for the learning to be carried out in every half number of iterations equal to the number of weights, and sets to the conjugate gradient direction for the learning to be carried out every other number of iterations. A learning machine according to claim 1, wherein said weight changing direction deciding unit (15) sets said weight changing direction to the steepest descent direction for the first iteration of the learning, and for the second iteration of the learning et seq., sets to the steepest descent direction if the error does not become smaller than the error at the starting point even though the line searching in a conjugate gradient direction has made the learning rate smaller than a predetermined value, and sets to the conjugate gradient direction for the learning to be carried out in every other number of iterations. A learning machine according to claim 1, wherein said weight changing direction deciding unit (15) sets said weight changing direction to the steepest descent direction for the first iteration of the learning, and for the second iteration of the learning et seq., sets to the steepest descent direction if the error does not become smaller than the error at the starting point, even though the line searching in a conjugate gradient direction has made the weight changing amount smaller than a predetermined value, and sets to the conjugate gradient direction for the learning to be carried out in every other number of iterations. A learning machine according to claim 2, wherein said weight changing unit (65) changes the weights by a weight changing amount which gives a minimum error. A learning machine according to claim 2, wherein in producing the weight changing amounts for plural learning rates with respect to the weight changing direction, said line searching unit sets, for the second iteration of the learning et seq., an initial value of the learning rate for the larger value between a fixed value and an optimum value in the previous iteration of the learning. A learning machine according to claim 4, wherein said non-effective state detection unit detects the non-effective learning state by detecting that the weight changing direction is the steepest descent direction, and the decreasing error rate is smaller than a predetermined value. A learning machine according to claim 4, wherein said non-effective state detection unit detects the non-effective learning state by detecting that the weight changing direction is the steepest descent direction, and the decreasing error rate is smaller than a predetermined value, and initialises each weight by a random number to restart the learning. A learning machine according to claim 4, wherein said non-effective state detection unit detects the non-effective state detection unit detects the non-effective learning state by detecting that the weight changing direction is the steepest descent direction, and the decreasing error rate is smaller than a predetermined value, and compresses equally all the weights to readjust them to restart the learning. A learning machine according to claim 4, wherein said non-effective state detection unit detects the non-effective state detection unit detects the non-effective learning state by detecting that the absolute value of each weight is larger than a predetermined value. A learning machine according to claim 4, wherein said non-effective state detection unit detects the non-effective learning state by detecting that the absolute value of each weight is larger than a predetermined value and initialises each weight by a random number to restart the learning. A learning machine according to claim 4, wherein said non-effective state detection unit detects the non-effective learning state by detecting that the absolute value of each weight is larger than a predetermined value and compresses equally all the weight to restart the learning. A learning machine according to claim 4, wherein said non-effective state detection unit detects the non-effective learning state by detecting that the absolute value of each weight is larger than a predetermined value and compresses only the weight having the largest absolute value to restart the learning.

Inventors: KOHDA TOSHIYUKI, SAKAUE SHIGEO, SHIMEKI YASUHARU, TAKAGI HIDEYUKI, TOGAWA HAYATO, KOHDA, TOSHIYUKI, SAKAUE, SHIGEO, SHIMEKI, YASUHARU, TAKAGI, HIDEYUKI, TOGAWA, HAYATO
Applicants: MATSUSHITA ELECTRIC IND CO LTD, MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD.
Application year: 1990
Main classification: G06F15
IPC codes: G06N3