WO1998022883A1 - Procede d'apprentissage generant des reseaux de neurones de petites tailles pour la classification de donnees - Google Patents

Procede d'apprentissage generant des reseaux de neurones de petites tailles pour la classification de donnees Download PDF

Info

Publication number
WO1998022883A1
WO1998022883A1 PCT/FR1997/002060 FR9702060W WO9822883A1 WO 1998022883 A1 WO1998022883 A1 WO 1998022883A1 FR 9702060 W FR9702060 W FR 9702060W WO 9822883 A1 WO9822883 A1 WO 9822883A1
Authority
WO
WIPO (PCT)
Prior art keywords
neuron
learning
base
output
network
Prior art date
Application number
PCT/FR1997/002060
Other languages
English (en)
Inventor
Mirta Beatriz Gordon
Original Assignee
Commissariat A L'energie Atomique
Centre National De La Recherche Scientifique
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Commissariat A L'energie Atomique, Centre National De La Recherche Scientifique filed Critical Commissariat A L'energie Atomique
Priority to US09/101,464 priority Critical patent/US6421654B1/en
Priority to EP97947072A priority patent/EP0875032B1/fr
Priority to DE69701852T priority patent/DE69701852T2/de
Publication of WO1998022883A1 publication Critical patent/WO1998022883A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns

Definitions

  • the invention relates to a learning process generating neural networks aes :: n ⁇ s to the classification of data and constructed according to the needs of the task to be performed.
  • This invention finds applications in the fields exploiting neural networks and, in particular, for medical diagnosis, pattern recognition or even classification of objects, or of data such as spectra, signals, etc.
  • Neural networks are systems that perform, on digital information, calculations inspired by the behavior of physiological neurons. A neural network must therefore learn to carry out the tasks that we want it to perform later. For this, we use a base of examples, or learning base, which contains a series of known examples used to teach the neural network to perform the tasks which it will have to reproduce, subsequently, with unknown information. .
  • a neural network is made up of a set of formal neurons.
  • Each neuron is a computing unit consisting of at least one input and one output corresponding to a state. At each instant, the state of each neuron is communicated to the other neurons in the set. Neurons are, in fact, connected to each other by connections which each have a synaptic weight.
  • the total level of activation of the neuron is equal to the sum of the states of its input neurons, each weighted by the synaptic weight of the corresponding connection. At all times, this activation level is used by the neuron to update its output.
  • the neural network can be, in particular, a layered network; in this case, the network comprises one or more layers of neurons each connected to the previous layer, the last being the output layer.
  • Each configuration of network inputs produces an internal representation which is used by the following layers to, for example, classify the input state.
  • learning algorithms for performing data classification or pattern recognition from neural networks, as explained, for example, in the document entitled “Introduction to the theory of neural computation” by HERTZ, KROGH and PALMER, (1991), Adison-Wesley.
  • the most commonly used algorithm is the gradient backpropagation algorithm (called “propagation bin” in English).
  • Propagation bin Such algorithm is described, for example, in the document entitled “A learning scheme for asymmetric threshold networks” - in Cognitiva, Y. LE CUN, CESTA-AFCET Ed., pages 559-604, (1985).
  • This algorithm consists in minimizing a cost function, associated with the quality of the network output.
  • this algorithm needs neurons whose states are represented by real numbers, even for typically binary problems, such as the problem of classification according to two classes.
  • the backpropagation of the gradient requires, moreover, that one introduces, a priori, the number of neurons to be used; however, there is no theoretical criterion to guide the choice of a person skilled in the art in this determination of the number of neurons required.
  • the performance of an algorithm is measured by the generalization ability of the algorithm, i.e. the ability to predict which class belongs a data which is not contained in the learning base. In practice, it is measured by means of the "generalization error" which is the percentage of data from a test base (including known examples, but independent of the learning base) poorly classified by the network, the parameters of which were determined by the learning algorithm.
  • this Minimerror algorithm was associated with another learning rule of the constructivist type, called “Monoplane”.
  • This Monoplane algorithm is described in the article entitled “An evolutive architecture coupled with optimal perceptron learning for classification” by TORRES-MORENO, PERETTO and GORDON, in Esann'95, European symposium on artificial neural networks, Brussels, April 1995, pages 365 to 370.
  • This Monoplane algorithm combines the Minimerror algorithm with a method for generating internal representations.
  • This Monoplane algorithm is of the incremental type, that is to say, it makes it possible to build a neural network with a hidden layer by adding neurons as and when required. It thus has performances superior to those of all the other algorithms, which means that, for an identical base of examples, used by a series of different algorithms, this Monoplane algorithm has shown better results, that is to say say a lower generalization error.
  • the object of the invention is precisely to remedy the drawbacks of the techniques proposed above. To this end, it offers a learning process generating neural networks of small sizes built according to the needs of the task to be performed and presenting an efficient generalization. This learning process is intended for the classification of objects or data into two classes separated by separation surfaces, either quadratic, or linear and quadratic.
  • the invention relates to a method for learning, from a database of examples consisting of known input data and targets corresponding to the class of each of these input data, to classify objects. into two distinct classes separated by at least one separating surface of quadratic type or of quadratic and linear type, this process consisting in generating a neural network of binary type, each comprising descriptive parameters of the separating surface which they determine, this network of neurons comprising network inputs as well as a layer of hidden neurons connected to these inputs and to a neuron leaving the network, characterized in that it comprises:
  • Aa a choice of the type of the first neuron that is connected to the inputs
  • Ad if this number of errors is zero, learning is finished and the first neuron chosen in Aa) becomes the neuron at the output of the network;
  • Bl an adaptation of the layer of hidden neurons as a function of the classification to be made consisting of: Bla) determining new targets for the base of examples B 0 as a function of the learning errors of the last neuron i learned, the inputs of the base of examples B 0 supplemented with the new targets constituting a new base of examples B x ;
  • Blb increment the hidden neuron counter i by one, and connect a new hidden neuron, i, of a chosen type, to the network inputs and learn to classify the new base of examples (Bi);
  • the internal representations of the inputs of the example base constitute a base of internal representations B RT (i) and step B2) consists in:
  • B2a introduce a linear output neuron, connect this output neuron to the hidden neurons, teach this output neuron the classification of the base of internal representations B R ⁇ (i) and determine the number of learning errors of the output neuron:
  • the method comprises an intermediate step B3), carried out between steps B1 and B2) and consisting in:
  • step B3b if this number is not zero, the processing is repeated from step Bl) by considering the errors of this neuron as errors of the previous neuron to create the learning base
  • the internal representations of the inputs of the example base constitute a base of internal representations B R ⁇ (i) and step B2), when '' it is carried out after step B3c) consists of:
  • B2d introduce an output neuron called pseudo-neuron, connect this pseudo-neuron to all the hidden neurons whose parameters are fixed, calculate the output of this pseudo-neuron as being substantially the product of the states of the hidden neurons;
  • the learning is considered to be finished and the constructed network comprises a layer of i hidden neurons
  • the first neuron chosen in step Aa) can be a linear type neuron, the other neurons being non-linear.
  • all of the hidden neurons are of the quadratic type.
  • FIGS. 2A and 2B represent the functional diagram of the method of the invention with learning of the output neuron, in accordance with the first embodiment of step B2) of the invention
  • FIGS. 3A and 3B represent the functional diagram of the method of the invention with learning of the output neuron in accordance with the third embodiment of the invention.
  • the invention provides a learning method for teaching a neural network to classify data into two classes separated by a non-linear surface using neural networks which are built as needed.
  • This surface can be either quadratic, or partly linear and partly quadratic.
  • the neural network is constructed from generalized perceptrons, that is to say basic neurons, which make it possible to classify the data which they receive as inputs, according to two classes.
  • a perceptron is a neuron which receives N input signals, characterizing the object or the data to be processed, and which calculates a function of these inputs, for example a weighted sum or a quadratic function or else a logarithmic function and gives, as an output signal, the sign of said function.
  • the output of the perceptron is 1 or -1 .
  • Such a perceptron is called
  • Linear classifier if the function of the inputs is the weighted sum of the inputs; it can then classify only data separable by a hyperplane of
  • a generalized perceptron is a neuron; a linear perceptron is a neuron that produces linear separation surfaces; a quadratic perceptron is a neuron which produces separation surfaces which are quadratic functions of the inputs of the network. Whether neurons or perceptrons, each represents a binary unit.
  • the method of the invention therefore consists, starting from a generalized perceptron, in building an neural network, in an incremental manner, that is to say by increasing the number of neurons necessary for the task that one wishes. have this neural network perform. More specifically, the method of the invention consists in increasing the number of neurons in an intermediate layer, called “hidden layer”, so as to build a network with a sufficient number of neurons to perform the task assigned to it. , data classification.
  • a linear perceptron When the set of data to be classified is linearly separable, a linear perceptron can be used. On the contrary, when the set of data to be classified is not linearly separable, one can use neural networks having layers of intermediate neurons, called “hidden layers", arranged between the input units and the output of the network. It should be noted, however, that if the classification is purely separable by a quadratic surface, a single neuron is sufficient.
  • the method of the invention precisely makes it possible to build a network with at least one layer of hidden neurons, as and when required, that is to say by increasing the number of neurons constituting this hidden layer, as a function of the data set to classify.
  • the number of neurons in the network increases during the learning process.
  • the final architecture of the network and the size of the network are defined by the learning algorithm and are a function of all the examples used.
  • Each neuron added in the hidden layer is therefore a generalized perceptron whose weights must be learned, the weights of all the other neurons of the already built network remaining frozen (that is to say saved for later use).
  • the method of the invention consists in constructing a neural network with at least one hidden layer connected to the input units of the network and with a single output neuron connected to the neurons of the last hidden layer.
  • the number of neurons in the hidden layer increases, until the output neuron of the network correctly classifies all or part of the training set, i.e. examples of the learning base.
  • the amount of tolerable errors is determined by the user.
  • the network will use a hidden layer made up of the neuron ⁇ ⁇ and the neurons ⁇ ⁇ to ⁇ JJ, H , whose weights are J f c, k being the number of the hidden neuron and which are connected to the output neuron ⁇ ⁇ whose weights are W.
  • the states ⁇ ⁇ ( ⁇ ⁇ , ⁇ ⁇ , ..., ⁇ ⁇ j constitute, in fact, the internal representation of the examples ⁇ ⁇ used by the neurons of the hidden layer of the network.
  • the method according to the invention therefore consists in defining an internal representation for each example and in learning the separation of the internal representations by the output neuron, by adding, if necessary, neurons in the single hidden layer.
  • the method of the invention begins by teaching the outputs which it is desired to obtain to a generalized perceptron. If the problem is not separable, there will necessarily be learning errors. In this case, the weights of the perceptron will be frozen and this perceptron will become the first neuron in the hidden layer.
  • a second hidden neuron will then be added, which will have to learn a new classification of examples intended to correct the learning errors of the previous neuron, for example, an output -1 for examples well learned by the previous neuron , and +1 for the others. As long as there are still errors with the examples in the learning base, the process can be repeated.
  • the output neuron is connected to the neuron of the hidden layer.
  • the output neuron must learn to separate the internal representations from the examples in the learning base.
  • a neural network with a single hidden layer is thus constructed.
  • FIGS. 2A and 2B represent, by a functional diagram, the method described briefly above.
  • FIG. 2B represents, in particular, the method of the invention with a first mode of learning the output neuron.
  • the method according to the invention comprises two main steps, namely a step A) of initialization and a step B) of learning the neurons of the hidden layer and of determining the output neuron.
  • the initialization step A) consists, first of all, in the choice of a type of neuron (linear, quadratic, etc.), then in the learning of the learning base B 0 , it is ie the inputs contained in this learning base Bo with their associated targets in order to determine the descriptive parameters of the separating surface relative to this neuron.
  • the database of examples B 0 is made up of input data (for example for a medical diagnosis, this data can be temperature, blood pressure, depth of the tumor, cell size, etc.) and targets which are, for each entry the corresponding class (for example, tumor or non-tumor, benign or malignant, etc.).
  • the internal representations that the hidden i neurons attribute to the inputs of the base of examples Bo, with the corresponding targets, constitute the base of the internal representations B RI (i), that is to say the learning base of the neuron output connected to these hidden neurons i.
  • the state of the set of hidden neurons corresponding to each input of the base B 0 constitutes the internal representation of said input data.
  • the base Bi is identical to the base B 0 , that is to say that the first neuron must learn to classify the base with the original targets. This learning operation of the base of examples Bi, referenced 10, is carried out for the first neuron of the network.
  • an operation 11 for determining the number of learning errors Nb is carried out.
  • An operation 12 then consists in freezing the parameters of the neuron of the separating surface relative to this neuron, that is to say descriptive of the type of surface and of the weights Ji. Then, a check of the number Nb is made in 13:
  • step B) is then carried out; it consists of learning the examples by hidden neurons located in the hidden layer and by the output neuron.
  • step B) includes a sub-step B1 which itself includes an operation 16 for determining new targets, in which i takes the value i + 1, which means that 'We determine the targets to be taught to the next neuron. More precisely, this operation 16 consists in determining new targets which define the basis of examples B lr in which the examples are a function of the learning errors of the preceding neuron i-1.
  • the new targets (or hidden classes) are calculated by choosing a convention in which: if the example is well learned by the previous neuron, it is assigned a hidden class equal for example to +1.
  • step B1) then comprises an operation 17, during which a new neuron i, the type of which has been chosen, is connected to the input units.
  • This new neuron i must then learn the learning base Bi containing the same inputs as the learning base B 0 , but comprising targets corresponding to another classification, that is to say the base examples B x defined in 16.
  • This learning constitutes operation 18 of the process.
  • the parameters of this new neuron are frozen in an operation 19.
  • the method then goes directly to sub-step B2).
  • the method comprises a sub-step B3), carried out between steps B1) and B2); it is this latter embodiment which is shown in FIG. 3.
  • This sub-step B3) comprises an operation 20 for determining the number of learning errors Nb is carried out. A check of this value Nb is then made in 21:
  • this number Nb is not zero, the method is repeated after operation 15, that is to say at the start of the learning step of the hidden neuron; . if this number Nb is zero, we continue in B2), an operation 23 is carried out, which consists in connecting a neuron to all the neurons of the hidden layer whose parameters are fixed. It then consists of an operation 24 for learning, by this neuron, of the base of the internal representations B RI constituted so as to determine the parameters of this neuron.
  • the method then consists in determining the number of learning errors Nb (operation 25). A check of this number Nb is done at 26: if Nb is zero, then the learning of the output neuron is considered finished; the last neuron becomes the output neuron of the network, its parameters are frozen, and the process stops (block 28);
  • the output neuron is then annihilated in step 27 and the method is restarted from the start of operation 16 of adding a new hidden neuron, considering as learning error of the previous neuron i-1, the errors of the neuron that we have just annihilated.
  • FIGS. 3A and 3B the method according to the invention is shown, in which the step of learning the output neuron is carried out according to a third embodiment.
  • Steps A) of initialization and B) of learning the output neuron corresponding to operations 10 to 21 are not described again, since they are strictly identical to those of FIG. 2A already described.
  • the second embodiment comprises an operation 30 which consists in defining a pseudo-neuron and an operation 31 which consists in connecting this pseudo-neuron to all the neurons of the layer hidden, whose parameters are frozen.
  • This pseudo-neuron then has an output which corresponds substantially to the product of the states of the hidden neurons.
  • the method continues with an operation 32 consisting in checking whether the classification of the base of the internal representations B RI , by this pseudo-neuron, is correct. For this, we check if the number Nb is zero (block 33). If so, learning is complete (block 34). On the contrary, if this is not the case, the pseudo-neuron is annihilated (block 35) and the process is restarted from the start of operation 16 of adding a new hidden neuron considering, as error d learning of the previous neuron i-1, the errors of the pseudo-neuron which has just been annihilated.
  • the training of each perceptron within the neural network i.e.
  • the states of the binary neurons are coded +1 or -1.
  • the method according to the invention is applicable for different neural states, for example, coded 0 or 1, or coded according to any other type of binary coding.
  • the output of the pseudo-neuron in the embodiment of FIG. 3B is the product of the states of the hidden neurons; however, this output may not be the product of hidden neural states; it can be, for example, replaced by logical parity functions or by an exclusive OU.
  • the invention can be applied to more complex networks, comprising several layers of hidden neurons.
  • a neural network such as that which has just been described can make it possible to classify objects into a number of classes greater than two; for this, the network is associated with several other networks of the same type, each making it possible to separate a class from all the others.
  • To choose the class assigned to the object to be classified one can, for example, use as a selection criterion, the one which has the largest weighted sum on the output neuron of the corresponding network.

Abstract

L'invention concerne un procédé d'apprentissage générant des réseaux de neurones destinés à la classification de données en deux classes séparées par une surface non linéaire et construits au fur et à mesure des besoins de la tâche à effectuer. Cette surface peut être soit quadratique, soit en partie linéaire et en partie quadratique. Application à la reconnaissance de formes et à la classification d'objets ou de données.

Description

PROCEDE D'APPRENTISSAGE
GENERANT DES RESEAUX DE NEURONES DE PETITES TAILLES
POUR LA CLASSIFICATION DE DONNEES
DESCRIPTION
Domaine technique
L' invention concerne un proceαe d'apprentissage générant des reseaux de neurones αes::nεs a la classification de données et construits suivant les besoins de la tâche a effectuer.
Cette invention trouve des applications dans les domaines exploitant les réseaux de neurones et, en particulier, pour le diagnostic médical, la reconnaissance de formes ou encore la classification d'objets, ou de données comme des spectres, des signaux, etc.
Etat de la technique
Les reseaux de neurones, ou réseaux neuronaux, sont des systèmes qui effectuent, sur αes informations numériques, des calculs inspires au comportement des neurones physiologiques. Un réseau neuronal doit donc apprendre à réaliser les tâches que l'on désire lui faire effectuer par la suite. Pour cela, on utilise une base d'exemples, ou base d'apprentissage, qui contient une série d'exemples connus utilisés pour apprendre au réseau de neurones à effectuer les tâches qu'il devra reproduire, par la suite, avec des informations inconnues.
Un reseau neuronal est compose d' ur ensemble de neurones formels. Chaque neurone est une unité de calcul constituée d'au moins une entrée et une sortie correspondant à un état. A chaque instant, l'état de chaque neurone est communiqué aux autres neurones de l'ensemble. Les neurones sont, en effet, connectés les uns aux autres par des connexions qui ont chacune un poids synaptique.
Le niveau total d' activation du neurone est égal à la somme des états de ses neurones d'entrée, pondérés chacun par le poids synaptique de la connexion correspondante. A chaque instant, ce niveau d'activation est utilisé par le neurone pour mettre à jour sa sortie.
Le réseau neuronal peut être, en particulier, un réseau en couches ; dans ce cas, le réseau comporte une ou plusieurs couches de neurones connectées chacune à la couche précédente, la dernière étant la couche de sortie. Chaque configuration des entrées du réseau produit une représentation interne qui est utilisée par les couches suivantes pour, par exemple, classer l'état d'entrée. II existe actuellement plusieurs algorithmes d'apprentissage permettant d'effectuer une classification de données ou une reconnaissance de formes à partir de réseaux de neurones, comme cela est expliqué, par exemple, dans le document intitulé « Introduction to the theory of neural computation » de HERTZ, KROGH et PALMER, (1991), Adison-Wesley .
Classiquement, les algorithmes permettent de fixer les paramètres du réseau, à savoir les valeurs des poids des connexions, le nombre de neurones utilisés dans le réseau, etc., en utilisant un certain nombre d'exemples connus de données à classer. Ces exemples constituent la base d'apprentissage.
L' algorithme le plus couramment utilisé est l'algorithme de rétropropagation du gradient (appelé « bac propagation » en terme anglo-saxon) . Un tel algorithme est décrit, par exemple, dans le document intitulé « A learning scheme for asymmetric threshold networks » - in Cognitiva, Y. LE CUN, CESTA-AFCET Ed., pages 559-604, (1985). Cet algorithme consiste à minimiser une fonction de coût, associée à la qualité de la sortie du réseau. Cependant, cet algorithme a besoin de neurones dont les états sont représentés par des nombres réels, même pour des problèmes typiquement binaires, comme le problème de la classification selon deux classes. La rétropropagation du gradient exige, de plus, que l'on introduise, à priori, le nombre de neurones à utiliser ; or, il n'existe aucun critère théorique pour guider le choix de l'homme du métier dans cette détermination du nombre de neurones nécessaires.
D'autres algorithmes, appelés algorithmes « constructivistes » ou « adaptatifs », proposent d'adapter le nombre de neurones, dans le réseau, en fonction de la tâche à réaliser. De plus, certains de ces algorithmes n'utilisent que des neurones binaires, comme cela est décrit par exemple dans le document intitulé « Learning in feed forward layered neural networks : the tiling algorithm », MEZARD et NADAL, J. PHYS. A22, pages 2 191-2 203, ainsi que dans le document intitulé « Learning by activating neurons : a new approach to learning in neural neetworks », RUJAN et MARCHAND, complex Systems 3_, (1989), page 229. L'inconvénient majeur de ces algorithmes est que la règle d' apprentissage au niveau de chaque neurone du réseau n'est pas performante, ce qui se traduit par des réseaux trop grands pour la tâche à résoudre et qui généralisent de façon médiocre.
La performance d'un algorithme se mesure par la capacité de généralisation de l'algorithme, c'est-à-dire la capacité à prédire à quelle classe appartient une donnée qui n'est pas contenue dans la base d'apprentissage. Pratiquement, elle se mesure au moyen de « l'erreur de généralisation » qui est le pourcentage de données d'une base de test (comportant des exemples connus, mais indépendante de la base d'apprentissage) mal classées par le réseau dont les paramètres ont été déterminés par l'algorithme d' apprentissage .
Un algorithme d'apprentissage performant pour un neurone est décrit dans le document intitulé « Learning with température dépendent algorithm » de GORDON et GREMPEL, Europhysics letters, n° 29, pages 257 à 262, Janvier 1995, ainsi que dans le document intitulé « Minimerror : perceptron learning rule that finds the optimal weights » de GORDON et BERCHIER, ESANN'93, Bruxelles, M. VERLEYEN Ed., pages 105-110. Ces documents décrivent un algorithme, appelé « Minimerror », qui permet d'apprendre des tâches de classification au moyen de neurones binaires. Cet algorithme a l'avantage d'avoir une convergence garantie et de bonnes performances numériques, c'est-à-dire une capacité de généralisation optimale.
Par ailleurs, cet algorithme Minimerror a été associé à une autre règle d'apprentissage de type constructiviste, appelée « Monoplane ». Cet algorithme Monoplane est décrit dans l'article intitulé « An évolutive architecture coupled with optimal perceptron learning for classification » de TORRES-MORENO, PERETTO et GORDON, dans Esann'95, European symposium on artificial neural networks, Bruxelles, Avril 1995, pages 365 à 370. Cet algorithme Monoplane combine l'algorithme Minimerror avec une méthode pour générer des représentations internes . Cet algorithme Monoplane est de type incrémental, c'est-à-dire qu'il permet de construire un réseau de neurones à une couche cachée en ajoutant des neurones au fur et à mesure des besoins. II possède ainsi des performances supérieures à celles de tous les autres algorithmes, ce qui signifie que, pour une base d'exemples identique, utilisée par une série de différents algorithmes, cet algorithme Monoplane a montré des résultats meilleurs, c'est-à-dire une plus faible erreur de généralisation.
Cependant, ces algorithmes Minimerror et Monoplane utilisent des neurones à fonction d'activation sigmoïdale qui permettent de faire uniquement des séparations linéaires. Un réseau réalisé à partir de tels neurones ne peut donc qu'établir des frontières planes (constituées d' hyperplans) entre domaines de classes différentes. Aussi, lorsque les frontières entre les classes sont courbes, ces réseaux font une approximation linéaire par morceaux, d'où une certaine imprécision et une nécessité d' introduire beaucoup de neurones .
D'autres types d'algorithmes, au contraire, effectuent un pavage de l'espace avec des hypersphères qui sont représentées chacune par un neurone. Ces algorithmes, décrits par exemple dans COOPER, REILLY & ELBAUM (1988), Neural networks Systems, an introduction for managers, decision-makers and strategists. NESTOR, Inc. Providence, RI O2906-USA, finissent, en général, avec un nombre très élevé de neurones, même lorsqu'ils comportent des opérations d'élagage. Ces algorithmes nécessitent donc trop de ressources, c'est-à-dire trop de neurones et de poids pour réaliser la tâche. Exposé de l'invention
L'invention a justement pour but de remédier aux inconvénients des techniques proposées précédemment. A cette fin, elle propose un procédé d'apprentissage générant des réseaux de neurones de petites tailles construits suivant les besoins de la tâche à effectuer et présentant une généralisation performante. Ce procédé d'apprentissage est destiné au classement d'objets ou de données en deux classes séparées par des surfaces de séparation, soit quadratiques, soit linéaires et quadratiques.
De façon plus précise, l'invention concerne un procédé pour apprendre, à partir d'une base d'exemples constituée de données d'entrée connues et de cibles correspondant à la classe de chacune de ces données d'entrée, à classer des objets en deux classes distinctes séparées par au moins une surface séparatrice de type quadratique ou de type quadratique et linéaire, ce procédé consistant à générer un réseau de neurones de type binaire, comportant chacun des paramètres descriptifs de la surface séparatrice qu'ils déterminent, ce réseau de neurones comportant des entrées de réseau ainsi qu'une couche de neurones cachés connectés à ces entrées et à un neurone de sortie du réseau caractérisé en ce qu' il comporte :
A) une étape d' initialisation consistant en :
Aa) un choix du type du premier neurone qu'on connecte aux entrées ;
Ab) un apprentissage de la base d'exemples (B0) par ce premier neurone, afin de déterminer les paramètres descriptifs d'une première surface séparatrice, relatifs à ce neurone ; Ac) une détermination du nombre d'erreurs d'apprentissage :
Ad) si ce nombre d'erreurs est nul, l'apprentissage est terminé et le premier neurone choisi en Aa) devient le neurone de sortie du réseau ;
Ae) si ce nombre est non nul, les paramètres du premier neurone sont figés et ledit neurone devient le premier neurone (i=l) d'une couche de neurones cachés construite par : B) une étape de construction de la couche cachée et de détermination du neurone de sortie du réseau comprenant :
Bl) une adaptation de la couche de neurones cachés en fonction du classement à effectuer consistant à : Bla) déterminer de nouvelles cibles pour la base d'exemples B0 en fonction des erreurs d'apprentissage du dernier neurone i appris, les entrées de la base d'exemples B0 complétées des nouvelles cibles constituant une nouvelle base d' exemples Bx ;
Blb) incrémenter d'une unité le compteur de neurones cachés i, et connecter un nouveau neurone caché, i, d'un type choisi, sur les entrées du réseau et apprendre à classer la nouvelle base d' exemples (Bi) ;
Blc) figer les paramètres de ce nouveau neurone i, les états des neurones cachés correspondant à chaque donnée d'entrée de la base d'exemples B0 constituant une représentation interne de cette donnée d'entrée ;
B2) une validation de la couche de neurones cachés et une détermination du neurone de sortie du réseau. Selon un premier mode de réalisation de l'invention, les représentations internes des entrées de la base d'exemples constituent une base de représentations internes BRT(i) et l'étape B2) consiste à :
B2a) introduire un neurone de sortie de type linéaire, connecter ce neurone de sortie aux neurones cachés, apprendre à ce neurone de sortie la classification de la base de représentations internes BRι(i) et déterminer le nombre d'erreurs d'apprentissage du neurone de sortie :
B2b) si ce nombre est nul, considérer que le réseau est construit et comporte une couche de i neurones cachés ; B2c) si ce nombre est non nul, considérer les erreurs d'apprentissage du neurone de sortie comme des erreurs du neurone précédent dans l'étape Bla) , annihiler ce neurone de sortie et recommencer le traitement à partir de l'étape Bla) jusqu'à ce que le nombre d'erreurs du neurone de sortie soit nul.
Selon un deuxième mode de réalisation dans lequel les entrées du réseau sont binaires, le procédé comprend une étape B3) intermédiaire, effectuée entre les étapes Bl) et B2) et consistant à :
B3a) déterminer le nombre d'erreurs d' apprentissage du neurone i :
B3b) si ce nombre est non nul, le traitement est réitéré à partir de l'étape Bl) en considérant les erreurs de ce neurone comme des erreurs du neurone précédent pour créer la base d'apprentissage
Bi ;
B3c) si ce nombre est nul, considérer la couche de neurones cachés, ainsi construite comme potentiellement acceptable et effectuer l'étape B2). Selon un troisième mode de réalisation de l'invention, dans lequel les entrées du réseau sont binaires, les représentations internes des entrées de la base d'exemples constituent une base de représentations internes B(i) et l'étape B2), lorsqu'elle est réalisée après l'étape B3c) consiste à :
B2d) introduire un neurone de sortie appelé pseudo-neurone, connecter ce pseudo-neurone à tous les neurones cachés dont les paramètres sont figés, calculer la sortie de ce pseudo-neurone comme étant sensiblement le produit des états des neurones cachés ;
B2e) déterminer si le pseudo-neurone effectue un classement correct de tous les exemples de la base de représentations internes BRI(i) :
B2f) si c'est le cas, l'apprentissage est considéré comme terminé et le réseau construit comporte une couche de i neurones cachés ;
B2g) si ce n'est pas le cas, considérer les erreurs de classification du pseudo-neurone de sortie comme des erreurs du neurone précédent dans l'étape Bla, annihiler ce pseudo-neurone de sortie et recommencer le traitement à partir de l'étape Bla) jusqu'à ce que le nombre d'erreurs du pseudo-neurone de sortie soit nul.
Selon un mode de réalisation avantageux, le premier neurone choisi à l'étape Aa) peut être un neurone de type linéaire, les autres neurones étant non linéaires.
Selon un autre mode de réalisation avantageux, tous les neurones cachés sont de type quadratique . Brève description des figures
- La figure 1 représente schématiquement un réseau de neurones ayant une couche cachée ; - les figures 2A et 2B représentent le diagramme fonctionnel du procédé de l'invention avec un apprentissage du neurone de sortie, conforme au premier mode de réalisation de l'étape B2) de l'invention ; les figures 3A et 3B représentent le diagramme fonctionnel du procédé de l'invention avec un apprentissage du neurone de sortie conforme au troisième mode de réalisation de l'invention.
Exposé de modes de réalisation de l' invention
L' invention propose un procédé d'apprentissage permettant d'apprendre à un réseau de neurones à classer des données en deux classes séparées par une surface non linéaire en utilisant des réseaux de neurones qui sont construits au fur et à mesure des besoins. Cette surface peut être soit quadratique, soit en partie linéaire et en partie quadratique.
Le réseau de neurones, selon l'invention, est construit à partir de perceptrons généralisés, c'est-à-dire de neurones de base, qui permettent de classer les données qu'ils reçoivent en entrées, selon deux classes.
Plus précisément, un perceptron est un neurone qui reçoit N signaux d'entrées, caractérisant l'objet ou la donnée à traiter, et qui calcule une fonction de ces entrées, par exemple une somme pondérée ou une fonction quadratique ou bien une fonction logarithmique et donne, comme signal de sortie, le signe de ladite fonction. Suivant que les vecteurs représentatifs des données d'entrées (appelées indifféremment « entrées » ou « données d'entrée ») se trouvent d'un côté ou de l'autre de la surface de séparation, la sortie du perceptron est 1 ou -1. Un tel perceptron est appelé
« classifieur linéaire » si la fonction des entrées est la somme pondérée des entrées ; il ne peut alors classer que des données séparables par un hyperplan de
— normale w , c'est-à-dire par une surface séparatrice linéaire d'ordre 1.
D'une façon générale, un perceptron généralisé est un neurone ; un perceptron linéaire est un neurone qui produit des surfaces de séparation linéaires ; un perceptron quadratique est un neurone qui produit des surfaces de séparation qui sont des fonctions quadratiques des entrées du réseau. Qu'il s'agisse de neurones ou de perceptrons, chacun représente une unité binaire.
Le procédé de l'invention consiste donc, à partir d'un perceptron généralisé, à construire un réseau de neurones, de manière incrémentale, c'est-à-dire en augmentant le nombre de neurones nécessaires à la tâche que l'on souhaite faire effectuer à ce réseau de neurones. De façon plus précise, le procédé de l'invention consiste à augmenter le nombre de neurones dans une couche intermédiaire, appelée « couche cachée », de manière à construire un réseau avec un nombre de neurones suffisant pour réaliser la tâche qui lui a été assignée, la classification de données.
Lorsque l'ensemble des données à classer est linéairement séparable, on peut utiliser un perceptron linéaire. Au contraire, lorsque l'ensemble des données à classer n'est pas linéairement séparable, on peut utiliser des réseaux de neurones ayant des couches de neurones intermédiaires, appelées « couches cachées », disposées entre les unités d'entrée et la sortie du réseau. Il est à noter, toutefois, que si le classement est purement séparable par une surface quadratique, un seul neurone suffit.
Cependant, le nombre exact de neurones nécessaires, constituant cette couche cachée, n'est, à priori, pas connu.
Le procédé de l'invention permet justement de construire un réseau avec au moins une couche de neurones cachés, au fur et à mesure des besoins, c'est-à-dire en augmentant le nombre des neurones constituant cette couche cachée, en fonction de l'ensemble de données à classer. Dans ce cas, le nombre de neurones du réseau augmente pendant le processus d'apprentissage. L' architecture finale du réseau et la taille du réseau sont définies par l'algorithme d'apprentissage et sont fonction de l'ensemble des exemples utilisés. Chaque neurone rajouté dans la couche cachée est donc un perceptron généralisé dont les poids doivent être appris, les poids de tous les autres neurones du réseau déjà construit restant gelés (c'est-à-dire sauvegardés en vue d'une utilisation ultérieure) .
Le procédé de l'invention consiste à construire un réseau de neurones avec au moins une couche cachée connectée aux unités d'entrées du réseau et avec un seul neurone de sortie connecté aux neurones de la dernière couche cachée.
Dans la suite de la description, on considérera le cas d'un réseau ayant une seule couche cachée, sachant que le procédé pour construire plusieurs couches cachées reprend, pour chaque couche cachée, le procédé utilisé pour construire un réseau à une seule couche cachée.
Ainsi, au cours de l'apprentissage, le nombre de neurones de la couche cachée grandit, jusqu'à ce que le neurone de sortie du réseau classe correctement tout ou partie de l'ensemble d'apprentissage, c'est-à-dire des exemples de la base d'apprentissage. La quantité d'erreurs tolérables est déterminée par l'utilisateur. En fin d'apprentissage, les neurones de la couche cachée ont des poids Jk = (Jko, • • • , Ji, • • • , Jn) avec 0 < i < N et 1 < k < NH, où NH est le nombre de neurones de la couche cachée et N est le nombre d'unités d'entrée du réseau ; et la sortie du réseau a des poids W = (W0, Wi, ... , k, ... , NH) avec 0 < k < NH .
Sur la figure 1, on a représenté un exemple de réseau à une couche cachée.
Sur cette figure, on a représenté, par des petits ronds, différents neurones du réseau. Les ronds pleins représentent les unités d'entrée du réseau ; ils sont notés ξμ , où μ est le numéro de l'exemple ; les neurones de la couche cachée sont notés σk , et leurs poids sont les vecteurs J^ ; et le neurone de sortie est noté ζμ avec des poids W. Si un exemple ξμ =1 ξμ,...,ξμ,... ,ξμJ se présente à l'unité d'entrée du réseau, les états σ des différents neurones de la couche cachée et la sortie du réseau ζμ sont donnés par les formules :
σμ = signe fs(Jkμ) , avec 1 < k < NH,
où fs représente la fonction que calcule le neurone k, fs pouvant être par exemple : 1 ) f1 = ∑Jkiξ,μ : une somme pondérée i=0
2 ) f2 = ∑[(j H - ξr)2 - j une fonction quadratique i=l L
In Σ x-x une fonction logarithmique
'ko
et ζμ _ signe
Figure imgf000016_0001
σμ = +1 avec pour tous les exemples et pour toutes les
données à classer.
Autrement dit, pour des exemples ξμ , le réseau utilisera une couche cachée constituée du neurone σμ et des neurones σμ à σJJ,H , dont les poids sont Jfc, k étant le numéro du neurone caché et qui sont connectés au neurone de sortie ζμ dont les poids sont W. Les états σμ = (σμ, σμ,... , σ^j constituent, en fait, la représentation interne des exemples ξμ utilisée par les neurones de la couche cachée du réseau.
Le procédé selon l'invention consiste donc à définir une représentation interne pour chaque exemple et à apprendre la séparation des représentations internes par le neurone de sortie, en ajoutant, si besoin est, des neurones dans l'unique couche cachée. Pour produire la couche cachée, le procédé de l'invention commence par apprendre les sorties que l'on souhaite obtenir à un perceptron généralisé. Si le problème n'est pas séparable, il y aura forcément des erreurs d'apprentissage. Dans ce cas, les poids du perceptron seront gelés et ce perceptron deviendra le premier neurone de la couche cachée. Dans un mode de réalisation particulier, un deuxième neurone caché sera alors ajouté, qui devra apprendre une nouvelle classification des exemples destinée à corriger les erreurs d'apprentissage du neurone précédent, par exemple, une sortie -1 pour exemples bien appris par le neurone précédent, et +1 pour les autres. Tant qu'il reste des erreurs avec les exemples de la base d'apprentissage, le procédé peut être répété.
Une fois que les exemples de la base d'apprentissage ont été appris, le neurone de sortie est connecté au neurone de la couche cachée. Le neurone de sortie doit apprendre à séparer les représentations internes des exemples de la base d'apprentissage.
Si les représentations internes sont linéairement séparables, le procédé est terminé. Autrement, il faut augmenter la dimension de ces représentations internes, afin de les rendre séparables. Pour cela, on rajoute un neurone caché et on lui apprend les classements -1 pour les exemples correctement classés par le perceptron de sortie et +1 pour les autres, par exemple.
Eventuellement, si cela est nécessaire, on continue à rajouter des neurones dans la couche cachée jusqu'à ce que le neurone de sortie soit capable de séparer tous les exemples de la base d'apprentissage. Un réseau de neurones à une seule couche cachée est ainsi construit.
Les figures 2A et 2B représentent, par un schéma fonctionnel, le procédé décrit brièvement précédemment. La figure 2B représente, en particulier, le procédé de l'invention avec un premier mode d'apprentissage du neurone de sortie.
Le procédé selon l'invention comporte deux grandes étapes, à savoir une étape A) d'initialisation et une étape B) d'apprentissage des neurones de la couche cachée et de détermination du neurone de sortie. L'étape A) d'initialisation consiste, tout d'abord, dans le choix d'un type de neurone (linéaire, quadratique, etc.), puis en l'apprentissage de la base d'apprentissage B0, c'est-à-dire des entrées contenues dans cette base d' apprentissage Bo avec leurs cibles associées afin de déterminer les paramètres descriptifs de la surface séparatrice relatifs à ce neurone.
La base d'exemples B0 est constituée de données d'entrée (par exemple pour un diagnostic médical, ces données peuvent être la température, la tension artérielle, la profondeur de la tumeur, la taille de la cellule, etc.) et de cibles qui sont, pour chaque entrée la classe correspondante (par exemple, tumeur ou non tumeur, bénigne ou maligne, etc.) .
Les représentations internes que les i neurones cachés attribuent aux entrées de la base d'exemples Bo, avec les cibles correspondantes, constituent la base des représentations internes BRI(i), c'est-à-dire la base d'apprentissage du neurone de sortie connecté à ces i neurones cachés.
L'état de l'ensemble des neurones cachés correspondant à chaque entrée de la base B0 constitue la représentation interne de ladite donnée d'entrée. On verra, par la suite, que le procédé de l'invention utilise des bases d'apprentissage successives B ; ces bases d'apprentissage Bx contiennent les mêmes exemples que la base B0, mais avec des cibles différentes. La base Bi est identique à la base B0, c'est-à-dire que le premier neurone doit apprendre à classer la base avec les cibles originales. Cette opération d'apprentissage de la base d'exemples Bi, référencée 10, est effectuée pour le premier neurone du réseau.
Lorsque cet apprentissage est effectué, une opération 11 de détermination du nombre d'erreurs d'apprentissage Nb est effectuée. Une opération 12 consiste ensuite à geler les paramètres du neurone de la surface séparatrice relatifs à ce neurone, c'est-à-dire descriptifs du type de surface et des poids Ji . Ensuite, une vérification du nombre Nb est faite en 13 :
. si le nombre d'erreurs d'apprentissage Nb est égal à 0, alors l'apprentissage est considéré comme terminé (bloc 14) ; si ce nombre d'erreurs Nb est non nul, alors le neurone est introduit comme premier neurone caché (i=l) dans une couche de neurones cachée (opération 15).
Une étape d'apprentissage B) est ensuite effectuée ; elle consiste en l'apprentissage des exemples par des neurones cachés situés dans la couche cachée et par le neurone de sortie. Dans un premier mode de réalisation de l'invention, l'étape B) comporte une sous-étape Bl qui inclue elle-même une opération 16 de détermination de nouvelles cibles, dans laquelle i prend la valeur i+1, ce qui signifie qu'on détermine les cibles à apprendre au neurone suivant. Plus précisément, cette opération 16 consiste à déterminer de nouvelles cibles qui définissent la base d'exemples Bl r dans laquelle les exemples sont fonction des erreurs d'apprentissage du neurone précédent i-1. Les nouvelles cibles (ou classes cachées) sont calculées en choisissant une convention dans laquelle : si l'exemple est bien appris par le neurone précédent, on lui attribue une classe cachée égale par exemple à +1. Si l'exemple est mal appris par le neurone précédent, on lui attribue une classe cachée opposée égale à -1, dans ce cas. Toutefois, cette convention n'est qu'un exemple ; on peut aussi choisir la convention opposée. Selon l'invention, l'étape Bl) comporte ensuite une opération 17, au cours de laquelle un nouveau neurone i, dont on a choisi le type, est connecté sur les unités d'entrées. Ce nouveau neurone i doit ensuite faire l'apprentissage de la base d' apprentissage Bi contenant les mêmes entrées que la base d'apprentissage B0, mais comportant des cibles correspondant à une autre classification, c'est-à-dire à la base d'exemples Bx définie en 16. Cet apprentissage constitue l'opération 18 du procédé. Ensuite, lorsque cet apprentissage est effectué, les paramètres de ce nouveau neurone sont figés dans une opération 19. Selon le mode de réalisation préféré de l'invention, le procédé passe alors directement à la sous-étape B2). Selon un mode de réalisation de l'invention, le procédé comporte une sous-étape B3) , réalisée entre les étapes Bl) et B2) ; c'est ce dernier mode de réalisation qui est représenté sur la figure 3. Cette sous-étape B3) comporte une opération 20 de détermination du nombre d'erreurs d'apprentissage Nb est effectuée. Une vérification de cette valeur Nb est ensuite faite en 21 :
. si ce nombre Nb est non nul, le procédé est réitéré après l'opération 15, c'est-à-dire au début de l'étape d'apprentissage du neurone caché ; . si ce nombre Nb est nul, on continue en B2), une opération 23 est effectuée, qui consiste à connecter un neurone à tous les neurones de la couche cachée dont les paramètres sont figés. Il consiste ensuite en une opération 24 d'apprentissage, par ce neurone, de la base des représentations internes BRI constituée de façon à déterminer les paramètres de ce neurone .
Le procédé consiste ensuite à déterminer le nombre d'erreurs d'apprentissage Nb (opération 25). Une vérification de ce nombre Nb est faite en 26 : si Nb est nul, alors l'apprentissage du neurone de sortie est considéré terminé ; le dernier neurone devient le neurone de sortie du réseau, on gèle ses paramètres, et le procédé s'arrête (bloc 28) ;
. si ce nombre est non nul, le neurone de sortie est alors annihilé dans l'étape 27 et le procédé est recommencé à partir du début de l'opération 16 de rajout d'un nouveau neurone caché, en considérant comme erreur d'apprentissage du neurone précédent i-1, les erreurs du neurone que l'on vient d'annihiler.
Sur les figures 3A et 3B, on a représenté le procédé selon l'invention, dans lequel l'étape d'apprentissage du neurone de sortie est réalisée selon un troisième mode de réalisation.
Les étapes A) d'initialisation et B) d'apprentissage du neurone de sortie correspondant aux opérations 10 à 21 ne sont pas décrites à nouveau, puisqu'elles sont strictement identiques à celles de la figure 2A déjà décrite.
Le second mode de réalisation comporte une opération 30 qui consiste à définir un pseudo-neurone et une opération 31 qui consiste à connecter ce pseudo-neurone sur tous les neurones de la couche cachée, dont les paramètres sont figés. Ce pseudo-neurone a alors une sortie qui correspond sensiblement au produit des états des neurones cachés.
Le procédé se poursuit par une opération 32 consistant à vérifier si le classement de la base des représentations internes BRI, par ce pseudo-neurone, est correct. Pour cela, on vérifie si le nombre Nb est nul (bloc 33). Si c'est le cas, l'apprentissage est terminé (bloc 34) . Au contraire, si ce n'est pas le cas, le pseudo-neurone est annihilé (bloc 35) et le procédé est recommencé à partir du début de l'opération 16 de rajout d'un nouveau neurone caché en considérant, comme erreur d'apprentissage du neurone précédent i-1, les erreurs du pseudo-neurone qui vient d'être annihilé. L'apprentissage de chaque perceptron au sein du réseau de neurones, c'est-à-dire toutes les opérations d'apprentissage, de la base d'exemples B0 ou Bi de la base d'exemples BRI (opérations 10, 18 et 23), sont effectuées, par exemple, au moyen d'un procédé d'apprentissage d'un neurone destiné à classer des données selon deux classes séparées par une surface séparatrice d'ordre 1 ou 2 ; un tel procédé est décrit dans la demande de brevet déposée sous le numéro 96 11939.
Il est à noter que, pour des raisons de simplicité, on a considéré, tout au long de la description, que les états des neurones binaires sont codés +1 ou -1. Toutefois, le procédé selon l'invention est applicable pour des états de neurones différents, par exemple, codés 0 ou 1, ou codés selon n'importe quel autre type de codage binaire.
De plus, il est à noter que la sortie du pseudo-neurone dans le mode de réalisation de la figure 3B, est le produit des états des neurones cachés ; toutefois, cette sortie peut ne pas être le produit des états de neurones cachés ; il peut être, par exemple, remplacé par des fonctions logiques de parité ou par un OU-exclusif .
Comme le comprendra l'homme de métier, l'invention peut s'appliquer à des réseaux plus complexes, comportant plusieurs couches de neurones cachés . L'homme du métier comprendra aussi qu'un réseau de neurones tel que celui qui vient d'être décrit peut permettre de classer des objets en un nombre de classes supérieur à deux ; pour cela, le réseau est associé à plusieurs autres réseaux de même type, chacun permettant de séparer une classe de toutes les autres. Pour choisir la classe attribuée à l'objet à classer, on peut, par exemple, utiliser comme critère de choix, celle qui a la plus grande somme pondérée sur le neurone de sortie du réseau correspondant.

Claims

REVENDICATIONS
1. Procédé pour apprendre, à partir d'une base d'exemples constituée de données d'entrée connues et de cibles correspondant à la classe de chacune de ces données d'entrée, à classer des objets en deux classes distinctes séparées par au moins une surface séparatrice de type quadratique ou de type quadratique et linéaire, consistant à générer un réseau de neurones de type binaire comportant chacun des paramètres descriptifs de la surface séparatrice qu' ils déterminent, ce réseau de neurones comportant des entrées de réseau ainsi qu'une couche de neurones cachés connectés à ces entrées et à un neurone de sortie du réseau, caractérisé en ce qu'il comporte :
A) une étape d' initialisation consistant en :
Aa) un choix (9) du type du premier neurone qu'on connecte aux entrées ; Ab) un apprentissage (10) de la base d'exemples (B0) par ce premier neurone, afin de déterminer les paramètres descriptifs d'une première surface séparatrice, relatifs à ce neurone ;
Ac) une détermination (9) du nombre d'erreurs d'apprentissage :
Ad) si ce nombre d'erreurs est nul, l'apprentissage est terminé (14) et le premier neurone choisi en Aa) devient le neurone de sortie du réseau ;
Ae) si ce nombre est non nul, les paramètres du premier neurone sont figés et ledit neurone devient le premier neurone (i = 1) d'une couche de neurones cachés (15) construite par :
B) une étape de construction de la couche cachée et de détermination du neurone de sortie du réseau comprenant : Bl) une adaptation de la couche de neurones cachés en fonction du classement à effectuer consistant à :
Bla) déterminer (16) de nouvelles cibles pour la base d'exemples (Bo) en fonction des erreurs d'apprentissage du dernier neurone (i) appris, les entrées de la base d'exemples (Bo) complétées des nouvelles cibles constituant une nouvelle base d'exemples (Bi) ;
Blb) incrémenter d'une unité le compteur de neurones cachés i, et connecter (17) un nouveau neurone caché, i, d'un type choisi, sur les entrées du réseau et apprendre (18) à classer la nouvelle base d'exemples
(Bi) ;
Blc) figer (19) les paramètres de ce nouveau neurone (i) , les états des neurones cachés correspondant à chaque donnée d'entrée de la base d'exemples (B0) constituant une représentation interne de cette donnée d'entrée ;
B2) une validation de la couche de neurones cachés et une détermination du neurone de sortie du réseau.
2. Procédé selon la revendication 1, caractérisé en ce que les représentations internes des entrées de la base d'exemples constituent une base de représentations internes B(i) et en ce que l'étape B2), consiste à :
B2a) introduire un neurone de sortie de type linéaire, connecter (23) ce neurone de sortie aux neurones cachés, apprendre (24) à ce neurone de sortie la classification de la base de représentations internes BRI(i) et déterminer (25) le nombre d'erreurs d'apprentissage du neurone de sortie :
B2b) si ce nombre est nul, considérer que le réseau est construit (28) et comporte une couche de (i) neurones cachés ; B2c) si ce nombre est non nul, considérer les erreurs d' apprentissage du neurone de sortie comme des erreurs du neurone précédent dans l'étape Bla), annihiler (27) ce neurone de sortie et recommencer le traitement à partir de l'étape Bla) jusqu'à ce que le nombre d'erreurs du neurone de sortie soit nul.
3. Procédé selon l'une quelconque des revendications 1 ou 2, dans lequel les entrées du réseau sont binaires, caractérisé en ce qu'il comporte une étape intermédiaire B3), effectuée entre les étapes Bl) et B2) et consistant à :
B3a) déterminer (20) le nombre d'erreurs d'apprentissage du neurone i :
B3b) si ce nombre est non nul, le traitement est réitéré à partir de l'étape Bl) en considérant les erreurs de ce neurone comme des erreurs du neurone précédent pour créer la base d' apprentissage
(Bi) ;
B3c) si ce nombre est nul, considérer la couche de neurones cachés, ainsi construite comme potentiellement acceptable, et effectuer l'étape B2).
4. Procédé selon la revendication 3, caractérisé en ce que les représentations internes des d'entrées de la base d'exemples constituent une base de représentations internes (BRI(i)) et l'étape B2) consiste à :
B2d) introduire (30) un neurone de sortie appelé pseudo-neurone, connecter (31) ce pseudo-neurone à tous les neurones cachés dont les paramètres sont figés, calculer (32) la sortie de ce pseudo-neurone comme étant sensiblement le produit des états des neurones cachés ;
B2e) déterminer (33) si le pseudo-neurone effectue un classement correct de tous les exemples de la base de représentations internes (BRI(i)) : B2f) si c'est le cas, l'apprentissage est considéré comme terminé (34) et le réseau construit comporte une couche de (i) neurones cachés ;
B2g) si ce n'est pas le cas, considérer les erreurs de classification du pseudo-neurone de sortie comme des erreurs du neurone précédent dans l'étape Bla) , annihiler (35) ce pseudo-neurone de sortie et recommencer le traitement à partir de l'étape Bla) jusqu'à ce que le nombre d'erreurs du pseudo-neurone de sortie soit nul.
5. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que le premier neurone choisi à l'étape Aa) est un neurone de type linéaire, les autres neurones étant non linéaires.
6. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que tous les neurones cachés sont de type quadratique.
PCT/FR1997/002060 1996-11-18 1997-11-17 Procede d'apprentissage generant des reseaux de neurones de petites tailles pour la classification de donnees WO1998022883A1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US09/101,464 US6421654B1 (en) 1996-11-18 1997-11-17 Learning method generating small size neurons for data classification
EP97947072A EP0875032B1 (fr) 1996-11-18 1997-11-17 Procede d'apprentissage generant des reseaux de neurones de petites tailles pour la classification de donnees
DE69701852T DE69701852T2 (de) 1996-11-18 1997-11-17 Lernverfahren das für datenklassifizierung kleine neuronale netze generiert

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR96/14022 1996-11-18
FR9614022A FR2756073B1 (fr) 1996-11-18 1996-11-18 Procede d'apprentissage generant des reseaux de neurones de petites tailles pour la classification de donnees

Publications (1)

Publication Number Publication Date
WO1998022883A1 true WO1998022883A1 (fr) 1998-05-28

Family

ID=9497710

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR1997/002060 WO1998022883A1 (fr) 1996-11-18 1997-11-17 Procede d'apprentissage generant des reseaux de neurones de petites tailles pour la classification de donnees

Country Status (5)

Country Link
US (1) US6421654B1 (fr)
EP (1) EP0875032B1 (fr)
DE (1) DE69701852T2 (fr)
FR (1) FR2756073B1 (fr)
WO (1) WO1998022883A1 (fr)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030023575A1 (en) * 2001-04-16 2003-01-30 Vladimir Shlain System and method of automatic object classification by tournament strategy
US7421415B2 (en) * 2004-09-07 2008-09-02 Siemens Corporate Research, Inc. Methods and systems for 3D object detection using learning
US7814038B1 (en) 2007-12-06 2010-10-12 Dominic John Repici Feedback-tolerant method and device producing weight-adjustment factors for pre-synaptic neurons in artificial neural networks
US20090276385A1 (en) * 2008-04-30 2009-11-05 Stanley Hill Artificial-Neural-Networks Training Artificial-Neural-Networks
US9235799B2 (en) * 2011-11-26 2016-01-12 Microsoft Technology Licensing, Llc Discriminative pretraining of deep neural networks
US9477925B2 (en) * 2012-11-20 2016-10-25 Microsoft Technology Licensing, Llc Deep neural networks training for speech and pattern recognition
JP6164639B2 (ja) * 2013-05-23 2017-07-19 国立研究開発法人情報通信研究機構 ディープ・ニューラルネットワークの学習方法、及びコンピュータプログラム
JP5777178B2 (ja) * 2013-11-27 2015-09-09 国立研究開発法人情報通信研究機構 統計的音響モデルの適応方法、統計的音響モデルの適応に適した音響モデルの学習方法、ディープ・ニューラル・ネットワークを構築するためのパラメータを記憶した記憶媒体、及び統計的音響モデルの適応を行なうためのコンピュータプログラム
US10672663B2 (en) 2016-10-07 2020-06-02 Xcelsis Corporation 3D chip sharing power circuit
US10600691B2 (en) 2016-10-07 2020-03-24 Xcelsis Corporation 3D chip sharing power interconnect layer
US10672745B2 (en) 2016-10-07 2020-06-02 Xcelsis Corporation 3D processor
US10607136B2 (en) 2017-08-03 2020-03-31 Xcelsis Corporation Time borrowing between layers of a three dimensional chip stack
US10580735B2 (en) 2016-10-07 2020-03-03 Xcelsis Corporation Stacked IC structure with system level wiring on multiple sides of the IC die
KR102393946B1 (ko) 2016-10-07 2022-05-03 엑셀시스 코포레이션 직접-접합된 네이티브 상호접속부 및 능동 베이스 다이
US10580757B2 (en) 2016-10-07 2020-03-03 Xcelsis Corporation Face-to-face mounted IC dies with orthogonal top interconnect layers
CA3069645A1 (fr) * 2017-08-10 2019-02-14 Mitsubishi Electric Corporation Dispositif et procede d'identification/classification
US11599299B2 (en) 2019-11-19 2023-03-07 Invensas Llc 3D memory circuit
EP4176387A1 (fr) * 2020-07-06 2023-05-10 Huawei Technologies Co., Ltd. Construction de réseaux neuronaux binaires

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0602717A1 (fr) * 1992-12-16 1994-06-22 Laboratoires D'electronique Philips S.A.S. Dispositif neuronal et procédé pour le construire

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0602717A1 (fr) * 1992-12-16 1994-06-22 Laboratoires D'electronique Philips S.A.S. Dispositif neuronal et procédé pour le construire

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
FLETCHER J ET AL: "CONSTRUCTIVELY LEARNING A NEAR-MINIMAL NEURAL NETWORK ARCHITECTURE", INTERNATIONAL CONFERENCE ON NEURAL NETWORKS/ WORLD CONGRESS ON COMPUTATIONAL INTELLIGENCE, ORLANDO, JUNE 27 - 29, 1994, vol. 1, 27 June 1994 (1994-06-27), INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS, pages 204 - 208, XP000510406 *
SETIONO R ET AL: "USE OF A QUASI-NEWTON METHOD IN A FEEDFORWARD NEURAL NETWORK CONSTRUCTION ALGORITHM", IEEE TRANSACTIONS ON NEURAL NETWORKS, vol. 6, no. 1, 1 January 1995 (1995-01-01), pages 273 - 277, XP000483025 *
XIANGUI YU ET AL: "A NEW ALGORITHM FOR TRAINING MULTILAYER FEEDFORWARD NEURAL NETWORKS", PROCEEDINGS OF THE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS (ISCS), CHICAGO, MAY 3 - 6, 1993, vol. 4 OF 4, 3 May 1993 (1993-05-03), INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS, pages 2403 - 2406, XP000379695 *
ZHANG B -T: "AN INCREMENTAL LEARNING ALGORITHM THAT OPTIMIZES NETWORK SIZE AND SAMPLE SIZE IN ONE TRAIL", INTERNATIONAL CONFERENCE ON NEURAL NETWORKS/ WORLD CONGRESS ON COMPUTATIONAL INTELLIGENCE, ORLANDO, JUNE 27 - 29, 1994, vol. 1, 27 June 1994 (1994-06-27), INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS, pages 215 - 220, XP000510407 *

Also Published As

Publication number Publication date
FR2756073A1 (fr) 1998-05-22
US6421654B1 (en) 2002-07-16
EP0875032B1 (fr) 2000-05-03
DE69701852D1 (de) 2000-06-08
EP0875032A1 (fr) 1998-11-04
FR2756073B1 (fr) 1999-01-15
DE69701852T2 (de) 2000-12-07

Similar Documents

Publication Publication Date Title
EP0875032B1 (fr) Procede d&#39;apprentissage generant des reseaux de neurones de petites tailles pour la classification de donnees
EP0446084B1 (fr) Procédé de classification mis en oeuvre dans un réseau de neurones hiérarchisé
EP0521548B1 (fr) Procédé et dispositif avec un réseau neuronal pour classer des données
EP0454535B1 (fr) Système neuronal de classification et procédé de classification utilisant un tel système
EP0514986B1 (fr) Procédé d&#39;apprentissage d&#39;un réseau de neurones et dispositif de classification pour la mise en oeuvre de ce procédé
EP2374075A1 (fr) Procede et systeme pour classifier des donnees issues de base de donnees
Zheng et al. Training data reduction in deep neural networks with partial mutual information based feature selection and correlation matching based active learning
EP3633545A1 (fr) Procedes d&#39;apprentissage de parametres d&#39;un reseau de neurones a convolution, de detection d&#39;elements d&#39;interet visibles dans une image et d&#39;association d&#39;elements d&#39;interet visibles dans une image
EP3633544A1 (fr) Procede d&#39;association d&#39;elements d&#39;interet visibles dans une video
FR2660085A1 (fr) Dispositif de traitement de donnees et procede pour selectionner des mots de donnees contenus dans un dictionnaire.
EP0446974A1 (fr) Procédé de classification mis en oeuvre dans un réseau de neurones en couches pour classification multiclasses et réeseau de neurones en couches selon le procédé
EP3660748A1 (fr) Procédé d&#39;analyse d&#39;un jeu de paramètres d&#39;un réseau de neurones en vue d&#39;obtenir une amélioration technique, par exemple un gain en mémoire
EP0401927A1 (fr) Méthode d&#39;apprentissage, réseau de neurones et ordinateur pour simuler ledit réseau de neurones
EP0929867B1 (fr) Procede d&#39;apprentissage pour la classification de donnees selon deux classes separees par une surface separatrice d&#39;ordre 1 ou 2
EP4099228A1 (fr) Apprentissage automatique sans annotation ameliore par regroupements adaptatifs en ensemble ouvert de classes
EP4006786A1 (fr) Méthode d&#39;apprentissage d&#39;un réseau de neurones pour le rendre robuste aux attaques par exemples contradictoires
WO2020229310A1 (fr) Procédé d&#39;analyse automatique d&#39;images pour reconnaître automatiquement au moins une caractéristique rare
Mathieu M-estimation and Median of Means applied to statistical learning
FR3114180A1 (fr) Système et procédé pour éviter un oubli catastrophique dans un réseau neuronal artificiel
FR3080932A1 (fr) Procede de generation automatique de reseaux de neurones artificiels
Allouche Contributions to generative modeling and dictionary learning: theory and application
OURIACHI Prédiction Criminelle par Réseaux de Neurones
EP3920101A1 (fr) Methode de reduction de la taille d&#39;un reseau de neurones artificiel
WO2021245227A1 (fr) Procédé de génération d&#39;un système d&#39;aide à la décision et systèmes associés
Khaniha Unimodularity in Random Networks: Applications to the Null recurrent Doeblin Graph and Hierarchical Clustering

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE

WWE Wipo information: entry into national phase

Ref document number: 1997947072

Country of ref document: EP

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWP Wipo information: published in national office

Ref document number: 1997947072

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 09101464

Country of ref document: US

WWG Wipo information: grant in national office

Ref document number: 1997947072

Country of ref document: EP