Brevet FR2651054A1 — publié le 19910222

SYSTEME DE TRAITEMENT D'INFORMATIONS A RESEAU NEURONAL. L'invention concerne un système de traitement d'informations utilisant un réseau neuronal. On rappelle qu'un réseau neuronal comprend un ensemble de processeurs interconnectés, des entrées et des sorties faites sur tous ou certains des processeurs et un contrôleur destiné à déclencher lesdites entrées et sorties en vue de commander l'évolution du réseau. Dans un réseau neuronal, 11 information à un instant donné est représentée par l'ensemble des états où sont les processeurs à cet instant. Le traitement de l'information est effectué par "relaxation", c'est-à-dire par un processus par lequel le réseau évolue de lui-même, par changement synchrone ou asynchrone de l'état des processeurs, chaque processeur déterminant son état nouveau selon les états des processeurs auxquels il est connecté, pondérés par des coefficients appelés poids ou "force" de la connexion. Etant donné que l'évolution du réseau dépend de l'ensemble des poids des connexions, l'enregistrement d'information (ou la programmation d'un traitement) est effectué de façon dite distribuée, en fixant la valeur de ces poids de connexion. Plusieurs éléments distincts d'information peuvent ainsi être enregistrés, mêlés et en même temps répartis sur l'ensemble des connexions, le mode même de fonctionnement du réseau donnant, lors d'un traitement, la priorité à l'élément le plus pertinent. Pour chaque réseau neuronal, il existe une fonction qui associe à chaque état possible une valeur dite "énergie" ou "potentiel" de cet état. Cette fonction est constituée par la somme des "énergies" locales de çhaque processeur. L'énergie locale d'un processeur ne dépend que de son état, de l'état des processeurs auxquels il est directement connecté, et du poids des connexions qui les relient. Le potentiel d'un processeur est donc localement calculable par ce processeur, parce que toutes les données nécessaires sont disponibles localement. Le réseau évolue de façon à maximaliser ce potentiel. Dans l'espace des états possibles, il chemine en suivant la pente la plus forte jusqu'à arriver à un maximum local de potentiel, l'état final, qui représente la solution, le résultat du traitement. Toutefois, deux problèmes particuliers freinent l'utilisation des réseaux neuronaux : l'évolution durant le traitement vers des états stables parasites, indiscernables pour le réseau des états stables souhaités, et la difficulté de la programmation que l'on appelle également apprentissage. On étudiera ci-après ces deux problèmes 1- Lors de l'utilisation du réseau, celui-ci peut spontanément évoluer vers des états "parasites", qui correspondent à des maxima non voulus de la fonction de potentiel. Cependant, rien dans le réseau ne permet de distinguer que ces états n'ont pas été volontairement enregistrés. Ces états résultent de la structure commune des connexions pondérées, en raison des poids même que l'apprentissage des états non parasites a déterminés.Ces solutions fausses sont donc une caractéristique normale des réseaux neuronaux. Pour les éviter, les chercheurs actuels rendent leur réseau non plus déterministe mais stochastique : le changement d'état de chaque processeur se fait selon une loi qui lui permet de s'extraire des maxima trop locaux de potentiel, pour continuer à évoluer vers un maximum plus global. Cette solution n'est pas satisfaisante, car elle condamne le réseau à une capacité de stockage très limitée, le nombre d'états enregistrables décroissant très rapidement lorsque l'intensité du bruit crott. Un autre problème de fonctionnement des réseaux neuronaux concerne uniquement les réseaux où la mise à jour des processeurs est synchrone : il arrive alors parfois que le réseau oscille autour de l'état final, dans une boucle de quelques états proches de l'état final. Ce problème ne concerne jamais les réseaux à processeurs asynchrones, mais malheureusement ceux-ci sont les moins pratiques à construire. 2- L'apprentissage des réseaux neuronaux se fait selon les diverses méthodes qui dérivent toutes d'une règle unique, dite "règle de Hebb, et qui consiste, pour enregistrer un état donné, à renforcer les connexions entre processeurs de même état local, et à affaiblir les connexions entre processeurs d'états locaux opposés. La variation de la force de connexion est proportionnelle à une constante globale F qui fixe l'intensité de l'apprentissage. Le principal problème lié à l'apprentissage est que l'usage d'une constante p élevée lors de l'apprentissage d'un état supplémentaire rend inopérants les apprentissages déjà effectués. Dans les simulations actuelles, ce problème est évité en prenant p très faible, et l'apprentissage exige alors la présentation, de très nombreuses fois, de l'ensemble des informations à apprendre. Si lton voulait utiliser un réseau neuronal pour stocker une base de données, cette lenteur de mise à jour serait rédhibitoire, de même que la tendance. à "oublier" les informations les plus anciennes. La présente invention vise à remédier à ces deux inconvénients de réseaux neuronaux classiques que sont la reconnaissance erronée d'états parasites et la lenteur de l'apprentissage. Elle concerne un système de traitement de l'information à réseau neuronal du type mentionné au début et qui se caractérise en ce qu'il comprend au moins un collecteur d'informations relié audit réseau neuronal par un p#remier bus de données, et au contrôleur par un second bus de données, ledit collecteur étant chargé,- sous la commande du contrôleur, d'effectuer un traitement d'informations locales émanant. d'au moins certains des processeurs du réseau, en vue d'obtenir une information globale renseignant sur l'état du réseau, cette information globale étant ensuite fournie au contrôleur qui l'exploite et la réintroduit dans le réseau neuronal par un troisième bus des données, de manière à commander l'évolution ultérieur dudit réseau. L'utilisation du collecteur d'informations permet d'éliminer pratiquement le problème des états parasites car il constitue une "signature" de l'état en cours du réseau, cette signature permettant de distinguer les états du réseau. Une signature est une fonction qui ne décrit pas l'information, mais la caractérise, permettant d'identifier un élément d'information. La fonction d'une signature est donc complémentaire de celle du réseau : ce dernier représente les données, les enregistre et les reconnaît, mais il ne peut pas les "nommer". Au contraire, une signature permet d'individualiser un ensemble d'états. Un exemple de signature est le suivant : dans un réseau où l'état des processeurs est binaire, cette signature est la somme des états, affectés d'un coefficient +1 ou -1. Il y a autant de telles signatures possibles que de jeux des coefficients. Pour un réseau de N processeurs, l'enregistrement d'une signature dans le contrôleur central prend'log2(N) bits, très petit devant les N bits significatifs de l'information. Il faut éventuellement enregistrer plusieurs telles signatures, selon la quantité d'informations, car une seule a une probabllitét#-N#de prendre la même valeur pour deux états distincts. En choisissant des jeux de coefficients deux à deux orthogonaux, on peut prendre autant de signatures que l'on veut, et par là même fixer la certitude dans laquelle on sera quant à l'identification des états. Ces signatures données en exemples sont l'archétype de fonctions calculables par le collecteur qui constitue l'invention. D'autre part, grâce au collecteur selon l'invention, on résoud également le problème de l'apprentissage. En effet, le collecteur permet au contrôleur de disposer de la valeur du potentiel d'un état en cours (par agrégation des potentiels locaux) ; il permet en outre de connaître le changement total à chaque instant, par agrégation de la valeur ou des valeurs qui constituent les états locaux. A partir de ces valeurs, il est aisé de~ fixer exactement la valeur de la constante de Hebb, p , pour donner le potentiel voulu à un état qu'on apprend. De plus, des formules d'analyse très classiques permettent de connaître l'influence de l'apprentissage d'un état sur les autres déjà appris, en fonction de leur distance. Notamment, il devient possible de suivre l'évolution du réseau à partir d'un état que l'on veut apprendre, puis de modifier la forme de la fonction de potentiel tout au long du chemin pour créer un maximum local de la force et de la taille souhaitées. Enfin, la constante de Hebb peut être rendue négative de la valeur souhaitée, pour effectuer un contreapprentissage précis qui efface exactement un état parasite, sans altérer la reconnaissance des états volontairement appris. Ce type de contre-apprentissage est déjà pratiqué, mais à l'aveugle. L'invention procure encore de nombreux autres avantages - dans le cadre de réseaux multi-couches, les communications entre une couche et la suivante peuvent être mieux synchronisées, grâce au suivi précis de l'évolution de la première couche que permet la collection d'une information globale, - dans le cadre de réseaux stochastiques, dits " de Bolzman", on sait que le paramètre "température" est fixé et abaissé selon un planning fixé d'avance, sans prendre en compte l'évolution réelle du réseau.L'usage de l'information globale fournie par le collecteur permet de relier la baisse de température à la stabilisation effective du réseau, améliorant ainsi la vitesse et la sécurité de la convergence du réseau, - dans le cadre de réseaux analogues aux réseaux de Bolzman, et dans lesquels chaque processeur disposerait d'une "énergie cinétique", telle que cette énergie varie du changement de potentiel à chaque transition du processeur, cette énergie étant partagée même partiellement lors de chaque communication entre processeurs, et jouant pour le processeur le rôle actuel de la température dans un réseau de Bolzman, le collecteur permet de définir la température comme étant la somme des énergies cinétiques individuelles.Cette notion de température constatée et non plus imposée permet un contrôle plus souple du refroidissement du réseau, par diminution de l'énergie cinétique répartie sur tous ou certains des processeurs, et corrélée à la stabilité du réseau. En résumé, l'invention rend possible l'application de nombreux nouveaux algorithmes, tant pour résoudre les problèmes existants que pour optimiser les performances actuelles ou appliquer des modes de fonctionnement plus souples L'invention sera mieux comprise à la lecture de la description qui va suivre d'un mode de réalisation donné à titre d'exemple non limitatif, en regard des dessins annexés dans lesquels La figure 1 est un schéma-blocs d'un système classique de traitement des informations à réseau neuronal; La figure 2 est un schéma-blocs d'un système de traitement de l'invention selon l'invention ; et La figure 3 représente un exemple de collecteur digital en arbre binaire. Avec référence tout d'abord à la figure 1, le système de traitement d'informations connu comprend un réseau neuronal 10 qui, comme on le sait, est constitué par un ensemble de processeurs interconnectés qui évoluent chacun en fonction de ses voisins. Ces processeurs peuvent être répartis sur une ou plusieurs couches logiques. Le réseau neuronal 10 comprend plusieurs entrées 12 qui peuvent être faites sur tous ou certains des processeurs et qui peuvent être faites une fois (choix de l'état initial des processeurs d'entrée) ou en permanence, et plusieurs sorties 14 qui peuvent également être faites sur tous ou certains processeurs. De façon connue en soi, le système de traitement de l'information comprend en outre un contrôleur 16, qui, le plus souvent, est constitué par un ordinateur classique. Dans les simulations, il peut même s'agir de ltexpérimentateur. Ce contrôleur a plusieurs fonctions dont les principales sont les suivantes 1- Il contrôle le réseau neuronal 10 par le bus de données 17 (fonction 1). Cette fonction consiste à commander toutes les interventions destinées à déclencher ou à arrêter des événements distincts, ainsi que les divers contrôles qui doivent s'exercer sur le réseau durant son évolution, par exemple le déclenchement et l'arrêt de l'évolution du réseau, le déclenchement et l'arrêt d'une phase d'apprentissage, la définition de la valeur- de la constante de Hebb p ; dans les réseaux de Boltzman, la définition de la valeur de la température ; dans les réseaux multicouches, le contrôle des communications d'une couche à l'autre, etc.... De façon générale, le contrôleur permet de cerner des événements. C'est un système d'exploitation externe du réseau neuronal. 2- Il contrôle le moment de l'entrée des données ainsi éventuellement que la durée de cette entrée (fonction 2). 3- I1 contrôle le moment de la sortie des données (fonction 3). Il en résulte que ce qui caractérise le contrôleur d'un réseau neuronal classique, c'est qu'il n'effectue que des opérations de commande du réseau. Il opère à l'aveugle, et ne peut ni se prononcer sur le fond des traitements, ni sty adapter pour les optimiser. La figure 2 représente un système de traitement d'informations selon l'invention. Ce système ne se distingue de celui de la figure 1 que par le fait qu'il comprend en outre au moins un collecteur d'informations 18 qui est relié au réseau neuronal 10 pas un bus de données 20. Les résultats de la collection effectuée par le collecteur sont mis à la disposition du contrôleur 16 par un bus 22. Le collecteur est une structure destinée à additionner ou à agréger des informations délivrées par chaque processeur. Dans le cas d'un réseau neuronal électronique, il peut être digital, et construit en arbre, ou analogique. Le contrôleur 16 est relié au réseau neuronal par un bus de données 17' (fonction 1'). Cette fonction 1' correspond à la fonction 1 décrite à propos de la figure 1, mais ici elle est modifiée par l'utilisation des informations venant du collecteur.Ainsi, la constante de Hebb est modifiée de façon optimale, la température également, et l'état final du réseau est contrôlé et contre-appris s'il s'agit d'un état parasite, pour relancer le traitement. Les processeurs délivrent au collecteur 18 l'information que le contrôleur 16 leur ordonne de délivrer et le collecteur délivre au contrôleur la. somme des informations locales. Selon une variante, le contrôleur indique au collecteur le type de collection qu'il faut faire : par addition, multiplication, "et", ou logique, etc... Dans la figure 2, on n'a représenté qu'un seul collecteur, mais l'invention prévoit que l'on peut en utiliser plusieurs, qui couvrent éventuellement des parties incomplètes du réseau. En particulier, dans le cas de réseaux multicouches, on peut prévoir un collecteur particulier par couche. On décrira à présent, en regard de la figure 3, un exemple de collecteur dans un réseau neuronal. Il s'agit d'un collecteur digital en arbre binaire. On a inclus dans le bloc B, l'ensemble du réseau neuronal 10 et du collecteur 18 de la figure 2 et on garde les memes références pour le contrôleur 16, les bus 20 et 22. Les processeurs sont désignés par la lettre P. Les éléments propres du réseau neuronal ne sont pas repris s'ils ne sont pas reliés au collecteur, par exemple les lignes de commande du contrôleur vers les processeurs et les lignes d'entrée et de sortie des données. Sont également omis de la figure, les éléments classiques d'un circuit électronique, tels que l'alimentation et la ligne du signal d'horloge. Le collecteur est constitué par plusieurs additionneurs 24, notés + et affectés d'un indice 1 à 4 selon leur niveau d'éloignement des processeurs. Le collecteur montré en exemple sur la figure 3 est digital, c'est-à-dire qu'il travaille sur l'expression binaire des données à additionner, et il est disposé en arbre binaire, ce qui permet d'obtenir très rapidement le résultat de la somme (le nombre d'étages étant le logarithme de base 2 du nombre de processeurs), et permet également une architecture modulaire. Dans l'exemple présenté, le collecteur est à priori synchrone, toutes les additions au même niveau étant simultanées. Il peut également être rendu systolique, enfin d'augmenter le nombre de données globales remontées au niveau du contrôleur. L'avantage d'un collecteur en arbre réside dans le fait que pour la réalisation industrielle, les bus de collection ne se croisent pas. Les connexions du collecteur ne nécessitent donc l'usage que d'une seule couche de circuit, ce qui en assure la faisabilité. Il va de soi que de nombreuses modifications de détail peuvent être apportées au mode de réalisation qui vient ad'être décrit. Par exemple - le collecteur peut s'appliquer à tous les types de réseaux neuronaux, qu'ils soient électroniques, optiques ou mécaniques, - le collecteur peut lui même être électronique (digital ou analogique), optique ou mécanique, quel que soit le type de réseau, - le collecteur peut ne recouvrir qu'une partie du réseau, - il peut y avoir plusieurs collecteurs ; en particulier dans les réseaux multicouches, il peut y avoir un collecteur par couche. - dans le cas d'un collecteur électronique digital, il peut sommer les informations en provenance des processeurs par niveaux successifs disposés en arbre. Un tel arbre est de préférence binaire, mais il peut éventuellement etre ternaire, n-aire, etc... - toujours dans le cas d'un collecteur digital, il peut fonctionner de façon synchrone ou asynchrone. S'il est à plusieurs niveaux, il peut être systolique ou non. Ses communications avec les processeurs peuvent se faire de façon synchrone ou asynchrone, et ses communications avec le contrôleur également. - dans le cas d'un collecteur électronique analogique, il peut sommer par mise en commun une quantité électrique quelconque, par exemple, la tension, la charge ou l'intensité, etc... On précise que sont exclus de l'invention, les processeurs s'apparentant à des- collecteurs partiels, s'ils forment une couche faisant partie du réseau, et ne mettant pas à la disposition du contrôleur des informations globales sur lesquelles s'appuient des algorithmes (en particulier, des algorithmes d'ajustement de la constante de Hebb, lors de l'apprentissage ou de l'ajustement de la température lors de ltévolution du réseau). Par exemple, les processeurs d'un "perceptron" décrits dans l'article Principles of Neurodynamics, F.Rosenblatt, Spartan, 1962 dans les couches élevées, sont des collecteurs locaux d'information au même titre que les éléments d'une couche dans un réseau. Leur similitude avec le collecteur proposé vient de la séparation en couches et du sens unique ascendant imposé à la circulation des données. Nais fonctionnellement, ces éléments sont totalement distincts du ou des collecteurs selon l'invention. REVENDICATIONS 1- Système de traitement d'informations de type à réseau neuronal, c'est-à-dire comportant un ensemble de processeurs (P) interconnectés, des entrées (12) et des sorties (14) faites sur tous ou certains des processeurs, et un contrôleur (16) destiné à déclencher lesdites entrées et sorties en vue de commander l'évolution du réseau (10), caractérisé en ce qu'il comprend au moins un collecteur d'informations (18) relié audit réseau neuronal (10) par un premier bus de données (20) et au contrôleur (16) par un second bus de données (22), ledit collecteur étant chargé, sous la commande du contrôleur, d'effectuer un traitement d'informations locales émanant d'au moins certains des processeurs (P) du réseau, en vue d'obtenir une information globale renseignant sur l'état du réseau, cette information globale étant ensuite fournie au contrôleur (16) qui l'exploite et la réintroduit dans le réseau neuronal par un bus de données (1') de manière à commander l'évolution ultérieur dudit réseau. 2- Système de traitement d'informations de type à réseau neuronal selon la revendication 1, caractérise en ce que ledit traitement d'informations locales effectué par le collecteur (18) est de nature variable, et est déterminé en fonction de l'utilisation du réseau, par exemple apprentissage, élimination des états parasites, contre-apprentissage etc... 3- Système de traitement d'informations de type à réseau neuronal selon la revendication 2, caractérisé en ce que ledit traitement d'informations locales sur le collecteur (18) est une opération arithmétique (addition, multiplication) des valeurs d'informations fournies par les processeurs (P). 4- Système de traitement d'informations de type à réseau neuronal selon la revendication 2, caractérisé en ce que ledit traitement d'informations locales sur le collecteur (18) est une opération logique par exemple "et", "ou" sur les valeurs fournies par les processeurs. 5- Système de traitement d'informations de type à réseau neuronal selon la revendication 1, caractérisé en ce que le collecteur (18) est commandé par un algorithme sur contrôleur. 6- Système de traitement d'informations de type à réseau neuronal selon la revendication 1, caractérisé en ce que le collecteur est de nature électronique (digital ou analogiquue), optique ou mécanique. 7- Système de traitement d'informations de type à réseau neuronal selon la revendication 6, caractérisé en ce que dans le cas d'un collecteur électronique digital, le collecteur peut être constitué par des additionneurs (+) capables de sommer les informations en provenance des processeurs (P) par niveaux successifs disposés en arbre binaire, ternaire ou n-aire. 8- Système de traitement d'informations de type à réseau neuronal selon la revendication 6, caractérisé en ce que dans le cas d'un collecteur électronique digital, ce dernier fonctionne de façon synchrone ou asynchrone. 9- Système de traitement d'informations de type à réseau neuronal selon la revendication 6, caractérisé en ce que dans le cas d'un collecteur électronique digital à plusieurs niveaux, ce dernier fonctionne de façon systolique. 10- Système de traitement d'informations de type à réseau neuronal selon la revendication 6, caractérisé en ce que dans le cas d'un collecteur électronique analogique, ce dernier peut sommer une quantité électrique quelconque, par exemple la tension, l'intensité, la charge, etc... 11- Système de traitement d'informations de type à réseau neuronal selon la revendication 1, caractérisé en ce que le collecteur ne traite les informations locales que sur une partie du réseau. 12- Système de traitement d'informations de type à réseau neuronal selon la revendication 1, caractérisé en ce que plusieurs collecteurs peuvent être prévus, et notamment dans les réseaux neuronaux multicouches, un collecteur par couche peut être prévu.