Pattern recognition method and apparatus using a neural network

Abstract: A method and apparatus for using a neural network to categorize patterns from pattern feature data derived from the patterns. The average of all the learning data of the neural network is subtracted from the pattern feature data, and the result is input to the input layer of the neural network. The neural network outputs a value for each category and the pattern is categorized based on these values. The neural network includes an intermediate layer whose bias is set to zero and which includes a sigmoid transfer function which is symmetric with respect to the origin.

Description: The present invention relates to a pattern recognition method for categorizing input data, such as speech input data or image input data. The back propagation type neural network (hereinafter referred to simply as a neural network), as proposed by Rumelhart, et al., has been considered in connection with pattern recognition apparatus which categorize input data into one of plural categories. The construction of a neural network for determining the category will now be explained with reference to Fig. 3. In Fig. 3, reference numeral 301 denotes elements U I / 1, U I / 2... etc. of an input layer. The elements of this layer send a received input value to all the elements of the next layer 302. Reference numeral 302 denotes elements U S / 1, U S / 2... etc. of an intermediate layer. Theses elements send an output of y = with respect to an input x i (i = 1, 2,...) from the elements of the preceding layer 301 to all the elements of the output layer 303, where W i is called a weight coefficient, and  is a bias, both of which are element inherent values. f is called a transfer function, and usually is a sigmoid function f (s) = 1/ (1 + exp(-s)). Reference numeral 303 denotes elements U O / 1, U O / 2... etc. of an output layer. These elements output with respect to an input 302 y j (j = 1, 2,...) from the element of the intermediate layer in the same manner as above. The number of the elements of the output layer 303 is the same as the number of categories to be recognized. If weight coefficients and biases of all elements are ideally determined, only the output from the element which corresponds to the category to which the input belongs becomes 1, and outputs from the other elements become 0. While Fig. 3 shows only a single intermediate layer, plural intermediate layers may be used. A learning algorithm for determining the weight coefficient of each element and the value of the bias is described in detail in "Parallel Distributed Processing, Vol.1" (Rumelhart et al., MIT Press, 1986). Next, an explanation will be given of the meaning of signal processing in such a neural network. For simplification, a neural network having a single intermediate layer will be considered. If the outputs from the input layer and those from the output layer are collectively denoted by vectors x and y, respectively, the following relation holds for them: y = f (W·x - ) In the above equation, f represents a vector-valued function in which each element of the vector is put into a sigmoid function. W·x -  obviously represents an affine transformation. It can be construed that after an affine transformation is performed from the input layer to the intermediate layer, a transformation such that the value is limited to an interval [0, 1] is performed by using a sigmoid function. Fig. 2 is a view which illustrates an example of the distribution of an input vector. For simplification, let the input vector x be a two-dimensional vector, and let object categories be three types C 1 , C 2 and C 3 . It is considered that when learning in accordance with a back propagation algorithm is completed,  at that time converges on a vector close to an average of all learning data as shown by reference numeral 201 in Fig. 2. The outputs from the intermediate layer and those from the output layer are represented by the following in the same manner as in equation (1): z = f (W·y - ) This should be construed in another way. That is, in equation (2), W·y -  can be regarded as a set of linear discriminant functions. Those obtained by putting each of the outputs into the sigmoid function become a final output z. An amount of correction ΔWij for the weight coefficient Wij is calculated by the following equation in the back propagation algorithm: ΔWij = - η. ∂E ∂Wij where η is a positive constant, and E is an error of the entire network. That is, E = 1 2 Σ (t j - y j ) 2 where t j is a supervisor signal, and y j is an output from the output layer. ∂E / ∂Wij is calculated by using the output from each layer. A derivation thereof is known and is therefore omitted. Wij is sequentially corrected by using the amount of this correction ΔWij: Wij (n+1) = Wij (n) + ΔWij Therefore, it is necessary that weight coefficients be corrected (this step is called learning) starting with a good initial value Wij(0). A correction similar to the above is performed for bias  by regarding it as a weight coefficient for input data, the value of which is 1 at all times. The back propagation algorithm depends upon the manner in which the initial values are given because the weight coefficient W and the bias  are corrected sequentially. That is, if the initial values are not appropriately given, a solution may fall within a local minimum value, or diverge/oscillate. At the same time, the greater the number of parameters to be determined, such as W or , the greater the degree of freedom, making it difficult to arrive at a correct solution. As explained above, since both W and  are important, it is difficult to omit them. A paper "Adaptive Systems in Pattern Recognition" by H Kazmierczak and K Steinbuch in IEEE Transactions on Electronic Computers, Volume 12, No. 6, pages 822 to 835 (December 1963) describes various neural network type categorizers, including those with and without biasing. The present invention provides a pattern recognition method for categorizing input data into one of plural categories, using a neural network, wherein performance is improved but a bias is not required for an intermediate layer of the neural network. In a particular aspect, the invention provides an apparatus including a neural network for categorizing received feature data into one of plural categories, the neural network comprising an input layer, an output layer and at least one intermediate layer, wherein the intermediate layer includes means for, without adding bias, multiplying data from a preceding layer by weighting coefficients derived using a learning set of feature vectors, each feature vector representing one of said plural categories, characterised in that the apparatus further comprises subtracting means for subtracting from the received feature data an average vector of the learning set of feature vectors to form input data which is applied to the input layer of the neural network. The invention yet further provides a method for categorizing feature data into one of plural categories, using a neural network comprising an input layer, an output layer and at least one intermediate layer, wherein the intermediate layer of the neural network operates by, without adding bias, multiplying data from a preceding layer by weighting coefficients derived using a learning set of feature vectors each feature vector representing one of said plural categories, the method being characterised by receiving feature data to be categorised, and subtracting from the received feature data an average vector of the learning set of feature vectors to form input data which is applied to the input layer of the neural network. It has been found that, by subtracting an average vector of the learning set of feature vectors from the input data before it is supplied to the neural network, improved categorization performance can be achieved without the problems of defining bias values for the intermediate layer. In embodiments of the invention, the received feature data may be extracted from input pattern data. Where such pattern data is derived from visible images, the invention may be of use for example in optical character recognition. Objectives and advantages in addition to those discussed above shall be apparent to those skilled in the art from the description of the preferred embodiment of the invention which follows. In the description, reference is made to the accompanying drawings, which form a part hereof, and which illustrate an example of the invention. Such example, however, is not exhaustive of the various embodiments of the invention, and therefore reference is made to the appended claims for determining the scope of the invention. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a block diagram which illustrates the construction of a character recognition apparatus of an embodiment of the present invention; Fig. 2 is a schematic view which illustrates an example of the distribution of input data; and Fig. 3 is a view which illustrates the construction of a neural network. DESCRIPTION OF THE PREFERRED EMBODIMENT A preferred embodiment of the present invention will be explained below with reference to the accompanying drawings. Fig. 1 is a block diagram which illustrates the construction of a character recognition apparatus which embodies the present invention. In Fig. 1, reference numeral 101 denotes a photoelectric converting section for inputting character images and converting them into electrical signals; reference numeral 102 denotes a preprocessing section for removing noise and performing binarization and normalization; reference numeral 103 denotes a feature extracting section for extracting characteristic features of a character in accordance with predefined algorithm; reference numeral 104 denotes an average-value storing section for storing an average value vector; reference numeral 105 denotes an average-value subtracting section for subtracting an average value vector from the feature data extracted by the feature extraction section; reference numeral 106 denotes a neural network section for determining to which category input characters belong; and reference numeral 107 denotes an output section for outputting a determined category. It is assumed that the preprocessing section 102 and the feature extracting section 103 are formed of means based on well-known technology and no particular preprocessing section or feature extraction section is preferred. Next, an explanation will be given about a method for determining an average value vector of all learning data of the neural network. If categories to be determined are denoted as C 1 , C 2 ... C M and a feature vector extracted from known learning data which belongs to a category C K (K = 1, 2..., M) is denoted as X k / i (i = 1, 2..., N), an average value vector x is calculated by the following equation: This average vector is calculated beforehand and stored in the average-value storing section 104. The average-value subtracting section 105 provides difference data x' by subtracting the average vector x from each of all input feature vectors x (i.e., x' = x - x ) and sends the difference data to the neural network section 106. The neural network section 106 is hierarchically structured, as shown in Fig. 3. A sigmoid function symmetric with respect to the origin, expressed by the following equation, is used for a threshold value function for each element: f(s) = 1 / {1 + exp(-s)} -1/2 The bias  is not applied to the elements of the intermediate layer. Therefore, the relation between the input feature vector x and the output y from the intermediate layer becomes the following: y = f (W·x'), where W is a matrix representing weight coefficients and f represents a vector-valued function of the sigmoid function. Since x' is a value from which the average value vector of learning data of the neural network has already been subtracted, the bias  need not be included in this transformation unlike the prior art. On the other hand, a transformation similar to that in the prior art is performed from the intermediate layer to the output layer: z = f (W·y - ) The output section 107 outputs, as a candidate, a category corresponding to an element which outputs the greatest value of the components z k (K = 1, 2..., M) of the output z from the neural network section 106. Although in the above-described embodiment, character images are used as input, the present invention can be applied when an input vector is speech input data, image input data, etc. In the above-described embodiment, the intermediate layer is formed of a single layer, however, the intermediate layer may be formed of any number of layers. In the latter case, if an average vector of all learning data is subtracted from an input vector, as shown in the present invention, the bias  need not be included in all the elements of the intermediate layer. As explained above, even if the bias  is not applied to the elements of the intermediate layer, recognition and classification can be performed by inputting a value in which an average value vector of all learning data of the neural network has been subtracted from an input vector. Since the number of parameters is decreased, when the bias  is not input, the possibility that a solution falls within a local minimum value or diverges/oscillates during a learning process, becomes minimal. Many different embodiments of the present invention may be constructed without departing from the scope of the present invention. It should be understood that the present invention is not limited to the specific embodiment described in this specification, and is only limited in the appended claims.

Claims: An apparatus including a neural network (106) for categorising received feature data into one of plural categories, the neural network comprising an input layer (301), an output layer (303) and at least one intermediate layer (302), wherein the intermediate layer includes means for, without adding bias, multiplying data from a preceding layer by weighting coefficients derived using a learning set of feature vectors, each feature vector representing one of said plural categories, characterised in that the apparatus further comprises subtracting means (104, 105) for subtracting from the received feature data an average vector of the learning set of feature vectors to form input data which is applied to the input layer of the neural network. An apparatus according to claim 1 further comprising feature extracting means (103) for receiving input pattern data and extracting the feature data from the input pattern data. An apparatus according to claim 1 or 2 further comprising categorising means (107) for receiving a value output by the output layer of the neural network, and determining a category for the feature data on the basis of the value output by the output layer. An apparatus according to claim 1, 2 or 3 wherein the at least one intermediate layer further comprises means for performing a pre-determined transfer function on the data multiplied by said weighting coefficient. An apparatus according to claim 4 wherein said transfer function is a sigmoid function which is symmetric with respect to the origin. An apparatus according to any preceding claim wherein the output layer of the neural network comprises means for multiplying data supplied by an intermediate layer preceding the output layer by a weighting coefficient, and for adding bias to the result of that multiplication to generate an output value of the neural network. An apparatus according to claim 6 wherein the output layer further comprises means for performing a pre-determined transfer function to generate said output value. An apparatus according to claim 7 wherein said pre-determined transfer function of the output layer is a sigmoid function symmetric about the origin. An apparatus according to any preceding claims, wherein a visually perceptible pattern is to be categorised and said apparatus further comprises converting means (101) for converting the visually perceptible pattern into an electrical signal and preprocessing means (102) for normalising and binarising the electrical signal and means (103) for extracting said feature data from the binarised electrical signal. A method for categorising feature data into one of plural categories, using a neural network comprising an input layer, an output layer and at least one intermediate layer, wherein an intermediate layer of the neural network operates by, without adding bias, multiplying data from a preceding layer by weighting coefficients derived using a learning set of feature vectors, each feature vector representing one of said plural categories, the method being characterised by subtracting from the feature data an average vector of the learning set of feature vectors to form input data which is applied to the input layer of the neural network. A method according to claim 10 further comprising the step of receiving input pattern data and extracting the feature data from the input pattern data. A method according to claim 10 or 11 further comprising the step of determining a category for the feature data on the basis of a value output by the output layer of the neural network. A method according to claim 10, 11 or 12 wherein the intermediate layer of the neural network performs a predetermined transfer function on the vector multiplied by said weighting coefficient vector. A method according to claim 13 wherein said transfer function is a sigmoid function which is symmetric with respect to the origin. A method according to any of claims 10 to 14 wherein the output layer of the neural network multiplies data supplied by an intermediate layer preceding the output layer by a weighting coefficient and adds bias to the result of the multiplication to generate an output value of the neural network. A method according to claim 15 wherein the output layer further performs a pre-determined transfer function to generate said output value. A method according to claim 16 wherein said predetermined transfer function of the output layer is a sigmoid function symmetric about the origin. A method according to any of claims 10 to 17 wherein a visually perceptible pattern is to be categorised and wherein the step of receiving feature data comprises: converting the visually perceptible pattern into an electrical signal, normalising and binarising the electrical signal, and extracting said feature data from the binarised electrical signal. A character recognition apparatus comprising an apparatus according to any of claims 1 to 9, wherein said feature data is data extracted from an input image and said categories represent different characters of text. A method of character recognition (OCR) comprising a method according to any of claims 10 to 18, wherein said feature data has been extracted from an input image and said categories represent different characters of text.

Inventors: NIKI TORU, NIKI, TORU, NIKI, TORU, C/O CANON KABUSHIKI KAISHA
Applicants: CANON KK, CANON KABUSHIKI KAISHA
Application year: 1991
Main classification: G06K9
IPC codes: G06F15, G06K9, G06T7, G06N3, G06N99