Brevet FR2681710A1 — publié le 19930326

CALCULATEUR NEURONAL La présente invention se rapporte à un calculateur neuronal. Les calculateurs à structure neuromimétique, plus communément connus sous la dénomination de calculateurs neuronaux, sont généralement réalisé en couches (ou plans). Chaque "neurone" est relié à tous les neurones (ou à une partie seulement) des plans adjacents amont et aval, mais pas à ceux du même plan. Cette structure est à rapprocher de celle du cerveau, où la notion de plan n'existe cependant pas. Une telle structure est actuellement choisie pour des raisons de technologie, et surtout pour réduire les difficultés de programmation des calculateurs (difficultés de mise en oeuvre des algorithmes utilisés). Les réalisations actuelles de calculateurs neuronaux se heurtent à deux grandes difficultés: 1) difficultés technologiques dues à des problèmes de connectique. L'appellation de "machines connexionnistes" également utilisée pour désigner ces calculateurs met bien en évidence cette contrainte qui limite la puissance de calcul 2) difficultés mathématiques liées à la détermination d'algorithmes de convergence. Pour réduire ces difficultés, on peut mettre en oeuvre l'apprentissage par rétropropagation des corrections, qui procure dans certains cas de bons résultats, mais soulève des problèmes de connectique et augmente le temps de calcul. La présente invention a pour objet un calculateur neuromimétique comportant simultanément toutes les connexions nécessaires pour effectuer les calculs, avec une puissance de calcul supérieure à celle des calculateurs actuels, en un temps le plus court possible, tout en utilisant des éléments de technologies courantes. Le calculateur neuronal à plusieurs couches de l'invention est caractérisé par des liaisons inter-couches effectuées par diffusion ("technique broadcast"), des moyens analogiques de pondération de chacun des neurones de chaque couche, et des moyens numériques de gestion des couches d'entrée-sortie et de gestion des pondérations. Selon un mode de réalisation, les moyens de pondération sont principalement optiques. Selon un autre mode de réalisation, les moyens de pondération sont des moyens électroniques numériques. L'invention sera mieux comprise à la lecture de la description détaillée de plusieurs modes de réalisation, pris à titre d'exemples non limitatifs et illustrés par le dessin annexé, sur lequel: - la figure 1 est une vue partielle simplifiée en perspective d'un calculateur neuronal conforme à l'invention; - la figure 2 est une vue partielle et schématique d'un dispositif de pondération optique pouvant être utilisé dans le calculateur de la figure 1, - la figure 3 est une vue partielle et simplifiée d'un dispositif de pondération électronique pouvant être utilisé dans le calculateur de la figure 1 - la figure 4 est un schéma simplifié d'un circuit de pondération séquentielle pouvant être utilisé dans le calculateur de la figure 1 - la figure 5 est un schéma simplifié d'un circuit d'émission de lumière pouvant être utilisé dans le calculateur de la figure 1 - la figure 6 est un schéma simplifié d'un circuit de filtrage optique anti-"speckle" pouvant être utilisé dans le calculateur de la figure 1 - la figure 7 est un schéma simplifié d'un circuit de pondération optique pouvant être utilisé dans le calculateur de la figure i ; - la figure 8 est un schéma simplifié d'un circuit de pondération électronique pouvant être utilisé dans le calculateur de la figure 1. L'invention est décrite ci-dessous en référence à une liaison inter-étages d'un calculateur neuronal, mais il est bien entendu qu'elle peut s'appliquer à toutes les liaisons inter-étages. Le fonctionnement en rétropropagation pour l'apprentissage s'effectue d'une façon implicite, par bouclage extérieur, les cellules étant unidirectionnelles. On a représenté en figure 1, de façon partielle, deux plans (ou "couches") l, 2, parmi plusieurs plans constituant un calculateur neuronal, ces deux plans formant un étage de calcul 3. Le plan 1 est le plan d'entrée de l'étage 3 (et il est en même temps le plan de sortie de l'étage précédent, non représenté). Le plan 2 est le plan de sortie de l'étage 3 (et en même temps le plan d'entrée de l'étage suivant, non représenté non plus). Les pondérations nécessaires sont réalisées au niveau de chaque plan, de façon expliquée plus en détail ci-dessous. Le plan d'entrée 1 est constitué d'une matrice d'éléments émetteurs de lumière 4 (diodes laser ou électroluminescentes) disposés par exemple selon une configuration cartésienne. Chacun des éléments 4 constitue un "pixel" du plan 1, et chacun d'eux est précédé d'un modulateur 5 qui module le signal incident relatif à ce "pixel" et provenant de l'étage précédent. Le plan 2 est constitué d'une matrice de cellules 6 de calcul (similaires aux "neurones" des calculateurs classiques, avec des synapses de pondération et des moyens de sommation). Chaque cellule 6 est elle-même constituée d'une matrice de photocapteurs 7 (photodiodes par exemple), dont le nombre est avantageusement égal au nombre d'éléments 4 du plan 1. Devant chaque cellule 6, on place un dispositif optique 8 qui fait l'image de la matrice d'entrée (éléments 4) sur cette cellule 6. Chacun des photocapteurs 7 est suivi d'un circuit électronique de pondération 9, équivalent d'un synapse. Tous les circuits de pondération 9 relatifs à une cellule 6 sont reliés à un circuit 10 d'addition. On obtient ainsi à la sortie de chaque circuit 10 un signal S de la forme avec n = nombre de photocapteurs de chaque cellule 6 et pi pondération de chaque photocapteur. Ce signal S est le même que celui qui serait produit par un neurone classique. Les différentes cellules 6 sont commandées de façon à sélectionner sur la matrice du plan 1 une forme classifiable ou configuration ("pattern" en anglais) spécifique à chacune de ces cellules. Le choix de cette configuration peut être fait une fois pour toutes ou peut être reprogrammé, de façon connue en soi, en agissant sur les circuits 9 de pondération. Ainsi, à un instant donné, il y a au maximum autant de formes classifiables que de cellules 6. On a représenté en figure 2 un dispositif de pondération optique, plus particulièrement approprié au cas où la fonction de calcul à réaliser est immuable, par exemple une analyse de spectre. Selon la figure 2, on place devant chaque cellule 6 un filtre optique 1i dont le motif et/ou la transparence sont choisis, différemment pour chaque filtre, en fonction du genre de calcul à effectuer. Bien entendu, si l'on dispose de filtres optiques, dont on peut faire varier suffisamment rapidement les propriétés optiques, il est possible d'adapter les cellules du calculateur à différentes formes classifiables. Le mode de réalisation de la figure 3 est particulièrement intéressant lorsque la fonction des pondérations mises en oeuvre doit être modifiée rapidement, pour obtenir une adaptativité fidèle du calculateur, ou pour pouvoir le reconfigurer rapidement et selon un grand nombre de configurations. Selon cette figure 3, les photodétecteurs de chaque cellule 6 sont reliés à un circuit de pondération 12, chaque circuit 12 étant commun à tous les photodétecteurs d'une cellule 6 correspondante. Les différents circuits de pondération 12 sont reliés à un additionneur 10. Dans le détail, chaque circuit de pondération 12 comporte un amplificateur 13 de lecture de charge relié à un élément photodétecteur, suivi d'un amplificateur 14 faible bruit pour transformer le signal de sortie de l'amplificateur 13 et l'adapter en tension et en impédance au pondérateur numérique 15 qui lui fait suite. Le pondérateur 15 est suivi d'une mémoire numérique 16. On a représenté en figure 4 le schéma simplifié d'un circuit de pondération séquentielle nécessitant dans le cas présent mille fois moins de composants analogiques et pouvant être avantageusement utilisé dans le calculateur de l'invention, à la place des éléments 13 à 16 et permettant ainsi une intégration totale avec les technologies actuellement disponibles. Chaque élément photodétecteur 171 est suivi d'un transistor 18i, par exemple du type à effet de champ. La grille de chaque transistor 18i est reliée à une mémoire 191 de pondération (avec i valant de 1 à n, n étant le nombre d'éléments photodétecteurs d'une cellule 6). Chaque mémoire individuelle 191 comporte la configuration de coefficients de k pondération (définis sur k+1 bits, de 20 à 2k) nécessaire pour effectuer le calcul de la fonction de pondération choisie. Toutes les électrodes de sortie des transistors 18i sont reliées en commun à un circuit 20 comprenant un amplificateur de lecture de charge et un amplificateur à faible bruit d'adaptation de niveau et d'impédance, et effectuant la sommation des charges. La sortie du circuit 20 est reliée à l'entrée série d'un circuit 21 de multiplication séquentielle de signaux analogiques (reçus du circuit 20) par des coefficients de pondération numériques 20 à 2k et accumulant les résultats partiels (accumulation analogique). Un dispositif séquenceur (non représenté) interroge (active) successivement les entrées d'adressage de même poids (20, puis 21, ... jusqu'à 2k) des mémoires 191 et du registre 21. A chaque interrogation toutes les cellules 6 sont illuminées par les photoémetteurs du plan 1, et tous les éléments photorécepteurs dont la mémoire 191 contient le bit de poids correspondant transmettent leur charge à l'amplificateur 20 (puisque le transistor correspondant 181 est rendu passant par la mémoire 19i correspondante). Le circuit 21 assure la k multiplication finale par le coefficient 2k correspondant et l'accumulation des résultats partiels. On notera qu'après chaque illumination des cellules 6, tous leurs éléments sont remis à zéro afin d'être tous dans le même état pour l'illumination suivante, qu'ils aient été lus (transistor 18i rendu passant) ou non. Du côté du plan 1 d'émission, la quantité de lumière émise par chaque source (éléments émetteurs 4) représente l'information à traiter. Etant donné que les photocapteurs (7) fournissent un courant proportionnel au nombre de photons reçus, il est indispensable de contrôler le nombre de photons émis par les sources pour pouvoir respecter cette proportionnalité. Il est d'autre part nécessaire de répartir uniformément, ou tout au moins équitablement (selon une loi de répartition connue), la lumière entre toutes les cellules du plan 2. I1 est possible de modifier les pondérations (au niveau des mémoires 19i) pour corriger une non-uniformité, telle que la loi en cosinus de répartition lumineuse sur les cellules, mais il est impensable de tolérer le phénomène dit de "speckle" (se traduisant généralement par des scintillations) se manifestant en particulier avec des émetteurs de lumière à laser, et modifiant fortement la répartition d'énergie lumineuse sur les différents photocapteurs, à une fréquence spatiale élevée et d'une façon peu stable car elle dépend de la cohérence de la source. On a représenté en figure 5 le détafl d'un circuit de régulation d'émission d'une source à diode électro luminescente. Les diodes utilisées ont, de préférence, un spectre d'émission suffisamment large pour que le nombre important de raies "lisse" l'illumination. Le signal d'émission S est envoyé à une entrée d'un comparateur 22 dont la sortie est reliée au modulateur 23 d'une diode électroluminescente 4A. Une optique 24 d'élargissement de faisceau est placée devant la diode 4A. On dispose un miroir semi-transparent 25 entre la diode 4A et l'optique 24. Le miroir 25 renvoie une partie du faisceau émis par le diode 4A via une optique de focalisation 26 sur une diode photo-réceptive 27 (semblable aux diodes des cellules 6). La diode 27 est suivie d'un amplificateur d'intégration 28 dont la sortie est reliée à la deuxième entrée du comparateur 22. La diode 27, qui capte une partie de la lumière émise par la diode 4A, fournit un courant sensiblement proportionnel au nombre de photons émis par la diode 4A. Lorsque ce nombre de photons est égal (à un facteur de proportionnalité constant près) au signal S, le comparateur 22 commande au modulateur 23 d'arrêter l'émission de la diode 4A. Ainsi, on a l'assurance que le nombre de photons émis par la diode 4A est pratiquement proportionnel au signal S. Cette solution à diode électroluminescente est plus économique que la solution à laser décrite ci-dessous en référence à la figure 6. Pour réduire la fréquence maximum de modulation (qui est fonction de la raideur du front d'arrêt de l'émission de la diode 4A), on peut commencer à diminuer la puissance émise lorsqu'on approche de I'instant d'arrêt de cette émission. Le mode de réalisation schématiquement représenté en figure 6 fait appel à un emetteur laser 4B, suivi d'un filtre optique monomode 29 assurant la pureté de l'onde émise, et d'une optique 30 d'élargissement de faisceau. Comme dans le cas du mode de réalisation de la figure 5, le signal S est envoyé sur une entrée d'un comparateur 31 suivi du modulateur 32 de l'émetteur 4fil. Un miroir semi-transparent 33 est interposé entre le filtre 29 et l'optique 30. Ce miroir 33 dévie une partie du faisceau sortant du filtre 29 vers une diode réceptrice 34 suivie d'un amplificateur d'intégration 35 dont la sortie est reliée à la deuxième entrée du comparateur 31. Le fonctionnement de ce circuit est similaire à celui du circuit de la figure 5. I1 est particulièrement approprié au filtrage optique anti-"speckle". Bien entendu, les signaux d'entrée des plans (ou couches) du calculateur, de même que les coefficients de pondération, peuvent être positifs ou négatifs. I1 serait, en principe, possible d'introduire des biais pour en tenir compte. Cependant, une telle solution outre la perte de dynamique de 1 ou 2 bits (1 seul ou 2 biais), entraînerait des difficultés de réalisation, en particulier dans le cas de la pondération électronique : impossibilité de sommation des courants des photodiodes sans compensation de courant, non symétrie des transferts, risques d'instabilité ... Selon la présente invention, la pondération peut être effectuée optiquement (figure 7) ou électroniquement (figure 8), pour tenir compte du signe. Le mode de réalisation de la figure 7 représente, de façon simplifiée, deux sources de lumière 36, 37. Ces sources sont, en fait, doublées : chacun des modulateurs 38, 39 est relié à deux éléments émetteurs : 40, 41 pour la source 36 et 42, 43 pour la source 37. Selon que le signal est positif ou négatif, c'est l'un ou l'autre des éléments qui est modulé, l'autre restant au repos. Du côté réception, chaque pixel est constitué de quatre photocapteurs. Ainsi, les pixels 44 et 45 comportent respectivement les photocapteurs 46 à 49 et 50 à 53. Des dispositifs optiques (non représentés sur la figure 7, et similaires aux dispositifs optiques 8 de la figure 1), font l'image, pour chaque pixel (44, 45), d'une des deux sources (40 ou 41) sur une paire de photocapteurs (46, 47 par exemple), et de l'autre source sur la deuxième paire de photocapteurs (48, 49). Les photocourants fournis par les quatre photocapteurs de chaque pixel sont collectés par deux électrodes de sommation S+ et S-. La différence des courants recueillis sur S+ et Sconstitue le signal de sortie du plan de photocapteurs considéré. Devant chaque photocapteur, on dispose un filtre optique de pondération (filtres 54 à 61 pour les photocapteurs 46 à 53 respectivement). Les pondérations optiques positives sont réalisées par atténuation des faisceaux lumineux reçus par les photocapteurs reliés à S+ (tels que 46, 49 et 50, 53) et extinction totale des faisceaux sur les photocapteurs reliés à S- (tels que 47, 48 et 51, 52), et inversement pour les pondérations négatives. La figure 8 se rapporte au cas de la pondération électronique. Comme pour le mode de réalisation de la figure 7, chaque source de lumière (62, 63) est doublée (éléments émetteurs 64 à 67), et alimentée par un modulateur (68, 69). Chaque pixel (70, 71) comporte quatre photocapteurs (72 à 75 et 76 à 79). Chacun des photocapteurs est relié à la source d'un transistor à effet de champ (respectivement 80 à 87) des dispositifs optiques semblables à ceux mentionnés en référence à la figure 7, sont disposés devant chaque cellule de photocapteurs. Pour chaque pixel, les drains de deux des transistors (80, 82 et 84, 86) sont reliés à une électrode de sommation S+, et les drains des deux autres transistors (81, 83 et 85, 87) sont reliés à une autre électrode de sommation S-. Pour chaque pixel, une mémoire de pondération (88, 89) est reliée via un commutateur de signe (90, 91) aux grilles des transistors relatifs à ce pixel de la façon suivante. Chaque commutateur comporte deux sorties pour la pondération positive et deux sorties pour la pondération négative. Les sorties de pondération d'un même signe sont reliées à la grille d'un transistor relié à Sc et à la grille d'un transistor relié à S-. Ainsi, si l'on appelle i et i les courants de photocapteurs pondérés positivement et négativement, on recueille pour chaque pixel sur S+ : (+ i+) + (- i ) = 2i et sur S- : (+ i ) + (- i+) = -2i Les opérations subséquentes sont les mêmes que pour les modes de réalisation décrits ci-dessus. Ainsi, le calculateur de structure neuronale de l'invention utilise au mieux les possibilités offertes par les moyens optiques pour assurer les liaisons entre tous les points d'entrée et tous les points de sortie d'une couche de calcul. Il fait appel aux techniques analogiques pour la pondération simultanée de tous les points de sortie, et aux techniques numériques pour gérer ces pondérations, ainsi que le fonctionnement général des entrées et des sorties. REVENDICATIONS 1. Calculateur neuronal à plusieurs couches, caractérisé par le fait qu'il comporte des liaisons inter-couches effectuées par diffusion optique "broadcast" (4) par éléments photo-émetteurs (4) et éléments photo-récepteurs (7), des moyens de pondération (9, 11, 12, 21) de chacun des neurones de chaque couche, et des moyens numériques de gestion des couches d'entrée-sortie et de gestion de pondération (19i, 21, 90, 91, 88, 89). 2. Calculateur neuronal selon la revendication 1, caractérisé par le fait que les moyens de pondération sont principalement optiques (11). 3. Calculateur neuronal selon la revendication 2, caractérisé par le fait que les moyens de pondération comportent des filtres optiques dont le motif et/ou la transparence sont fonction du genre de calcul à effectuer. 4. Calculateur neuronal selon la revendication 1, caractérisé par le fait que les moyens de pondération sont principalement électroniques. 5. Calculateur neuronal selon la revendication 4, caractérisé par le fait que les moyens de pondération comportent des circuits d'amplification (13, 14) de lecture de charges et d'adaptation, des dispositifs numériques de pondération (15) et des mémoires numériques (16). 6. Calculateur neuronal selon la revendication 4, caractérisé par le fait que les moyens de pondération comportent un transistor (18i) relié à chaque élément photo-récepteur et dont l'électrode de commande est reliée à une mémoire de pondération (191), les transistors étant reliés à un dispositif commun de lecture de charges et d'adaptation (20) suivi d'un dispositif (21) de multiplication séquentielle de signaux analogiques par des coefficients de pondération numériques, et d'accumulation. 7. Calculateur neuronal selon l'une des revendications précédentes avec prise en compte du signe des calculs des pondérations, caractérisé par le fait que chacun des éléments photoémetteurs (40 à 43, 64 à 67) est doublé, et que chaque "pixel" de réception comporte quatre photocapteurs (46 à 53, 72 à 79). 8. Calculateur neuronal selon la revendication 7, caractérisé par le fait que la pondération est réalisée par des moyens optiques (54 à 61) dont une moitié est prévue pour une pondération négative (55, 56, 59, 61) et l'autre moitié pour une pondération positive (54, 57, 58, 60), les photocapteurs correspondants étant reliés à une électrode négative (S-) et à une électrode positive (S+) respectivement. 9. Calculateur neuronal selon la revendication 7, caractérisé par le fait que la pondération est effectuée par des moyens électroniques, une moitié des photocapteurs étant reliée par des transistors (81, 83, 85, 87) à une électrode négative (S-) > et l'autre moitié étant reliée par des transistors (80, 82, 84, 86) à une électrode positive (S+), les électrodes de commande des transistors étant reliées à des commutateurs de signe (90, 91) reliés à des mémoires de pondération (88, 89). 10. Calculateur neuronal selon l'une des revendications précédentes, caractérisé par le fait que chaque photoémetteur est relié à un comparateur (22) recevant le signal (S) de modulation du photoémetteur et un signaI sensiblement proportionnel au flux lumineux du photoémetteur (25 à 28 ou 33 à 35).