FR 2660085 A1 19910927 FR 9003539 A 19900320 DESCRIPTION TDISPOSITIF DE TRAITEMENT DE DONNEES ET PROCEDE POUR SELECTIONNER DES MOTS DE DONNEES CONTENUS DANS UN DICTIONNAIRE*. L'invention concerne un dispositif de traitement de données pour sélectionner des mots de données contenus dans un dictionnaire qui soient les plus proches d'un mot de données à traiter selon un critère de correspondance. Elle concerne également une méthode de sélection de mots de données contenus dans un dictionnaire. Un tel dispositif et une telle méthode ont des applications dans la compression d'informations ou dans la classification de données. Les méthodes qui sont généralement mises en oeuvre sont basées sur la recherche d'un mot Am qui soit le plus proche d'un mot de données X à traiter Le mot Am appartient à un ensemble M de mots de référence appelé dictionnaire Ces mots Am (ou X) possèdent généralement N composantes A'l (ou Xi) avec i=i, N. La proximité est généralement évaluée par un critère de distance d(Am,X) entre le mot Am et le mot X. Dans le cas o les composantes sont des nombres on peut par exemple prendre la distance euclidienne m N m 2 d(A,X) = E (A X) 1 = 1 1 1 Il faut alors déterminer le mot Ami pour lequel la distance au mot de données X soit minimale Donc pour tout mot Am du dictionnaire on doit avoir d(Am IX) -4 d(Am,X). On peut également déterminer non seulement le mot Ami le plus proche mais également les K mots Am I, Am 2, AMK qui soient les plus proches au regard d'une limite prédéterminée de proximité. Pour déterminer le ou les mots les plus proches, la manière actuellement utilisée consiste à effectuer un calcul complet de toutes les distances d'un mot de données par rapport à tous les mots du dictionnaire puis à rechercher la ou les plus faibles distances par une opération de comparai- son Une telle manière d'opérer permet d'obtenir un résultat sans erreur Mais elle est fortement pénalisée car elle est très coûteuse en temps de calcul principalement pour le calcul de toutes les distances lorsque le dictionnaire renferme beau- coup de mots. Différentes tentatives pour réduire cette durée de calcul ont été proposées mais elles conduisent généralement soit à introduire des erreurs soit à imposer des contraintes au dictionnaire. Parmi de telles tentatives on peut citer l'arti- cle "Delayed-decision binary tree-searched vector quantization for image compressions par CHIA LUNG YEH, SPIE vol 1099, 1989, p 154-158. Ce document propose d'opérer une recherche en ar- bre sur les mots du dictionnaire en examinant à la fois plu- sieurs branches dudit arbre Cette méthode détermine un codage avec peu d'erreurs dans le cas o le nombre de branches exami- nées est grand, ce qui augmente la durée de calcul. Le problème posé consiste donc à sélectionner le ou les mots du dictionnaire qui soient les plus proches d'un mot de données à analyser en réduisant notablement la durée du traitement Ceci doit pouvoir s'effectuer avec un taux d'er- reurs arbitrairement faible. La solution consiste en un dispositif du type énoncé qui comprend: des premiers moyens pour effectuer un maillage de l'espa- ce renfermant l'ensemble des mots de données du dictionnaire, des seconds moyens pour générer pour chaque maille des sous-dictionnaires en mettant en correspondance, selon ledit critère de correspondance, une maille quelconque avec des mots d'un sous-dictionnaire satisfaisant à une correspondance pré- déterminée, des troisièmes moyens pour exploiter les sous-diction- naires en déterminant, pour chaque mot quelconque de données à traiter, la maille à laquelle il appartient, puis en déterminant, selon ledit critère de correspondance parmi les mots du sous-dictionnaire affecté à ladite maille, celui/ceux qui correspond(ent) le mieux audit mot quelconque de données à traiter. La solution peut également être constituée d'un dispositif programmé par exemple un calculateur Dans ce cas le dispositif comprend des moyens programmés pour: effectuer un maillage de l'espace renfermant l'ensemble des mots de données du dictionnaire, générer des sous-dictionnaires pour chaque maille en met- tant en correspondance, selon ledit critère de correspondance, une maille quelconque avec des mots d'un sous-dictionnaire sa- tisfaisant à une correspondance prédéterminée, exploiter les sousdictionnaires en déterminant, pour chaque mot quelconque de données à traiter, la maille à la- quelle il appartient, puis en déterminant, selon ledit critère de correspondance, parmi les mots du sous-dictionnaire affecté à ladite maille, celui/ceux qui correspond(ent) le mieux audit mot quelconque de données à traiter. La répartition du dictionnaire en plusieurs sous- dictionnaires affectés à chaque maille permet ainsi de réduire considérablement la durée du calcul lors de l'examen d'un mot quelconque de données à traiter En intervenant sur les dimensions des mailles et le nombre d'exemples test on peut obtenir arbitrairement un taux d'erreurs petit. Les mots de données du dictionnaire constituent un ensemble qui est partitionné à l'aide d'un maillage de l'espace renfermant cet ensemble Ce maillage peut être formé par des séparateurs Ceux-ci sont préférentiellement détermi- nés selon l'invention par un réseau de neurones Il peut s'a- gir d'un réseau de neurones en couches ou d'un réseau de neu- rones en arbre Mais il est également possible que ces sépara- teurs soient déterminés à partir d'une logique programmée (par exemple un réseau à logique programmée PLA) ou à partir d'une logique combinatoire. Dans le cas préférentiel d'un réseau de neurones la phase de mise en place des séparateurs (donc du maillage) est mise en place lors d'une phase d'apprentissage Lorsque les séparateurs sont construits on a ensuite une phase d'ex- ploitation Les réseaux de neurones sont constitués d'éléments appelés neurones qui réalisent une fonction dans l'espace des entrées. Sous une forme générale on a N V = f ( E C X) j= 1 j j o Xj est la composante d'ordre j de la donnée X, Cj est la composante d'ordre j du vecteur synaptique C, N est la dimension de l'espace des données X, f est une fonction généralement non linéaire. Selon l'invention la fonction f est du type en marches d'escalier c'est-à-dire qu'elle est constante par in- tervalle par exemple f(u)=i pour ai avec ao=, aka 2 Les neurones peuvent être organisés en réseau de neurones en couches ou en arbre. Dans un réseau de neurones en couches, on calcule successivement tous les neurones d'une couche donnée dont les sorties V peuvent constituer les entrées de la couche suivan- te Plusieurs couches successives peuvent aussi être construi- tes. Dans un réseau de neurones il faut distinguer la phase d'apprentissage de la phase d'exploitation La phase d'apprentissage nécessite de calculer tous les états de neuro- nes pour mettre en place les séparateurs et déterminer le nom- bre de neurones nécessaires à la tâche prévue Mais pour un réseau de neurones en arbre lors de la phase d'exploitation on ne calcule plus tous les états de neurones, mais seulement un nombre restreint qui dépend de la valeur de la sortie du neu- rone précédent. La fin de l'étape d'apprentissage apparaît lorsque toutes les couches du réseau de neurones en couches ont été calculées ou lorsque il n'y a plus nécessité de calcu- ler un neurone successeur dans un réseau de neurones en arbre Les états de sortie Vj, j= 1,r prenant un ensemble li- mité de valeurs, on obtient ainsi une partition (maillage) de l'espace des données en un nombre limité de sous-ensembles (maille) Cette partition sera apprise par l'un ou l'autre des réseaux de neurones sous la forme de coefficients synaptiques déterminés Pour cela lors de la phase d'apprentissage on va présenter au réseau de neurones une série d'exemples pour les- quels le résultat en sortie est connu à l'avance Préféren- tiellement les exemples choisis sont les mots du dictionnai- re Mais il est également possible de choisir des exemples de données n'appartenant pas au dictionnaire et pour lesquels on connaît a priori le mot le plus proche du dictionnaire Le problème à apprendre consiste à classer des exemples de données selon le mot du dictionnaire le plus proche De nom- breux algorithmes d'apprentissage ont été développés Ils sont connus de l'homme du métier Il est possible par exemple de se référer à l'article de R P LIPPMAN "An introduction to compu- ting with neural nets' IEEE ASSP Magazine Avril 1987, p 4 à 22. Les mots de données qui sont introduits dans le réseau de neurones peuvent être soit des mots canoniques (non prétraités) soit des mots prétraités Ainsi par exemple dans le traitement d'image les mots de données peuvent définir une caractéristique d'une suite de pixels: luminosité, contras- te, Dans un traitement de signal acoustique les mots de données peuvent être formés de suite d'échantillons relatifs à une caractéristique temporelle, fréquencielle La situation est analogue dans des problèmes de classification de mots de données Des coordonnées canoniques de tels mots de données canoniques peuvent être introduites ex abrupto dans le réseau de neurones Mais il est également possible de considérer la distribution (au sens mathématique) formée par ces mots de données et de prétraiter ces données en fonction des caracté- ristiques propres à ladite distribution de l'ensemble des don- nées relatives au problème à traiter Ainsi par exemple il est possible d'effectuer une analyse en composantes principales de la totalité ou d'une partie de la distribution des mots du dictionnaire et de choisir des axes de coordonnées adaptés à cette distribution pour prétraiter les mots de données et utiliser une coordonnée principale de la distribution Il est possible d'effectuer plusieurs prétraitements des données en effectuant des analyses en composantes principales successives sur des parties de la distribution de données, lesdites parties étant obtenues au fur et à mesure de l'évolution de l'apprentissage. L'analyse en composantes principales est une méthode statistique qui permet de décrire un ensemble de N vecteurs y (points dans un espace à d dimensions) à 4 1 l'aide d'un vecteur moyen ( 1982) p 167. La fonction f peut être fixée pour chaque neurone ou être adaptée en fonction des mots du dictionnaire L'étape d'apprentissage doit permettre de calculer des coefficients synoptiques et de déterminer la/les fonctions f de sorte que chaque partition c'est-à-dire chaque maille déterminée par les sorties des neurones considérés renferme un nombre réduit de mots du dictionnaire. Pour effectuer l'apprentissage il est possible d'utiliser un réseau à L couches et d'examiner une couche in- termédiaire 1 pour l'attribution des mailles Ceci permet d'augmenter le nombre de mailles, car en se rapprochant de la première couche le nombre de mailles effectivement utilisées s'accroit. Lorsque le maillage a été effectué, on détermine les sous-dictionnaires affectés à chaque maille c'est-à-dire pour chaque configuration de sortie du réseau de neurones. Pour cela on construit les sous-dictionnaires en cumulant pour chaque maille les résultats obtenus en présentant une suite d'exemples XP: on choisit un ensemble d'exemples XP à tester pour lesquels on connaît la solution, c'est-à-dire pour lesquels on connaît les K mots les plus proches Am I(P), Am 2 (P),, Am K(P) du dictionnaire; on détermine l'état de sortie du réseau Vj(p), V 2 (p),, Vr(p), ce qui caractérise une maille particulière, pour cha- que exemple XP ce qui défini l'appartenance des exemples XP à ladite maille; on construit le sous-dictionnaire de chaque maille en cu- mulant les mots Aml(P), Am 2 (p),, Am K(P) propres à chaque maille. Ces sous-dictionnaires peuvent être stockés dans des mémoires adressées par les configurations des états de sortie du réseau de neurones. En augmentant le nombre d'exemples de test on di- minue le taux d'erreurs qui apparaît dans la phase d'exploita- tion suivante Ce taux peut ainsi être fixé à une valeur arbi- trairement faible. Le réseau de neurones ayant appris son maillage et les sous-dictionnaires propres à chaque maille étant déter- minés, le réseau de neurones peut alors opérer en phase d'ex- ploitation sur des mots de données à traiter. Pour cela le mot de données X à traiter est in- troduit dans le réseau de neurones qui délivre en sortie une configuration des états de sortie V Vr Cette configura- tion permet de déterminer les mots du sous-dictionnaire perti- nent pour le traitement du mot de données X. Le critère de correspondance est alors déterminé de façon exhaustive sur la totalité des mots de ce sous-dic- tionnaire Aml, Am 2,,Am K afin de calculer la corres- pondance entre le mot de données X à traiter et chacun de mots de ce sous-dictionnaire Cette correspondance peut caractéri- ser une distance ou une similitude. Ainsi avantageusement le calcul de correspondance en phase d'exploitation se limite, pour un mot de données à traiter, à considérer uniquement les mots du sous-dictionnaire dont il relève Aucune contrainte n'est imposée au dictionnai- re. L'invention caractérise également une méthode de sélection de mots de données contenus dans un dictionnaire qui peut être mise en oeuvre par un calculateur programmé en conséquence. La méthode se caractérise par les étapes suivan- tes: une première étape de maillage de l'espace renfermant les mots de données du dictionnaire, une seconde étape de génération de sousdictionnaires comprenant la mise en correspondance, selon une correspondance prédéterminée, de certains mots du dictionnaire avec chaque maille pour former les mots de sous-dictionnaires propres à chaque maille, une troisième étape d'exploitation des sous-dictionnaires en déterminant, pour chaque mot quelconque de données à trai- ter, son appartenance à une maille puis en déterminant, selon ledit critère de correspondance, parmi les mots du sous-dic- tionnaire affecté à ladite maille, celui/ceux qui corres- pond(ent) le mieux audit mot quelconque de données à traiter. Selon un mode subsidiaire de réalisation, il est également possible d'exploiter des dictionnaires préétablis auxquels les mots du dictionnaire sont déjà associés Le ré- seau de neurones sert alors à opérer la sélection du diction- naire approprié Le dispositif selon l'invention comprend dans ce cas un réseau de neurones qui adresse les dictionnaires en fonction de chaque mot de données à traiter et des moyens pour déterminer parmi les mots du dictionnaire adressé, celui/ceux qui correspond(ent) le mieux audit mot quelconque de données à traiter Le réseau de neurones peut avoir une organisation soit en arbre soit en couches. Les applications d'un dispositif ou de la méthode selon l'invention étant dans les domaines de la compression de données pour le traitement d'images ou de signaux acoustiques ou autres, ou dans les domaines de la classification de don- nées, il apparaît un gain appréciable de durée de traitement. Les moyens matériels sont également allégés. L'invention sera mieux comprise à l'aide des figures suivantes données à titre d'exemple non limitatif qui représentent: figure 1: un exemple de maillage de l'espace des données dans une représentation à deux dimensions, figure 2 A: un schéma illustrant la formation du maillage à l'aide d'un réseau de neurones, figure 2 B: un schéma illustrant la génération des sous-dictionnaires, figure 2 C: un schéma illustrant l'exploitation des sous-dictionnaires. La figure 1 représente un exemple de maillage de l'espace des données dans une représentation à deux dimen- sions Au cours de la phase d'apprentissage le réseau de neu- rones va déterminer ses coefficients synaptiques afin de dis- poser des séparateurs 10 à 19 qui vont former ledit maillage. Les mailles vont renfermer un ou plusieurs mots du dictionnai- re par exemple les mots A, B, C, D, E, F. La figure 2 A représente un réseau de neurones 20 qui reçoit sur ses entrées 21 les mots DR du dictionnaire Il délivre sur ses sorties 22 des états de sortie dont les diver- ses configurations vont permettre d'identifier le maillage de l'espace des mots de données d'entrée La fonction du réseau de neurones va être de placer des séparateurs selon les métho- des d'apprentissage connues de l'homme du métier Ainsi par exemple pour l'apprentissage d'un réseau de neurones en cou- ches il est possible d'utiliser la méthode connue de rétropro- pagation de l'erreur qui consiste à présenter en entrée des exemples pour lesquels les résultats en sortie sont connus à l'avance (mot du dictionnaire Ami le plus proche) et à faire rétropropager les erreurs dans le réseau de neurones L'ap- prentissage va consister alors à calculer les coefficients sy- naptiques du réseau de neurones pour que les résultats connus à l'avance soient effectivement obtenus en sortie du réseau de neurones Des informations peuvent être trouvées dans l'arti- cle de R P LIPPMAN, *An introduction to computing with neural netsn IEEE ASSP Magazine Avril 1987 p 4 à 22. Il est également possible d'utiliser des réseaux de neurones en arbre, par exemple ceux décrits dans l'article de R P LIPPMAN, *Pattern classification using neural networks" IEEE COM Magazine Novembre 1989 p 47 à 64 Dans ce cas le réseau de neurones est construit de sorte qu'à la fois O 5 le nombre de neurones et les coefficients synaptiques soient adaptés à la tâche à apprendre L'avantage de l'utilisation d'un réseau de neurones en arbre se situe dans le fait que non seulement le nombre de neurones à utiliser est inférieur au nombre de neurones d'un réseau de neurones en couches mais surtout dans le fait qu'en mode d'exploitation on ne calcule pas tous les états de neurones mais uniquement ceux des bran- ches de l'arbre nécessaires à la tâche concernée. Préférentiellement selon l'invention, l'appren- tissage sera effectué afin que chaque mot de données du dic- tionnaire soit isolé dans une maille Néanmoins une maille peut renfermer plusieurs mots du dictionnaire. Lorsque le maillage est effectué le dispositif doit générer les sousdictionnaires Le schéma de la figure 2 B représente un exemple d'une telle génération Pour cela on u- tilise des exemples de mots de données EX qui sont différents des mots de données du dictionnaire Ces exemples EX ont une répartition aléatoire dans les différentes mailles de l'espace des entrées Ces exemples EX sont introduits dans le réseau de neurones 20 et donnent en sortie des configurations d'états de sortie qui servent à adresser par exemple une mémoire 24 Ces exemples EX et les mots du dictionnaire DR sont introduits dans un élément 25 qui met en oeuvre le critère de correspon- dance Ce critère de correspondance peut déterminer une dis- tance ou une similitude entre deux données C'est par exemple la distance euclidienne: d(DR,EX) = (DR-EX)2 Toutes les distances entre un exemple EX donné et tous les mots DR du dictionnaire sont alors calculées Selon la correspondance prédéterminée désirée, certains mots du dic- tionnaire sont choisis pour former le sous-dictionnaire attri- bué à la configuration des états de sortie (c'est-à-dire à la maille) relative à l'exemple traité Ce sous-dictionnaire est stocké dans la mémoire 24. Cette correspondance prédéterminée peut être la sélection des plus proches voisins ou les plus ressemblants ou une autre affectation. En opérant sur un grand nombre d'exemples, on dispose ainsi de sousdictionnaires affectés à chaque maille qui sont suffisamment nombreux, grâce au nombre de mailles et fournis grâce au nombre d'exemples EX, pour permettre de limi- ter les erreurs en mode d'exploitation Le taux d'erreurs peut être ainsi réduit à une valeur arbitrairement faible en opé- rant avec un nombre d'exemples EX élevé Aucune restriction sur le dictionnaire lui-même n'est imposée. Lorsque les sous-dictionnaires ont été établis, le dispositif peut être exploité pour opérer avec des mots DO de données à traiter (figure 2 C) Ces mots DO de données sont introduits dans le réseau de neurones 20 et fournissent en sortie 22 une configuration d'états de sortie qui adresse la mémoire 24 Celle-ci délivre alors les mots du sous-diction- naire affecté à la maille adressée Un organe 27, qui peut être l'organe 25 déjà décrit, détermine l'état de correspon- dance entre le mot DO de données et les mots du sous-diction- naire adressé Cette détermination est donc opérée sur le nom- bre très limité de mots du sous-dictionnaire ce qui permet un gain appréciable de durée de traitement. Ainsi considérons le mot de données à traiter X situé dans la cellule hachurée de la figure 1 Son sous-dic- tionnaire adressé va comprendre par exemple les mots A, B, C et non pas les mots D, E, F car ils sont trop éloignés de la cellule Le calcul de la correspondance sera donc à réaliser pour ces seuls mots du sous-dictionnaire. Selon le mode de réalisation qui vient d'être présenté le réseau de neurones sert à la fois pour générer les sous-dictionnaires et pour sélectionner chaque sous-diction- naire approprié pour le traitement d'un mot de données en mode d'exploitation Lorsque des dictionnaires sont déjà établis soit parce qu'ils sont déjà identifiés soit parce qu'ils sont déjà déterminés par d'autres approches il est possible de limiter l'invention à l'exploitation représentée par la figure 2 C Le réseau de neurones 20 adresse la mémoire 24 qui délivre les mots du dictionnaire adressé à l'organe de comparaison de correspondance 27 qui détermine le niveau de correspondance entre lesdits mots du dictionnaire adressé et les mots DO de données d'entrée La mémoire 24 peut être formée par tout or- gane adressable permettant de restituer différents dictionnai- res adressés. REVENDICATIONS 1 Dispositif de traitement de données pour sélec- tionner des mots de données contenus dans un dictionnaire qui soient les plus proches d'un mot de données à traiter selon un critère de correspondance caractérisé en ce qu'il comprend des premiers moyens ( 20) pour effectuer un maillage de l'espace renfermant l'ensemble des mots de données du dictionnaire, des seconds moyens ( 24) ( 25) pour générer pour chaque maille des sous-dictionnaires en mettant en correspondance, selon ledit critère de correspondance, une maille quelconque avec des mots d'un sous-dictionnaire satisfaisant à une correspondance prédéterminée, des troisièmes moyens ( 27) pour exploiter les sous-dictionnaires en déterminant, pour chaque mot quelconque de données à traiter, la maille à laquelle il appartient, puis en déterminant, selon ledit critère de correspondance parmi les mots du sous-dictionnaire affecté à ladite maille, celui/ceux qui correspond(ent) le mieux audit mot quelconque de données à traiter. 2 Dispositif de traitement de données pour sélec- tionner des mots de données, contenus dans un dictionnaire, qui soient les plus proches d'un mot de données à traiter selon un critère de correspondance caractérisé en ce qu'il comprend des moyens programmés pour: effectuer ( 20) un maillage de l'espace renfermant l'ensemble des mots de données du dictionnaire, générer ( 24) ( 25) des sousdictionnaires pour chaque maille en mettant en correspondance, selon ledit critère de correspondance, une maille quelconque avec des mots d'un sous-dictionnaire satisfaisant à une correspondance prédéterminée, exploiter ( 27) les sous-dictionnaires en déterminant, pour chaque mot quelconque de données à traiter, la maille à laquelle il appartient, puis en déterminant, selon ledit critère de correspondance, parmi les mots du sous-dictionnaire affecté à ladite maille, celui/ceux qui correspond(ent) le mieux audit mot quelconque de données à traiter. 3 Dispositif selon une des revendications 1 ou 2 caractérisé en ce que le maillage est réalisé à l'aide d'un réseau de neurones. 4 Dispositif selon la revendication 3 caractérisé en ce que le réseau de neurones est un réseau de neurones en couches. Dispositif selon la revendication 3 caractérisé en ce que le réseau de neurones est un réseau de neurones en arbre. 6 Dispositif selon une des revendications 1 ou 2 caractérisé en ce que le maillage est réalisé soit par une logique programmée soit par une logique combinatoire. 7 Dispositif selon une des revendications 1 à 6 caractérisé en ce que les mots de données sont fournis selon au moins une coordonnée canonique d'entrée. 8 Dispositif selon une des revendications 1 à 6 caractérisé en ce que les mots de données sont fournis selon au moins une coordonnée principale déterminée par une analyse en composantes principales de ladite distribution. 9 Dispositif selon une des revendications 1 à 8 caractérisé en ce que ladite correspondance est soit une distance soit une similitude. 10 Dispositif selon la revendication 9 caractérisé en ce que ladite distance est une distance aux plus proches voisins. 11 Méthode de sélection de mots de données contenus dans un dictionnaire qui soient les plus proches d'un mot de données à traiter selon un critère de correspondance caractérisée en ce qu'elle comprend les étapes suivantes une première étape de maillage de l'espace renfermant les mots de données du dictionnaire, une seconde étape de génération de sous-dictionnaires comprenant la mise en correspondance, selon une correspondance prédéterminée, de certains mots du dictionnaire avec chaque maille pour former les mots de sous-dictionnaires propres à chaque maille, une troisième étape d'exploitation des sous-dictionnaires en déterminant pour chaque mot quelconque de données à trai- ter, son appartenance à une maille puis en déterminant, selon ledit critère de correspondance, parmi les mots du sous-dic- tionnaire affecté à ladite maille, celui/ceux qui corres- pond(ent) le mieux audit mot quelconque de données à traiter. 12 Dispositif de traitement de données pour sélec- tionner des mots de données, contenus dans des dictionnaires, qui soient les plus proches d'un mot de données à traiter selon un critère de correspondance caractérisé en ce qu'il comprend au moins un réseau de neurones ( 20) qui adresse les dictionnaires ( 24) en fonction de chaque mot de données à traiter et des moyens ( 27) pour déterminer parmi les mots du dictionnaire adressé, celui/ceux qui correspond(ent) le mieux audit mot quelconque de données à traiter.