Learning method and neural network structure
This is a continuation of application Ser. No. 07/839,020, filed Feb. 18, 1992, now abandoned which is a continuation of application Ser. No. 07/533,651, filed Jun. 5, 1990, now abandoned. 
    
    
     FIELD OF THE INVENTION 
     The invention relates to a learning method which is carried out in a neural network which performs learning phases in order to adapt its synaptic coefficients on the basis of examples by means of the error gradient back propagation algorithm. The invention also relates to a neural network structure and a programmed calculator for carrying out such a method. 
     BACKGROUND OF THE INVENTION 
     Neural networks are used for image processing, speech processing etc. 
     Neural networks are formed by automatic devices which are interconnected by synapses with associated synaptic coefficients. They enable the solution of problems which are difficult to solve by means of conventional sequential computers. 
     In order to carry out a given processing operation, the neural networks must learn in advance how to carry out such operations. This so-called learning phase utilizes examples where, on the basis of input data, the results to be obtained on the output are known in advance. During a first period, the neural network which has not yet been adapted to the desired task will deliver incorrect results. An error E p  is then determined associated with the results obtained and those which should have been obtained and, on the basis of an adaptation criterion, the synaptic coefficients are modified in order to enable the neural network to learn the chosen example. This step is repeated for the number of examples considered to be necessary for satisfactory learning by the neural network. 
     A widespread method for carrying out this adaptation is the gradient back-propagation. The components of the gradient g j ,L of the preceding error E p  (calculated on the last layer L) are then determined for each neuron state x j ,L. These components are subsequently back-propagated in the neural network, starting from its outputs, in order to determine first of all the internal components g j ,l (l≠L), followed by the corrections to be applied to the synaptic coefficients W ij ,l of the relevant neurons. This method is described, for example in the documents: 
     D. E. Rumelhart, D. E. Hinton, and R. J. Williams &#34;Learning Internal Representation by Error Propagation&#34;, in D. E. Rumelhart, and J. L. McClelland (Eds), &#34;Parallel Distributed Processing: Exploration in the Microstructure of Cognition&#34;, Vol. 1, Foundations, MIT Press (1986). 
     &#34;Experiments on neural net recognition of spoken and written text&#34;, D. J. Burr, IEEE Trans. on Acoustic, speech and signal processing, Vol. 36, No. 7, July 1988, page 1162. 
     However, when such a method is carried out in a neural network, the learning periods may become very long for given applications. For example, this difficulty has been encountered in the case of the parity problem. The parity problem occurs, for example, in the case of a neural network whose inputs are linked to binary signals 1/0 and whose output is to deliver a state 1 when the number of &#34;1&#34; inputs is odd, and a state 0 in the opposite case. The learning problem is then due to the fact that the output state must change when a single one of the inputs changes its state, while when an even number of input state changes occurs, the output must remain unchanged. 
     Moreover, for example, when the neural network is used for classification problems, it may be difficult to distinguish of the classes wherebetween the minimum distance is small, because the neural network requires a long period of time for learning to differentiate between different classes. This obstructs the separation of the continuously encoded input data, particularly when some of these examples, relating to different classes, have inputs which differ only very little from one another. 
     The problem to be solved, therefore, consists in the reduction of the learning time of the neural network while minimizing the necessary supplementary hardware. 
     SUMMARY OF THE INVENTION 
     The solution consists of a method of learning which is executed in a neural network consisting of L layers and which comprises the steps of: 
     determining the states x j ,l of the neurons of a layer 1 on the basis of output potentials Y i ,l-1 supplied by the neurons of the preceding layer which are connected thereto by way of synaptic coefficients W ij ,l, or on the basis of input data Y i ,o for the layer l=1, so that: ##EQU1## determining of the potentials Y j ,l of the output neurons by application of a non-linear function F so that: 
     
         Y.sub.j,l =F(x.sub.j,l) 
    
     where: 
     l: index of the layer considered, 1≦l≦L 
     j: index of the neuron in the output layer 1 
     i: index of the neuron in the input layer l-1 
     the method comprising learning phases by iteration by means of P examples which are successively applied to the inputs of the neural network, involving: 
     initialisation of the synaptic coefficient matrix W ij ,l of the neural network, 
     introduction of input data Y j ,o p  of each example p intended for learning, 
     comparison of the results Y j ,L obtained in the output layer L with the output y j   p  envisaged for this example p presented to the input in order to define a partial error E j   p , 
     determination of the sum E p  of all partial errors E j   p  observed for each output neuron and for each example p, 
     determination of the various components of the gradient g j ,L =αE p  /αx j ,L of the error E p  with respect to the states x j ,L for the output layer L, 
     carrying out the method of back propagation of the components g j ,L of the gradient so that the neural network determines the components g j ,l of the gradient for the other layers on the basis of the transposed synaptic coefficient matrix, 
     determination of the subsequent variations Δx j ,l, having a sign which opposes that of the corresponding component g j ,l, in order to adapt the neural network, 
     updating of the synaptic coefficj. ents on the basis of these variations Δx j ,l, characterized in that for determining the subsequent variations Δx j ,l of the neuron states, the method comprises a step for multiplying the components g j ,l of the gradient by parameters θ j ,l in order to calculate variations Δx j ,l which are proportional to -θ j ,l g j ,l, where θ j ,l depends on the state of the neuron j of the layer l where θ j ,l =1 when --g j ,l and x j ,l have a different sign, and θ j ,l =θ l   +   when -g j ,l and x j ,l have the same sign, where 0≦θ l   +  ≦1. 
     During the learning process a given example p is presented. The data associated with the example p and introduced via the inputs of the neural network will produce, on the last layer L of the network, a result y j ,L for a given output neuron j. From the start the result y j   p  to be achieved is known Thus, for an example an error can be calculated as: ##EQU2## 
     This is the expression for calculating a mean square error. Another comparison criterion may also be used. 
     In accordance with the known gradient back-propagation method, the components g j ,l of the error gradient are determined for each contribution of a state x j ,l of a neuron, so that g j ,l =αE p  /αx j ,l, 
     where x j ,l represents the state of the neuron before application of the non-linear function. Therefore, the components g j ,L =αE p  /αx j ,L relating to the output layer L so that g j ,L =(y j ,L -y j   p ). F&#39; j ,L, where F -   j ,L is the derivative of the non-linear output functions. 
     The neural network is then loaded with the transpored synaptic coefficient matrix W ji ,l and the components g j ,L are back-propagated in the network as from its output. The network thus determines the other components g j ,l of the gradient with l≠L. These coponents g g ,l are used for determining the variations Δx j ,l which serve to correct the synaptic coefficients W ij ,l in order to ensure that the network is adapted to the relevant example. 
     Generally speaking, this correction according to the known method is performed so that W ij ,l (new)=W ij ,l (old)+k.Δx j ,l.y i ,l-1. 
     In accordance with the invention, the components g j ,l are not used as such, but each component is multiplied in advance by a respective parameter θ j ,l which depends for a given neuron j on the sign: 
     of the state x j ,l of this neuron, 
     and on the sign of the component of the gradient g j ,l. 
     These parameters are θ j ,l =1 if -g j ,l and x j ,l have a different sign, 
     and θ j ,l =θ 1   +   if -g j ,l and x j ,l have the same sign, where 0≦θ l   +  ≦1. 
     However, in order to accelerate the learning process, during the first learning iterations, for each given example θ l   +   is preferably chosen to be either close to zero or equal to zero. 
     In the course of later learning iterations it is additionally possible to make the value θ l   +   increase towards the value 1 for each given example. 
     Preferably, the sign strategy in accordance with the invention enables, at the start of learning, the corrections performed to take into account the sign of the error observed and as the learning advances the strategy gradually permits less rough corrections to be made with a higher precision. 
     The non-linear functions for determining the output potentials may be chosen to be slightly or strongly non-linear. In order to increase the efficiency of the sign strategy in accordance with the invention, the choice of these non-linear functions can be modified during the learning process. However, the variations Δx j ,l stemming from the gradient back-propagation method may not lead to excessive variations of the synaptic coefficients. Thus according to a complementary version in accordance with the invention, a standardization is performed so that the sum of the squares of the synaptic coefficients remains quasi-constant. 
     The non-linear functions are thus chosen to be slightly non-linear at the start of learning and approach sign-type functions at the end of learning; in order to enable this choice, the synaptic coefficients converging towards a given neuron j keep a standard ##EQU3## quasi-constant. 
     These non-linear functions F are for example of the type y j ,l =tanh(x j ,l /T l ) where T l  is a parameter which relates to the layer 1 and which is referred to as the temperature of the layer 1. 
     The variations introduced during the learning process as regards the degree of non-lineariy of the non-linear functions are obtained by variation of the parameters T l  for each layer. 
     The sign strategy in accordance with the invention, consisting first of all of the privileging of rough corrections (θ +   small and positive) based on the error sign, followed by refinement by way of the parameters θ +   in the vicinity of unity in order to perform corrections having a greater precision, may give rise to a similar effect at the level of the overall structure. To this end, for each example each component E j   p  of the error E p  is itself multiplied by a parameter η j ,L. Thus, corrections (parameter η j ,L) which simultaneously relate to all neuron states together may be superposed on each of the individual corrections performed for each state (parameter θ + ). 
     For the benefit of tke previously presented sign strategy a correction factor η j ,L is introduced which depends on each output neuron j of the last layer L. The error E p  is then determined as: 
     
         E.sup.p =Ση.sub.j,l.E.sub.j.sup.p 
    
     where 
     
         E.sub.j.sup.p =1/2(y.sub.j.sup.p -y.sub.j,L).sup.2. 
    
     This error is a square function. 
     Generally speaking, for each output neuron j of the layer L (for a given example p) this error E j   p  is: 
     
         E.sub.j.sup.p =H (y.sub.j.sup.p -y.sub.j,L) 
    
     where H is a function of the difference between the result Y j ,L obtained and the envisaged result y j   p . 
     The error E p  thus determined is used for determining the components g j ,L and g j ,l (where l≠L) of the gradient as developed above. 
     Thus, for determining these components of the gradient the method comprises a step for determining the error E p  by applying in advance a correction factor η j ,L which depends on the neuron j of the last layer L so that ##EQU4## in order to favor the start of learning, where η j ,L =1 if y j   p  and Y j ,L are of different sign and η j ,L =η +   if y j   p  and y j ,L have the same sign, where 0≦η +  ≦1. 
     In the present case, η j ,L =θ j ,L. 
     Preferably each partial error E j   p  is the square error 1/2 (y j   p  -y j ,L) 2 . 
     According to a subsidiary version, the strategy can be developed at the level of each layer of the neural network. Taking into account the dominant role devolved on the input layers, the learning is accelerated for the input layers and slowed down for the output layers. 
     In the conventional application of the gradient back-propagation method, the state of a neuron x x ,l is modified by a quantity -Δx j ,l which takes into account the corresponding component of the gradient g j ,l. This takes place by multiplying each component of the gradient g j ,l by a proportionality constant which is the same for all layers of the neural network. 
     According to the subsidiary version, the invention proposes the execution of the correction by assigning to each neuron of each layer a proportionality coefficient β j ,l so that each correction -Δx j ,l is proportional to β j ,l.g j ,l. 
     The parameter β j ,l is related to the sign strategy described above by taking it to be proportional to the parameter θ j ,l which serves to determine the corrections Δx j ,l. 
     Thus, β j ,l is proportional to β 1 .θ j ,l, where β l  is a parameter which is identical for any given layer 1. According to this subsidiary version, to each layer 1 there is assigned a parameter β l  which enables control of the learning speed in the input layers with respect to that in the output layers. Therefore, the parameter β l  decreases as l increases from the input layer towards the output layer. 
     The invention thus comprises a step for multiplying the components θ j ,l.g j ,l by constants β l  which depend on each layer, so that it is ensured that -Δx j ,l is proportional to β l .θ j ,l.g j ,l, where β l  decreases strictly in accordance with the number of the layer, proceeding from the input layers to the output layers, in order to ensure that the corrections applied to the neuron states enable acceleration of learning in the input layers and deceleration of learning in the output layers. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The invention will he described in detail hereinafter, by way of example, with reference to the accompanying diagrammatic drawings. Therein: 
     FIG. 1 shows a diagram indicating the processing mechanisms executed by a structure comprising a layer of input neurons and an output neuron. 
     FIG. 2 shows a diagram of a structure comprising several layers: input layer, hidden layers, output layer. 
     FIG. 3 shows a diagram representing a neural network structure in which the method in accordance with the invention is carried out. 
    
    
     DESCRIPTION OF EMBODIMENTS 
     FIG. 1 shows the conventional diagram of an operation executed by an elementary neural network formed by an input layer comprising several neurons 10 1 . . . 1O I (l-1) which supply the input signals y 1 ,l-1, y 2 ,l-1, . . . y I (l-1),l-1, respectively to a single output neuron whose state is x j ,l. This state is determined by calculation means 11 so that: 
     
         x.sub.j,l =Σ.sub.i W.sub.ij,l. y.sub.i,l-1. 
    
     This state x j ,l is operated upon by a non-linear function (block 12) in order to provide the output potential Y j ,l after application of this function F: 
     
         y.sub.j,l =F(x.sub.j,l) 
    
     This output potential Y jl  can then serve as the input state for a subsequent layer. Thus, an arrangement layers is obtained as shown in FIG. 2, comprising an input layer l=1, hidden layers l=2, 3, and an output layer l=L, The neurons of a layer are linked exclusively to those of the subsequent layer by way of synaptic coefficients W ij ,l. Each neuron state is determined according to the foregoing expressions, starting with the layer l=1. 
     In order to carry out the learning process, that is to say adaptation of the synaptic coefficients W ij ,l to a given task, examples are presented to the input for which the desired results y j   p  on the output layer are known in advance. For each example the error E p  is calculated for all output states, after which its partial derivatives are determined with respect to αx j ,l for each intermediate state. The components g j ,l of the gradient are such that g j ,l =αE p  /αx j ,l. 
     Thus, the components g j ,L in the output layer are calculated and subsequently back propagated in the neural network which givs the other components g j ,l of the error gradient. These components enable determination of the variations Δx j ,l which are deduced therefrom for the states x j ,l in order that the neural network is adapted to the task envisaged. This operation precedes the updating of the synaptic coefficients W ij ,l as has already been indicated. 
     These steps of the method are executed in a dedicated neural network structure as shown in FIG. 3 or in a computer programmed for carrying out the method. 
     The memory 30 stores, for instance, the synaptic coefficient matrix W ij ,l and the transposed matrix W ji ,l initially supplied by the input means 29. The synaptic coefficients are applied to calculation means 31 which receives the input potentials y i ,l-1 from the preceding layer. These means 31 determines: 
     
         x.sub.j,l =ΣW.sub.ij,l.y.sub.i,l-1. 
    
     On the basis of the input neuron states y i ,l-1 examples y i ,0 are applied to the input of the network. These examples are supplied by an example memory 32. A selector 33 enables this selection to be made. The example memory 32 also stores the results y j   p  which have to be obtained for each example p and for each output potential j. 
     The states x j ,l of the output neurons are subjected to a non-linear function in the member 34 which supplies, for each example, the output potentials Y j ,L of the last layer L as supplied by the system. For executing the intermediate calculation steps from one layer to another, the output potentials Y j ,l of a layer l are temporarily stored in a state memory 37 in order to be used as input states for the next layer. Each potential Y j ,l is compared with the intended state y j   p  in the comparator 35 which, moreover stores all detected errors E j   p  and sums these errors in order to deliver an error E p  relating to each example. 
     The components of the gradient g j ,L are determined by the host computer 36. To this end, the computer receives the error E p , the output potentials y j ,L and the intended states y j   p . The host computer 36 determines the components g j ,L so that: 
     
         g.sub.j,L =θ.sub.j,L. (y.sub.j,L -y.sub.j.sup.p) . F&#39;.sub.j,l 
    
     where 1≦j≦T(L), 
     F&#39; j ,L are the derivatives of each non-linear function of the output layer. 
     These components g j ,L are applied to the calculation means 31 which enable the execution of the gradient back-propagation method, i.e. the components g j ,L are applied to the output layers and their effect is back-propagated to the input layers. 
     The components of the gradient g j ,l =αE p  /αx j ,l (where l≠L) are thus determined by the calculation means 31 by way of back-propagation of the gra. dient of the error E p . The components g j ,l are applied to the host computer 36 which determines the subsequent variations Δx j ,l for each neuron state. To this end, it multiplies each component g j ,l by its parameter θ j ,l in accordance with the invention. 
     All variations Δx j ,l are applied to the updating member 38 which determines the new synaptic coefficients W ij ,l and which applies these coefficients to the memory 30. 
     This process is repeated in order to execute the entire learning phase. In the course thereof the host computer 36 can apply a correction parameter θ l   + , equal or approximately equal to zero, for the first iterations, after which it can increase this parameter so as to approach the value 1 in the course of the later iterations. Moreover, the host computer 36 performs the multiplication of E p   j  by the parameters η j ,l before calculating the components g j ,l in order to execute the gradient back-propagation in the calculation means 31. 
     When the constants β l  relating to each layer are applied to the corrections θ j ,l.g j ,l in order to determine the variations -Δx j ,l proportional to β l .θ j ,l.g j ,l, the host computer does so prior to the updating of the synaptic coefficients W ij ,l by the updating member 38. 
     Thus, the layered neural network structure in accordance with the invention comprises means for carrying out the learning method described above; to this end it is provided with: 
     means for storing the synaptic coefficients, 
     means for storing examples to be learned and introduced into the neural network, 
     means for comparing, for each example, the neuron potentials obtained at the output with the results envisaged for each example and for supplying an error in conformity with the differences observed, 
     means for calculating output neuron states on the basis of input neuron potentials and for performing the gradient back-propagation of said error and delivering the components g j ,l of said gradient, 
     means for applying non-linear functions at the output, 
     means for calculating new synaptic coefficients, taking into account the components g j ,l of the gradient and multiplier parameters relating to the method and enabling control of the significance assigned to given iterations of the iteration cycle or the significance assigned to given layers or given neurons of the neural network. 
     The diagram of FIG. 3 is given in the form of a neural network structure consisting of functional blocks which are controlled by a host computer. The functions to be realized may be integrated together in the computer itself. In that case the invention also relates to a computer which is programmed so as to perform the steps of the described method. 
     Table 1 represents the flow chart with the principal steps of an example of a program in accordance with the invention. 
     Step 1 initializes η +   and θ +   at small positive values and fixes the temperatures T l . For the layer l=1, the value T 1  is approximately equal to the mean of the absolute values of the inputs relating to the example p and for l≠1 the value T l  is in the order of 1 (loop to l). The synaptic coefficients W ij ,l are initialized by a random choice or to known values (loop to i and j). 
     Step 2 inserts the input values y i ,o for an example p into the neural network. 
     Step 3 calculates the states x j ,l and the output potentials y j ,l. The calculation of the states x j ,l may involve a threshold s j ,l which can also be introduced into the non-linear function F. 
     Step 4 applies the sign strategy to the output error. To this end, the product y j   p .y j ,L is formed and its sign is determined. If the product is negative or zero, η j ,L takes the value 1. In the opposite case, η j ,L takes the value η + . 
     The error E p  in the output layer is determined and the components of the gradient g j ,L are calculated. 
     Step 5 The derivatives F&#39; j ,l of the non-linear functions are calculated. The components of the gradient g j ,l-1 are subsequently calculated by back-propagation of the gradient. The product -g j ,l.x j ,l is checked. When this product is negative or zero, θ j ,l is made equal to 1. When this product is positive, θ j ,l equals θ + , where 0≦θ +  ≦1. Subsequently β j ,l is calculated. 
     Step 6 The components of the gradient g j ,l are used for determining the subsequent variations Δx j ,l. This step offers a choice of an auto-adaptive function example, enabling the components g j ,l to have an effect on the variations Δx j ,l. This function involves the modulus G 2  of the gradient g j ,l, factors ν, ξ which control the amplitude of the correction and the mean value β of the terms β j ,l associated with the various neurons. 
     Step 7 This step enables distribution of the variations Δx j ,l calculated for the example p between the synaptic coefficients W ij ,l as well as between the thresholds s j ,l. The distribution factor is controlled by a parameter δ l  which applies the norm ##EQU5## This step 7 represents an example of the distribution which enables the norm of the synaptic coefficients to be maintained quasi-constant for a given output neuron. The changes must be realized with variations of the weight and the thresholds which are as small as possible. 
     Step 8 When the accumulated error ##EQU6## E p  for all examples is smaller than or equal to a predetermined value ε, learning has been completed. When this error is greater than ε, the procedure continues with the following steps. 
     Step 9 The temperatures T l  are slightly lowered and, therefore, the initial value is multiplied by a parameter ε l  of between 0 and 1. 
     Step 10 The values of η +   and θ +   are re-adjusted. 
     Step 11 Another example p&#39; is selected and the operation recommences with the step 2. 
     
                       TABLE 1                                                     
______________________________________                                    
 ##STR1##                                                                 
 ##STR2##                                                                 
 ##STR3##                                                                 
 ##STR4##                                                                 
 ##STR5##                                                                 
 ##STR6##                                                                 
______________________________________