Brevet FR2644606A1 — publié le 19900921

PROCEDE D'OPTIMISATION D'UN CLASS IFIEUR La présente invention concerne un procédé d'optimisation d'un classifieur de signaux en plusieurs classes. Pour classifier des signaux, il est connu de mettre en oeuvre une phase dite phase d'apprentissage. De manière générale, cette phase consiste à configurer un réseau appelé aussi classifieur, qui réalise une fonction effectuant au mieux la classification envisagée en utilisant un ensemble de P signaux, appelé base d'apprentissage, dont on connaît pour chacun l'appartenance à l'une des classes en lesquelles on veut les classifier. Cette fonction fait correspondre à chaque entrée [ Ai3, (donnée par exemple sous forme d'un vecteur de dimension N noté \ Ai > ), un vecteur code l ait correspondant à la classe d'appartenance se trouvant parmi les n classes possibles.On obtient donc la relation suivante å # la sortie du classifieur où les > ; représentent les paramètres dont dépend le classifieur. Cette fonction peut être obtenue en cherchant par exemple à minimiser par rapport aux ); une fonction coût définie par où j dk > représente le vecteur-code idéal ou vecteur-code désiré du lèse signal de la base d'apprentissage appartenant à la classe k. Dans une seconde phase, on teste le réseau ainsi configuré à l'aide d'un second ensemble de signaux, appelé base de généralisation, dont on connaît aussi pour chacun l'appartenance à l'une des catégories de classification. Ceci permet de connaître les performances du réseau face à des signaux inconnus lors de la phase d'apprentissage Le rôle du réseau ou classifieur ainsi obtenu est de donner en sortie un vecteur-code correspondant à la classe d'appartenance de entrée à tester. En général, le codage est réalisé en faisant correspondre aux signaux appartenant à la k-ième classe, un vecteur-code idéal 1dk > tel que | dk > = t-1, -1 ..., -1, +1, -1J, ... -1) (2) où la valeur +1 est à la krième place. Toutefois lorsque lton teste un vecteur-signal à travers le classifieur, le vecteur-code en sortie ne correspond pas exactement au vecteur-code idéal. En conséquence, on fait passer le vecteur-code en sortie du classifieur à travers un étage de décision dont la fonction peut être par exemple d'associer la valeur +1 à la sortie la plus forte et la valeur -1 à toutes les autres sorties. Cet étage de décision applique donc comme critère de décision le critère couramment désigné sous le nom de critère du max. L'invention s'applique aussi à toute autre décision prenant en compte les différences relatives des valeurs de sortie. Ce critère sera appelé critère du max-généralisé Or ce critère de décision n'est pas pris en compte explicitement lors de la configuration du classifieur, c'est-à-dfre lors de l'apprentissage.En effet3 le classifieur est le plus souvent configuré en cherchant à rapprocher les composantes du vecteur-code de sortie i ai > de celles du vecteur-code idéal Idkj > indépendamment les unes des autres, alors que le critère de décision du max-généralisé effectue une comparaison entre ces composantes, c'est-à-dire qutil couple les sorties du classifieur. Le classifieur obtenu dans ce cas présente un certain nombre d'inconvénients. En particulier, un classifieur biaisé tel que #a1 > =f([Ai])=#dki > + &alpha;i#1 > où l'on introduit le vecteur # li > composé de n fois la valeur 1, ( 1 > = (1, 1, ..., 1)) donnera le même critère du max-généralisé que le classifieur idéal a1 > : f ( [Ai] ) = j dk1 > Ainsi, lorsque l'on décale les sorties d'une valeur constante di, le critère du max-généralisé les analyse de la même manière. Toutefois, le coût à l'apprentissage du classifieur biaisé peut être modifié et l'on obtient, pour le coût évoqué précédemment en (1), la valeur suivante et dans ce cas, C n'est surement pas une valeur minimale. Il n'y a donc pas concordance entre le critère de reconnaissance et le coût à l'apprentissage. Cela présente des inconvénients aussi bien au niveau de la vitesse d'apprentissage (car l'on risque de perdre du temps à vouloir rapprocher les sorties de leurs valeurs-cible alors que le critère du max-généralisé est très bon) qu'au niveau de la qualité de la généralisation. La présente invention a donc pour but de remédier à ces inconvénients en intégrant le critère de décision, à savoir le critère du max-généralisé, lors de la phase d'apprentissage du classifieur. En conséquence, la présente invention a pour objet un procédé d'optimisation d'un classifieur en n classes, n étant supérieur ou égal à 2, ledit procédé consistant - lors d'une phase d'apprentissage, à configurer un classifieur qui transforme une entrée L A11 de la base d'apprentissage, appartenant à la k1-ième classe, en un vecteur-code ss ai > correspondant au mieux à un vecteur-code idéal #dki > dont la variable à la krième place est codée par une valeur spécifique, les autres variables étant codées par une valeur unique différente de la valeur spécifique, et - lors d'une phase de test appelée phase de généralisation, à appliquer sur ledit classifieur une entrée à classifier rCil pour la transformer en un vecteur-code ci > , puis à lui associer, à partir des différences relatives de ses coordonnées, un vecteur-code idéal suivant une loi prédéterminée appelée critère du max-généralisé, caractérisé en ce que - lors des deux phases d'apprentissage et de généralisation, l'on transforme systématiquement le vecteur-code t ai > ou #ci ci > , en sortie du classifieur en un vecteur code #a'i > ou j cti > (de même dimension) à l'aide d'une transformation affine T, telle que T j dk > = j dk > et, Tlx > cLJ &alpha; ;# i > + TI y > avec &alpha; un réel non nul et |x > , |y > deux vecteurs-code différents. Selon un mode de réalisation particulier dans le cas d'un codage de type (2), la transformation affine T appliquée au vecteur-code # a > ou # c c > en sortie du classifieur est définie par #c > #T # t c' > = Ml c > + K #1 > (idem pour la > ) où M est une matrice carrée de rang n égale à M = Id - [ i J / n Id étant l'opérateur identité et [1] la matrice constituée uniquement de 1, et K = (2 - n)/n La présente invention consiste donc à rajouter un étage supplémentaire en sortie du réseau ou classifieur qui garde invariants les vecteurs-code idéaux I dk > , qui couple les sorties de la manière désirée et qui interdit l'existence de vecteurs de sortie dont les composantes sont égales à une même constante additive prés.Ainsi, si j c' > est une sortie possible de l'étage supplémentaire, alors j c' > + oU 1 > ne peut pas en être une ( XL étant une constante réelle non nulle quelconque) En revanche, pour un vecteur-code \ c > en sortie du classifieur, ce vecteur-code étant appliqué sur l'étage supplémentaire, la sortie réelle de ce vecteur-code sera indépendante de toutes translations de (c > en c > en tc 11 > . D'autres caractéristiques et avantages de la présente invention apparaîtront à la lecture de la description faite ci-après d'un mode de réalisation avec référence aux dessins ci-annexés dans lesquels - la figure 1 est un schéma de principe pour la mise en oeuvre du procédé, d'un optimiseur de classifieur conforme à la présente invention, configuré dans la phase d'apprentissage - la figure 2 est un schéma de principe de l'optimiseur configuré dans la phase d'utilisation, et - la figure 3 représente de façon plus détaillée un mode de réalisation de l'étage supplémentaire ajouté au classifieur selon la présente invention La présente invention sera décrite en se référant à un dispositif pour la mise en oeuvre d'un procédé de classification en n classes utilisant comme critère de décision un critère du max-généralisé. Conformément à la présente invention, pour pouvoir classifier des entrées en n classes, n étant supérieur ou égal à 2, on commence tout d'abord, dans une phase d'apprentissage, à configurer un réseau appelé classifieur qui transforme une entrée gAi # de la base d'apprentissage, c'est-à-dire une entrée dont on connaît l'appartenance à une classe parmi les n classes, en un vecteur-code t a1 > correspondant au mieux à un vecteur-code idéal | dkl > dont la variable se trouvant à la kième place est codée en général par +1 tandis que les autres variables sont codées par -1. Comme représenté sur la figure 1, le dispositif de classification utilisé lors de l'apprentissage est constitué d'un registre d'entrée 1 dans lequel sont stockées les N variables caractérisant l'entrée [Ai] appartenant à la base d'apprentissage. Les N sorties du registre 1 sont couplées à N entrées d'un réseau ou classifieur constitué par exemple d'un opérateur neuronal 2 dont chaque élement poids r i est modifiable. Cet opérateur donne en sortie un vecteur-code t ai > de dimension n. Conformément à la présente invention, ce vecteur-code a1 > est envoyé sur un étage supplémentaire 3 donnant en sortie le vecteur code |a' > (de dimension n) dont le principe de fonctionnement sera décrit de manière plus détaillée ci-après. Le vecteur-code #a'i > en sortie de cet étage supplémentaire 3 est envoyé de manière connue sur un comparateur 4 qui compare ce vecteur-code l > au vecteur-code désiré \ dk. > stocké dans le registre 5. Le comparateur envoie sur le réseau 2 un signal de manière à modifier les éléments poids pour que le vecteur-code # # a'i > corresponde au mieux au vecteur-code désiré #dki > . Lors de cette phase d'apprentissage, les éléments poids se modifient légèrement dans le sens qui améliore la fonction de coût correspondant au signal présenté. Lors de l'utilisation, une entrée rCil à N variables est stockée dans le- registre 1 et est appliquée sur le classifieur 2. I1 donne en sortie un vecteur-code ci > de dimension n. Conformément à la présente invention, ce vecteur-code c1 > est appliqué sur l'étage supplémentaire et donne un vecteur c'1 > de dimension n.Le critère de décision, à savoir un critère de max-généralisé, qui affecte par exemple dans sa forme la plus simple, la valeur +1 à la variable de #c'i > ayant la plus grande valeur et la valeur -1 aux autres variables de ss c'i > est réalisé dans la cellule de décision 7 qui donne en sortie le numéro de la classe correspondant en fait au vecteur-code idéal le plus proche de la sortie #c'i > . Conformément à la présente invention, aussi bien lors de la phase d'apprentissage que de la phase de généralisation ou de test, le vecteur-code en sortie du classifieur est appliqué sur un étage supplémentaire qui sera décrit ei-après. Cet étage supplémentaire permet de réaliser une transformation affine du vecteur-code Ici > ou #ai > en sortie du classifieur. Cette transformation affine est telle que ci > ##c'i > = M#ci > + K#1 > où la matrice M et la valeur K sont choisies de telle sorte que M j dk > + K# # 1 > = l dk > pour tous les vecteurs-codes idéaux (ainsi les vecteurs codes idéaux sont inchangés) et M j x > # M l y > + o4 i 1 > , si 1 x > = ly > et si o est un réel non nul (il n'y a donc pas d'ambiguité pour le critère du max-généralisé). Dans le cas de vecteurs idéaux de type (2), ceci donne pour l'opérateur M une matrice carrée de dimension n x n, égale à M = Id - i i ] I n où Id est l'opérateur identité et iii est la matrice constituée totalement de 1, et K = (2 - n)/n. On obtient donc, de manière plus spécifique, la matrice M ci-après (1 - 1/n) - I/n - 1/n - I/n - 1/n (1 - I/n ) - 1/n - 1/n - I/n M - 1/n - 1/n - 1/n (1- 1/n) M est la projection orthogonale sur ltespace orthogonal au vecteur 1 > = (1, 1, ..., 1) déquation = 0 ( est le produit scalaire de \ i > par . x > Suite à la définition de la transformation affine T, I'opération c > #t c' laisse invariant les vecteurs-code idéaux. De plus la somme des valeurs de sortie est constante (égale à 2 - n). Ainsi, on ne peut plus se trouver dans le cas d'entrée à tester qui donnent les mêmes sorties à une constante additive près non nulle. D'autre part1 un autre avantage de l'invention réside dans le fait qu'au niveau du vecteur-code ci > en sortie du classifieur, toute translation c > # c &alpha; 1 > , laisse la sortie de l'étage supplémentaire . c' > invariante et en conséquence laisse invariant le critère du coût à l'apprentissage. En effet c'&alpha; > = M c > + &alpha; M 1 > + K 1 > = M c > + K 1 > = c' car m 1 > = 0 > (1 0 > le vecteur nul). D'autre part1 la transformation affine T proposée présente l'avantage de laisser invariantes les différences relatives des composantes des vecteurs-code | c > en sortie du classifieur et ss c' > en sortie de l'étage supplémentaire : cu - cv = c'u - c'v. Ainsi de critère du max-généralisé donne la même classe au niveau du vecteur-code c > en sortie du classifieur qu'au niveau du vecteur-code l c' > en sortie de l'étage supplémentaire. Cet étage supplémentaire utilisé aussi bien lors de l'apprentissage que lors de la généralisation ne modifie pas l'architecture du système et ne demande aucune modification ni des valeurs de codage, ni du module de décision du max-généralisé, ni du processus de configuration du classifieur. Cet étage supplémentaire peut être réalisé comme représenté sur la figure 3 qui se réfère au cas où n = 3. Comme représenté sur la figure 3, le vecteur-code t c > de dimension 3 peut être représenté par des variables cl, c2, c3. Conformément à la présente invention, l'étage supplémentaire adjoint au classifieur 2 est constitué, dans le cas de trois classes, par trois multiplicateurs 10, 10', 10" par la valeur (1 - l/n) et par trois multiplicateurs 11, 11' et 11" par la valeur (- 1/n), ces multiplicateurs pouvant être réalisés par des conductances dans le cas d'une implantation électronique. D'autre part, il comporte trois additionneurs 12, 12', 12" et une source 13 envoyant la valeur constante (2/n - 1). On obtient en sortie de cet étage supplémentaire un vecteur-code \ c' > constitué des trois valeurs c'i, c'2, c'3. Conformément à la transformation affine T réalisée dans cet étage supplémentaire, la variable cl est envoyée respectivement sur le multiplicateur 10 et le multiplicateur 11. Les variables c2 et c3 sont envoyées respectivement l'une sur les multiplicateurs 10' et 11' et l'autre sur les multiplicateurs 10" et il". D'autre part, la sortie du multiplicateur 10 est envoyée sur le sommateur 12 qui reçoit aussi les sorties des multiplicateurs 11' et 11" ainsi que la valeur issue de la source 13. Le sommateur 12 donne en sortie la variable c'l, de même le rommateur 12' reçoit en entrée la sortie des multiplicateurs 10', 11, 11" et de la source 13 dont elle fait l'addition et donne en sortie la variable c'2. D'autre part, l'additionneur 12" reçoit sur son entrée les valeurs issues des multiplicateurs 10", 11' et 11 ainsi que de la source 13 qu'elle additionne et donne en sortie la variable c'3. n correspond au nombre de classes du problème traité. D'autre part, le présent exemple de réalisation a été donné en se référant à un nombre de classes de trois, il est évident pour l'homme de l'art que ce nombre de classes peut être quelconque. De plus, on a parlé d'une réalisation analogique pour cet étage supplémentaire, toutefois il est évident pour l'homme de l'sort que cet étage pourrait être réalisé de nombreuses autres manières, notamment à l'aide- d'un microprocesseur ou d'une réalisation en numérique. REVENDICATIONS 1. Procédé d'optimisation d'un classifieur en n classes, n étant supérieur ou égal à deux, ledit procédé consistant - lors d'une phase d'apprentissage à configurer un classifieur qui transforme une entrée [Ai] de la base d'apprentissage, appartenant à la k1-ième classe en un vecteur-code a1 > correspondant au mieux à un vecteur-code idéal # # dki > dont la variable à la ki-ième place est codée par une valeur spécifique, les autres variables étant codées par une valeur unique différente de la valeur spécifique, et - lors d'une phase de test appelée phase de généralisation, à appliquer sur ledit classifieur une entrée à classifier r 1 pour la transformer en un vecteur-code J c1 > , puis à lui associer à partir des différences relatives de ses coordonnées un vecteur-code idéal suivant une loi prédéterminée appelée critère du max-généralisé, caractérisé en ce que - lors des deux phases d'apprentissage et de généralisation, l'on transforme systématiquement le vecteur-code c1 ci > (cl, c2, c3) en sortie du classifieur en un vecteur code j c'i > (c1', c2', c3') à l'aide d'une transformation affine T, telle que T#dk > = idk > et T #x > $4 j i > + Tel y > avec 2 un réel non nul, # x x > et y > deux vecteurs-code différents. 2. Procédé selon la revendication 1, caractérisé en ce que la transformation affine T, appliquée au vecteur-code j c > en sortie du classifleur est définie par c > T# c' > = M c > + K 1 > où M est une matrice carrée de rang n égals à M = Id Id étant l'opérateur identité et [1] la matrice constituée uniquement de I et, K = (2 - n)/n et 1 > = (1, 1, ..., 1).