FR 2644264 A1 19900914 FR 8903151 A 19890310 RESEAU NEURONAL ANALOGIQUE PROGRAMMABLE La présente invention concerne un réseau neuronal analogique programmable. Les réseaux neuronaux désignent/ dans les techniques développées dans le domaine de l'lntelligence artificielle, des circuits électriques capables de réaliser des transformations sur des vecteurs ayant un nombre élevé de composantes. De nombreux exemples de réalisation de ces circuits sont connus: citons, par exemple, la description du principe dans l'article de J.J. Hopfield et D.W. Tank intitulé "Neural computation of decision in optimization problems", publié dans la revue Blological Cybernetics 52, pp 141 à 152 (1985) ou encore l'article de H. Graf et P. de Vegvar "a CMOS Associative memory chip based on Neural Networks" publiés dans les proceedings de l'lSCC 1987. L'objet de ces réseaux est de réaliser des opérations de la forme: [V 1 = 1.j[Ai> [Vel o [Ve] est un vecteur d'entrée à N composantes Vel telles que Veil 6 1-1+l}, [Vs{ est un vecteur de sortie à M composantes V j telles que Vsj 6{-1,+l1 et o [All] est une matrice de N x M coefficients positifs ou négatifs aij. 1. [Ai] désigne l'opération qui à un vecteur d'entrée IVe] fait correspondre un vecteur de sortie [V s] tel que Vs = sign ( alj * Vet), c'est-à-dire un produit scalaire de deux vecteurs, avec la convention que sign (x) = 1 si x>0 sign (x) = -1 si x synaptiquesw ou "poids synaptiques". Il est connu depuis longtemps l'intérêt qu'il y aurait à effectuer l'opération aj * Vel de façon analogique selon le schéma du circuit de la figure 1. Dans le circuit de la figure 1, n bornes d'entrée B1 à Bn sont reliées à une sortie commune S] chacune via une résistance de valeur 1/apj avec p valant respectivement 1 à n. Les signaux d'entrée sur les bornes Bi à Bn sowt respectivement Vel à Ven. A la sortie S on recueille V El A*V sj A j* ei' Les résistances dessinées sur cette figure comme sur les suivantes ne représentent pas forcément une résistance linéaire mals toutes sortes de charges utilisées en microélectronique, notamment en technologies CMOS, des transistors dont la grille est reliée à la source ou au drain. Il est à noter que si le point commun est chargé sur impédance infinie, l'addition est réalisée en tension alors que si le point commun est chargé sur Impédance nulle, l'addition est réalisée en courant. Dans la mesure o l'on ne retiendra qu'une partie grossière de l'information, -1 ou +1, il n'est pas nécessaire d'avoir une très grande précision, mais par contre, l'avantage en rapidité découlant de la structure de la figure i est intéressant: la caractéristique de la sommation analogique est qu'elle permet d'additionner tous les termes de la somme en parallèle et non pas séquentiellement comme dans les dispositifs numériques. Par ailleurs, il a été montré par E. de Chambost, dans une communication à n EURO'88, "Linear classification with binary connection networks", à Paris en Juin 1988 que les réseaux neuronaux conservaient l'essentiel de leurs propriétés si la résolution de chaque coeffúicient synaptique était réduite à un seul bit d'information, c'està-dire si 2 seules valeurs étaient autorisées à ai: -1 ou +i. Les figures 2,3,4,5,6 décrites ci-dessous, concernent ce cas particulier particulièrement intéressant pour la réalisation de réseaux neuronaux analogiques programmables: une seule cellule binaire est affectée à un coefficient alj. Dans la suite de la description, on part de l'hypothèse que les opérations d'écriture de nouveaux tableaux de coefficients alj sont beaucoup moins fréquentes que les opérations de chargement d'un nouveau vecteur d'entrée [Ve]. La solution qui consisterait à réaliser physiquement les réslstances de sla figure 1 sur un circuit mlcroélectronique n'est pas intéressante car elle conduirait à modifier les masques utilisés dans le processus technologique chaque fois que l'on veut modifier la valeur des coefficients synaptiques, ce qui représente une solution trop coûteuse. On appelle Réseau Neuronaux analogiques programmables les réseaux neuronaux analogiques dont les coefficients synaptiques peuvent être modifiés électriquement, de la même façon que l'on peut écrire un mot binaire dans une mémoire électronique. La solution classique pour réaliser des réseaux neuronaux analogiques programmables est celle représentée schématiquement figures 2 et 3. Sur la figure 2, le rectangle en traits interrompus, référencé Mis, délimite une connexion synaptique selon l'état de l'art. Ci est une cellule-mémoire réalisée selon des technologies connues. La cellule Cij délivre sur une première sortie un état logique ai}, et sur une seconde sortie son complément az. Ces sorties sont reliées chacune à un conducteur de colonne LJ via un transistor FET (T1, T2 respectivement) en série avec une résistance (R1,R2 respectivement). La grille de T1,T2 est respectivement reliée à une ligne Vet et à une ligne eV à état logique complémentaire de celui de Ve el el' Sur la figure 3, on a représenté une partie de matrice de connexions synaptiques telles que celles de la figure 2. Cette matrice comporte des lignes Vel à Ven et des lignes Vel à Ven à états logiques respectivement complémentaires, et des colonnes L1 à Ln. A chaque synapse (intersection d'une colonne avec deux lignes complémentaires telles que Vek et Vek) on dispose une connexion synaptlque telle que celle de la figure 2. Chaque colonne L1 à Ln est reliée par un amplificateur opérationnel A1 à AN à une entrée d'un dispositif comparateur C1 à CN dont l'autre entrée reçoit une tension numérique de décalage Vsl à Vsn, mémorisée sous forme d'un mot binaire, via un convertisseur numérique-analogique DAC1 à DACn. L'ensemble D1 à Dn de ces éléments reliés à chaque colonne constitue un dispositif de détection, réalisant une addition en courant des signaux des N signaux d'entrée de la colonne correspondante. "O" et "1" désignent les 2 états que l'on trouve sur des circuits électriques en Ioglque binaire, It] étant le courant résultant de la connexion élémentaire de la figure 2, proportionnel à al] * Vel, la table de vérité du courant Iliest la suivante 0 1 Ve i o 0 O 1 O aij Cette table de vérité est isomorphe à celle de la multiplication dans [-1, +1} -1 i -1 i -1 1 -1 1 Comme il est souvent requis pour un réseau de neurones de décaler la somme _ai] * Vel d'un seuil VS associé à un jeu de coefficients (alj,. .. aij,... anj), la structure complète d'un réseau analogique programmable est celle représentée figure 3. Ce décalage est réalisé dans les comparateurs C1 à CN grâce aux tensions Vsl à Vsn La nécessité de dédoubler les lignes Vel ainsi qu'il est montré sur la figure 3 provient du fait qu'une seule ligne permettrait de réaliser une opération isomorphe à la multiplication dans l'espace 10,1) et non pas dans l'espace 1-1,1. La présente invention a pour objet un réseau neuronal analogique programmable permettant d'implémenter la table de vérité d'une multiplication dans l'espace {-1,1} en utilisant moins de composants que dans les circuits connus précités. Le réseau neuronal analogique programmable conforme à l'invention, du type en matrice cartésienne à N entrées et M sorties, comporte un premier circuit de sommation relié aux N entrées, N lignes et M colonnes, les NxM synapses étant constitués chacun par une porte logique, les M colonnes étant reliées chacune à un circuit de sommation de colonne, une autre entrée de chacun de ces circuits de sommation de colonne étant reliée à la sortie dudit premier circuit de sommation, et encore une autre entrée de chacun de ces circuits de sommation de colonne étant reliée à un circuit de production de tension réglable. La présente invention sera mieux comprise à la lecture de la description détaillée d'un mode de réalisation, Illustrée par le dessin annexé, sur lequel: - la figure 1 est un schéma d'un circuit connu réalisant une addition analogique, - la figure 2 est un schéma général d'une connexion synaptique selon l'état de l'art, - la figure 3 est un schéma simplifié d'une matrice à connexions synaptiques, selon l'état de l'art, - la figure 4 est un schéma d'une connexion synaptique selon la présente invention, - la figure 5 est un schéma simplifié d'un réseau neuronal analogique programmable conforme à l'invention, - la figure 6 est un schéma d'une connexion synaptique en technologie EEPROM selon l'état de l'art, et - la figure 7 est un schéma d'une connexion G synaptique en technologie EEPROM conforme à l'invention. Les figures i à 3 ont déjà été décrites ci-dessus. Dans toute la présente description on mentionne des matrices à lignes d'entrée et colonnes de sortie, mais il est bien entendu que l'on pourrait permuter les rôles des lignes et des colonnes, ces appellations n'étant usitées que pour la commodité des explications. Sur le schéma de la figure 4, on a représenté une seule connexion synaptique CS faisant partie d'une matrice dont on a uniquement représenté une partie d'un conducteur de ligne d'entrée Veiet une partie d'un conducteur de colonne L;. La connexion CS comporte une cellule mémoire C' constituée par exemple par une porte logique de type "OU" ou "ET" dont la borne alj est reliée par le trajet source-drain d'un transistor FET Ti en série avec une résistance RI1 au conducteur L;, la grille de T1 étant reliée au conducteur Vel' On a donc fait l'économie d'un transistor avec sa résistance de drain et d'un conducteur de ligne (Vei). La connexion CS permet d'implémenter la table de vérité d'une multiplication pour Ies raisons suivantes: Une connexion synaptique est chargée de réaliser physiquement la fonction rJ sign ( 5l aij * Ve) t'ri i el expression dans laquelle aU 4 {-1,+1} et Vel {-1, +1} On pose: a1l = 2 *a' -1 et Vel = 2 * V'e-1, ce qui donne: a * Ve: = (2* a'i1) *(2* V'eI) liel il el) (2) 4 a' * V' - 2 V' -2 a' +1 - i h el t 7I el i J A B C S Les 3 termes A,B,C peuvent être implémentés à l'aide de portes logiques simplement du fait que: a i 10,11 et que V'ele 10,l11 il Dans la relation (2), le terme A est un produit scalaire qui peut être implémenté à l'aide d'une série de simples portes logiques telle que celle représentée en figure 4. Le terme B dépend du vecteur d'entrée mais est Identique pour toutes les colonnes. Il doit être calculé pour chaque vecteur d'entrée. Le terme C ne dépend pas du vecteur d'entrée, mais uniquement de la valeur des coefficients de la colonne correspondante. La matrice, représentée de façon simplifiée en figure , permet de réaliser les diverses opérations de la relation (2) précitée. Cette matrice comprend N conducteurs de lignes Vel à Ven et M conducteurs de colonnes L1 à LM. En pratique, dans la plupart des cas, on a M = N. A chaque intersection (ou synapse) de la matrice, on branche une porte logique, P1l à MN telle que la porte de la figure 4, qui réalise une opération Isomorphe à un produit scalaire dès lors que a'ij E-10,11 et V'et 10,11. Un conducteur de colonne L est relié à chaque ligne par une résistance, R1 à RN. Cette colonne L0 est branchée à l'entrée inverseuse d'un amplificateur opérationnel A. Chacune des autres colonnes L1 à LM est reliée à une première entrée, Ell à ElM d'un dispositif sommateur, D'1 à D'M. La sortie de l'amplificateur A est reliée simultanément à une deuxième entrée, E21 à E2M de tous les dispositifs D'1 à D'M. Tous les dispositifs D'1 à D'M sont identiques. On a représenté en détail sur la figure 5 seulement le dispositif D'. Dans ce dispositif D'j, la borne d'entrée Eli est directement reliée à l'entrée d'un amplificateur opérationnel Aj, et la borne E2j est reliée à cette même entrée de l'amplificateur via une résistance R. La sortie de l'amplificateur A est reliée à une première entrée d'un comparateur C dont une seconde entrée est reliée à la sortie d'un convertisseur numérique-analogique DAC recevant un mot binaire Vs. Dans la matrice de la figure 5, l'amplificateur A avec la colonne L et les résistances R1 à RN constituent un circuit implémentant le terme B de la relation (2) ci-dessus, c'est-à-dire effectuant la sommation des N signaux d'entrée. Le signal de sortie de ce circuit est envoyé en offset à chaque circuit D'1 à D'N (via la borne E21 à E2N respectivement). Comme précisé ci-dessus, les différentes portes P1l à PMN réalisent les opérations isomorphes à des produits scalaires (terme A de la relation (2)). Le terme C de la relation (2), qui ne dépend que de la valeur des coefficients affectant les vecteurs d'entrée est déterminé pour chaque colonne dans les circuits D'1 à D'M, par la valeur VS1 à VSM (sous forme de mot numérique, donc facile à modifier par programme, converti en valeur analogique par les convertisseurs DAC1 à DACM). Cette valeur numérique convertie en valeur analogique est portée en offset sur le signal de chaque colonne dans les comparateurs C à CM. i MI Bien entendu, les coefficients 2 et 4 des termes A,B et C sont obtenus facilement dans les circuits D'1 à D'M par réglage correspondant des résistances des amplificateurs opérationnels A1 à AM. On a représenté en figure 6, le schéma d'une connexion synaptique CS1 en technologie EEPROM à grille flottante, selon l'état de l'art. La connexion CS1 comporte deux transistors QIl et QI] dont les grilles de commande sont reliées respectivement aux lignes Vel et Vel, dont les drains sont reliés via une résistance, RA,RB respectivement à une colonne L et dont les sources sont reliées à un potentiel de référence V. Par contre, la connexion synaptique CS2 de la figure 7, conforme à l'invention, toujours en technologie EEPROM, ne nécessite qu'une seule ligne Vei et un seul transistor Qi dont le drain est relié via la résistance RA à la colonne Lj et dont la source est reliée au potentiel de référence V. Bien que le disposltlf de l'invention puisse être réalisé en diverses technologies telles que SRAM-CMOS, il est plus avantageux de le réaliser en technologie EEPROM à grille flottante, car dans ce dernier cas, chaque cellule de mémorisation ne comporte normalement pas de transistor stockant l'état complémentaire de celui stocké sous forme de charges dans la grille du transistor unique (c'est-à-dire pas d'état aiJ' voir figure 2). On diminue donc de moitié l'espace occupé par une matrice, par rapport au cas à technologie CMOS. Blen entendu pour réaliser les matrices de l'invention, il n'est pas possible d'utiliser de mémoires dynamiques car leur principe de rafraîchissement interdit toute lecture collective, nécessaire dans les réseaux neuronaux. REVENDICATIONS 1. Réseau neuronal analogique programmable, du type en matrice cartésienne à N entrées et M sorties, caractérisé par le fait qu'il comporte un premier circuit de sommation (A) relié aux N entrées, N lignes (V à Ven) et M colonnes (L1 à LM), les N.M synapses étant constitués chacun par une porte Iogique, les M colonnes étant reliées chacune à un circuit de sommation de colonne (D'1 à D'M), une autre entrée de chacun de ces circuits de sommation de colonne étant reliée à la sortie dudit premier circuit de sommation et encore une autre entrée de chacun de ces circuits de sommation de colonne étant reliée à un circuit de production de tension réglable (DACjSVsj). 2. Réseau neuronal selon la revendication 1, caractérisé par le fait que le circuit de production de tension réglable comporte un convertisseur numérique-analogique (DACJ) recevant un mot binaire (Vsj). 3. Réseau neuronal selon la revendication 2, caractérisé par le fait que le mot binaire est modifiable par programme. 4. Réseau neuronal selon l'une quelconque des revendications précédentes, caractérisé par Ie fait que les synapses sont réalisés en technologie EEPROM à grille flottante. 5. Réseau neuronal selon l'une quelconque des revendications précédentes, caractérisé par le fait que les synapses sont réalisés en technologie SRAM-CMOS.