[go: up one dir, main page]

FR2690771A1 - Processeur neuronal muni de moyens pour normaliser des données. - Google Patents

Processeur neuronal muni de moyens pour normaliser des données. Download PDF

Info

Publication number
FR2690771A1
FR2690771A1 FR9205282A FR9205282A FR2690771A1 FR 2690771 A1 FR2690771 A1 FR 2690771A1 FR 9205282 A FR9205282 A FR 9205282A FR 9205282 A FR9205282 A FR 9205282A FR 2690771 A1 FR2690771 A1 FR 2690771A1
Authority
FR
France
Prior art keywords
neuron
quotient
neurons
partial
neural
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR9205282A
Other languages
English (en)
Inventor
Yannick Deville
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Laboratoires dElectronique Philips SAS
Original Assignee
Laboratoires dElectronique Philips SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Laboratoires dElectronique Philips SAS filed Critical Laboratoires dElectronique Philips SAS
Priority to FR9205282A priority Critical patent/FR2690771A1/fr
Priority to DE69315250T priority patent/DE69315250T2/de
Priority to EP93201157A priority patent/EP0568146B1/fr
Priority to JP10121893A priority patent/JP3461525B2/ja
Priority to US08/055,431 priority patent/US5625753A/en
Publication of FR2690771A1 publication Critical patent/FR2690771A1/fr
Priority to US08/464,922 priority patent/US5784536A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Complex Calculations (AREA)

Abstract

Processeur neuronal comprenant des moyens de calcul (30, NQ, RQ) de type neuronal qui normalisent une donnée d'entrée X par rapport à une autre donnée d'entrée Y. Il effectue une division de X par Y pour déterminer un quotient Q. Les moyens de calcul sont programmés pour calculer par récurrence une suite de contributions DELTAQi (30) qui sont utilisées (NQ, RQ) pour mettre à jour un quotient partiel QP qui devient le quotient Q en fin de calcul. Le calcul peut être effectué dans une base arithmétique quelconque ce qui détermine le nombre de neurones mis en œuvre et la précision du calcul. Un reste partiel RP peut également être mis en œuvre. Plusieurs modes de programmation sont présentés.

Description

DESCRIPTION
PROCESSEUR NEURONAL MUNI DE MOYENS POUR NORMALISER DES DONNEES
L'invention concerne un processeur neuronal comprenant des moyens de calcul de type neuronal qui normalisent une donnée d'entrée X par rapport à une autre donnée d'entrée Y en calculant un quotient Q d'une division de X par Y. Les processeurs neuronaux trouvent leurs applications dans les problèmes de classification en particulier pour la reconnaissance de forme, de caractères, le traitement du signal de la parole, le traitement d'images, la compression de l'information Les données d'entrée peuvent ainsi constituer, par exemple, des données de luminance, de chrominance, de dénombrement, des mesures d'angles en reconnaissance de forme, des densités spectrales à différentes fréquences en analyse fréquentielle de
signaux ou plus communément des amplitudes de signaux électriques.
Les processeurs neuronaux sont constitués d'automates non-linéaires généralement connectés entre eux par des synapses auxquelles sont affectés des coefficients synaptiques Ils permettent de traiter des problèmes qui le sont difficilement par
les ordinateurs séquentiels classiques.
Les deux types de processeurs les plus répandus comportent: soit des réseaux pleinement connectés dits de Hopfield soit des réseaux en couches: les neurones sont regroupés en couches successives, chaque neurone est connecté à tous les neurones de la couche suivante, l'information passant de la couche d'entrée aux couches suivantes (couches cachées) jusqu'à la
couche de sortie.
Ces systèmes sont capables d'apprendre par l'exemple ou de s'autoorganiser Les temps de calcul très longs sur ordinateur séquentiel peuvent se réduire considérablement en parallélisant les opérations qui comprennent des phases d'apprentissage et des phases
de résolution.
Pour effectuer un traitement neuronal de résolution, les processeurs neuronaux doivent au préalable apprendre à l'effectuer Cette phase appelée apprentissage fait appel à des exemples Pour de nombreux algorithmes, les résultats que l'on doit obtenir en sortie avec ces exemples sont généralement connus à l'avance Dans un premier temps le processeur neuronal qui n'est pas
encore adapté à la tâche prévue, va délivrer des résultats erronés.
On détermine alors une erreur entre les résultats obtenus et ceux que l'on aurait dû obtenir et, à partir d'un critère d'adaptation, on modifie les coefficients synaptiques pour permettre au processeur neuronal d'apprendre l'exemple choisi Cette étape est réitérée sur le lot d'exemples considérés comme nécessaires à un apprentissage satisfaisant. Les algorithmes d'apprentissage se répartissent en deux classes: les apprentissages locaux, o la modification d'un coefficient synaptique Cij reliant un neurone j à un neurone i ne dépend que de l'information localisée sur les neurones i et j, les apprentissages non-locaux, o elle dépend d'informations situées dans tout le réseau Ce dernier apprentissage est par exemple celui de la rétropropagation de l'erreur dans des
réseaux en couches.
Des informations sur divers types de réseaux de neurones peuvent par exemple être trouvées dans l'article de R P LIPPMANN, "An introduction to computing with neural nets" IEEE ASSP Magazine
Avril 1987, p 4 à 22.
Pour mettre en oeuvre certaines de ces étapes de fonctionnement d'un processeur neuronal, il peut être nécessaire de normaliser des données pour effectuer leur traitement par ledit processeur, c'est par exemple le cas lorsque, au cours de phases successives d'apprentissage, des données apparaissant en sortie du processeur neuronal doivent être normalisées pour poursuivre le traitement Il apparaît intéressant que ce soit le processeur neuronal lui-même qui soit chargé d'effectuer cette étape de normalisation des données Cette normalisation consiste à diviser un
lot de données numériques par un facteur qui peut être répétitif.
Indépendamment de l'exécution de tâches de type neuronal (résolution, apprentissage), le processeur neuronal peut également être considéré comme un dispositif de traitement de données
numériques effectuant des calculs de normalisation de données.
Une architecture neuronale pour effectuer une division est présentée dans le document: "High-Speed division unit using asymetric neural network architecture" par H HUANG et P SIY, Electronics letters, March- 1989, vol 25, N O 5, pages 344-345 Ce document décrit une architecture neuronale asymétrique qui calcule en cascade chaque bit d'un quotient de deux nombres, représentés en notation binaire, l'un étant un multiple de l'autre Ce quotient est limité à sa partie entière Cette architecture est mise en oeuvre dans un processeur neuronal analogique à l'aide d'amplificateurs qui totalisent des sommes de produits de données et qui appliquent une fonction de transfert non linéaire Chaque bit du quotient est déterminé successivement en tenant compte de ceux qui le précèdent de sorte que le calcul du quotient peut nécessiter un nombre élevé
de cycles de calcul.
Ceci impose aussi que les neurones qui déterminent les bits de poids de plus en plus faibles disposent d'un nombre d'entrées progressivement croissant Un tel mode opératoire ne peut être transposé dans une technologie numérique sans que ce mode
opératoire ne s'en trouve pénalisé.
Le but de l'invention est de concevoir un processeur neuronal qui puisse normaliser des données en effectuant un calcul d'un quotient Q d'une division d'une donnée d'entrée X par une autre donnée d'entrée Y en ne mettant en oeuvre qu'un minimum de moyens matériels sur un nombre réduit de cycles de calcul Les moyens de calcul doivent pouvoir être aisément reconfigurables pour s'adapter à des données d'entrée X et Y variées et la précision de calcul doit pouvoir être prédéterminée Il est souhaitable que ceci soit obtenu en modifiant le moins possible l'architecture du processeur neuronal. Ce but est atteint à l'aide d'un processeur neuronal pour lequel lesdits moyens de calcul sont programmés pour mettre en oeuvre: au moins un neurone qui calcule par récurrence une suite de contributions A Qi = qi Bl qui forment ensemble une expression du quotient Q dans une base arithmétique B, et au moins un neurone qui met à jour par récurrence un quotient partiel QP en totalisant lesdites contributions A Qi pour délivrer le quotient Q. Ainsi avantageusement, il est possible de choisir la dimension de la base B, donc le nombre de contributions A Qi à calculer et aussi le nombre de neurones, pour obtenir une vitesse d'exécution plus ou moins élevée pour le calcul du quotient Q On peut ainsi privilégier soit une vitesse élevée avec des moyens matériels multiples soit des moyens matériels réduits avec une vitesse d'exécution plus réduite Ce fonctionnement par récurrence
permet de réduire beaucoup le matériel nécessaire aux calculs.
Un quotient Q peut être exprimé dans une base B quelconque par n Q = = + qn-n + B 1 Bi + Bl + qc B i=-m + q-l B'+ ** 3 g gm Les choix de la dimension de la base ainsi que la valeur
de m permettent en outre de prédéterminer la précision du calcul.
Pour obtenir Q à une unité près, il suffit de se limiter aux termes allant de q B' jusqu'à q B', Q est alors la partie entière du
rapport X sur Y L'invention traite des données X et Y positives.
Dans le cas o les données d'entrée sont négatives, il suffit de
prendre en compte des valeurs absolues de ces données.
Selon l'invention, on détermine par récurrence tous les termes qi B', -m si Én, en commençant par le terme le plus élevé %.B' Ces termes sont déterminés dans la base B qui peut être quelconque Le choix de la base B détermine la manière selon
laquelle l'architecture du processeur neuronal est mise en oeuvre.
La dimension B de la base B étant choisie, pour le calcul de chaque terme qi Bl on détermine chaque valeur qi, et pour cela on calcule plusieurs termes j B' pour lesquels les valeurs j encadrent la valeur q à déterminer Avec une base de dimension B, les valeurs de j sont comprises entre O et B-1 La valeur O ne nécessitant pas de calcul, ces termes sont déterminés pour 1 É j B-1 Le fonctionnement du processeur neuronal va ainsi nécessiter soit au maximum B-1 neurones ou groupes de neurones fonctionnant en parallèle soit au minimum 1 neurone opérant successivement sur B-1 étapes de calcul Des situations intermédiaires peuvent être également mises en oeuvre Une vitesse d'exécution élevée est par exemple obtenue en faisant fonctionner B-1 neurones ou groupes de neurones en parallèle avec une grande dimension pour la base B Une vitesse d'exécution plus lente peut être obtenue soit en faisant fonctionner un nombre limité de neurones sur plusieurs étapes consécutives soit en choisissant une dimension réduite pour la base B. Un processeur neuronal est fondamentalement constitué de mémoires stockant des états de neurones Vi, de mémoires stockant des coefficients synaptiques Ci, d'unités calculant des sommes
pondérées Z Cij Vi, et d'unités appliquant des fonctions non-
linéaires de transfert auxdites sommes pondérées pour délivrer des états de neurones V, Ces derniers constituent les résultats des opérations effectuées, c'est-à-dire des résultats de normalisation
dans le cadre de l'invention.
Selon l'invention lesdites mémoires et lesdites unités sont programmées par des valeurs initiales, certaines étant permanentes et d'autres étant régulièrement mises à jour, pour effectuer des divisions de deux données d'entrée A chaque cycle du calcul, on détermine un quotient partiel QP et éventuellement un reste partiel RP qui sont mis à jour A la fin du calcul, le dernier quotient partiel QP constitue le quotient final Q et RP le reste final A chaque cycle, les résultats obtenus sont donc recyclés pour
le cycle suivant.
Selon une mise en oeuvre, on met en oeuvre uniquement le quotient partiel QP sans calculer le reste partiel RP Dans ce cas, le quotient partiel QP étant initialement nul, lesdits moyens de calcul sont programmés pour: a calculer une pluralité de quantités S Dj = X (Q Pi, + j Bi) Y ladite pluralité résultant d'un nombre B-1 d'opérations effectuées par au moins un neurone pour j variant de 1 à B-1, i étant un nombre entier initialement égal à un nombre maximal prédéterminé, b déterminer une valeur j = qi qui vérifie: sign (SD;) * sign (SD,+ 1) avec SD, 2 O, SDB < 0, et sign ( 0) = + 1 c déterminer une contribution A Qi = qi B' d déterminer un nouveau quotient partiel tel que Q Pl = Q Pi+l + A Qi e décrémenter i pour déterminer le quotient Q en réitérant les opérations précédentes jusqu'à une valeur i minimale qui définit une précision prédéterminée pour Q. Selon une autre mise en oeuvre, on utilise à la fois le quotient partiel et le reste partiel RP Dans ce cas, les moyens de calcul sont programmés pour calculer en outre un reste partiel R Pl = X Q Pi Y, le reste partiel, initialement égal à X, étant mis à jour par récurrence tel que R Pl = R Pi+l Y A Qi En outre, les moyens de calcul peuvent calculer une pluralité de quantités SD, = R Pi+, j B' Y. Les B-1 opérations de l'étape a peuvent être effectuées par B-1 neurones ou groupes de neurones programmés pour opérer en parallèle Les B-1 opérations peuvent également être obtenues par un seul neurone ou groupe de neurones opérant sur B-1 étapes de calcul successifs si la vitesse d'obtention du résultat n'est pas déterminante. On peut également répartir les B-1 opérations sur des groupes de neurones qui effectuent un traitement partiellement
parallèle et partiellement récurrent.
Les étapes a, b et c qui ont pour but de calculer les contributions A Qi peuvent être réalisées par au minimum un seul
neurone selon la dimension de la base B choisie.
L'étape d qui a pour but de cumuler les contributions AQ 1 successives peut également être réalisée par au minimum un seul neurone. En opérant avec une base B de dimension 2, le calcul du
quotient peut être effectué par seulement 2 neurones.
Les opérations de normalisation de données qui ont été indiquées précédemment apparaissent généralement à l'issu de certaines étapes de traitement neuronal concernant des phases de résolution et/ou d'apprentissage Il est donc possible d'utiliser des neurones du processeur neuronal pour effectuer une normalisation des données à un moment donné et pour effectuer à un autre moment des étapes de traitement neuronal proprement dit Il n'est donc pas nécessaire que le processeur neuronal dispose de neurones affectés spécifiquement aux opérations de normalisation Cette situation est néanmoins possible, le processeur neuronal étant alors utilisé
uniquement pour des calculs de normalisation de données.
Ces différents aspects de l'invention et d'autres encore seront apparents et élucidés à partir des modes de réalisation
décrits ci-après.
L'invention sera mieux comprise à l'aide des figures suivantes, données à titre d'exemples non limitatifs, qui représentent: Figure 1: un schéma d'une architecture connue de
processeur neuronal.
Figure 2: une représentation schématique A d'un neurone dépourvu d'un moyen d'application d'une fonction non-linéaire, une représentation schématique B d'un neurone muni d'un moyen dtapplication d'une fonction non-linéaire F et une courbe C représentant une fonction non-linéaire F. Figure 3: un schéma d'une première mise en oeuvre des moyens de calcul pour le calcul d'un quotient et d'un reste selon
l'invention en calculant A Qi à partir des restes partiels RP.
Figure 4: un schéma d'un premier mode de réalisation pour un calcul des contributions A Qi mettant en oeuvre un reste
partiel RP.
Figure 5: un schéma d'un second mode de réalisation pour un calcul des contributions A Qi mettant en oeuvre un reste
partiel RP.
Figure 6: un schéma d'une seconde mise en oeuvre des moyens de calcul pour un calcul d'un quotient Q et d'un reste R en
calculant A Qi à partir des quotients partiels QP.
Figure 7: un schéma d'une mise en oeuvre à trois neurones, pour un calcul d'un quotient Q et d'un reste R dans le cas
o la base B a une dimension 2.
Figure 8: un schéma d'une mise en oeuvre à deux neurones, pour un calcul d'un quotient Q dans le cas o la base B a
une dimension 2.
Figure 9: un schéma d'une unité pour un calcul de termes de type 2 kî dans le cas o la base B a une dimension du type 2 k. La Figure 1 représente un schéma simplifié d'une architecture connue de processeur neuronal 10 Des moyens d'entrée INP 13 (par exemple des registres d'entrée ou des bornes d'entrée), fournissent des données d'entrée 9 à une unité de traitement 11 qui reçoit également des coefficients synaptiques Ci, stockés dans des moyens de stockage 12 Un coefficient synaptique Ci, caractérise le poids de la synapse qui connecte un neurone source j à un neurone destination i L'unité de traitement 11 reçoit également des états
de neurones stockés dans des moyens de stockage 14.
Lorsqu'un neurone opère en tant que neurone source, son état est référencé par V, et lorsqu'il opère en tant que neurone destination, son état est référencé par Vi Pour chaque neurone destination, l'unité de traitement Il opère des calculs POT = Cj V L'unité de traitement 11 effectue la sommation sur tous les neurones source d'indice j et fournit en sortie (connexion 8) le potentiel neuronal PO Ti du neurone destination i Ce potentiel neuronal PO Ti est soumis à l'action d'une fonction non-linéaire NLF qui fournit le nouvel état de neurone Vi du neurone destination i Ce nouvel état Vi est utilisé pour mettre à jour les moyens de stockage 14 et le processus continue pour d'autres neurones Les moyens d'application 15 de la fonction non-linéaire NLF sont représentés extérieurs au processeur neuronal 10 Cette figure 1 est seulement illustrative de l'architecture car ces moyens d'application 15 peuvent également être placés à l'intérieur du processeur neuronal 10 Ils peuvent également concerner une partie seulement des neurones Un calculateur hôte 16 gère l'ensemble des processus mis en oeuvre dans le processeur neuronal Par souci de simplification, d'autres organes ont été omis: des moyens de contrôle, des moyens d'apprentissage, Fondamentalement, un processeur neuronal délivre des données et reçoit des données sous forme d'états de neurones Ces données se rapportent à des grandeurs physiques Une grandeur physique est transformée en signaux électriques représentant par exemple un nombre qui dénombre une population d'objets ou représentant par exemple une grandeur lumineuse déterminant une luminance ou une fréquence déterminant une périodicité d'un
phénomène ou tout autre grandeur physique.
Par exemple, le processeur neuronal peut être utilisé pour trier, dans une groupe d'éléments, des éléments de classes différentes A, B, C Le processeur neuronal dénombre alors le nombre d'éléments appartenant à chaque classe A, B, C Des états de neurones calculés permettent de dénombrer ces différentes classes Les données ne sont pas toujours dimensionnées pour être introduites telles quelles dans le processeur neuronal Au cours de certains traitements, par exemple pour l'apprentissage, il peut être nécessaire que les données d'entrée soient exprimées par rapport à une norme pour que le traitement puisse être poursuivi Ainsi, il peut être nécessaire par exemple de normaliser toutes les données en faisant que la donnée maximale ne dépasse pas une borne maximale Il faut alors normaliser, c'est-à-dire diviser toutes les données par la donnée maximale Il peut d'ailleurs s'agir de données issues
d'une origine externe au processeur neuronal.
L'invention met en oeuvre deux types de neurones Un premier type de neurone (Figure 2-A), qui opère en sommateur, est démuni de moyens pour appliquer une fonction non-linéaire F Il comprend, fondamentalement, des moyens pour stocker deux coefficients synaptiques C 1, C 2 qui sont respectivement multipliés par des valeurs d'entrée Z 1 et Z 2 pour former des produits Zl C, et Z 2 C 2 Ces produits sont additionnés dans un sommateur E qui délivre une valeur de sortie Z telle que
Z = Z 1 Ci + Z 2-C 2.
Un second type de neurone (Figure 2-B), qui opère en organe de test, comprend les mêmes éléments que ceux du premier type, avec en plus des moyens 20 (par exemple un comparateur) pour appliquer une fonction non linéaire F La sortie du neurone délivre ainsi une valeur Z telle que: Z = F (Zl C 1 + Z 2 C 2) La fonction non-linéaire F a une représentation fournie par la Figure 2-C Les moyens 20 (Figure 2-B) ont une entrée e qui reçoit le signal de sortie du sommateur E qui est comparé à une valeur nulle Lorsque cette entrée e reçoit d'une part des signaux négatifs ou d'autre part des signaux positifs, les moyens 20 délivrent une sortie valant respectivement v 2 ou + v 1 Dans la majeure partie des modes de réalisation décrits ci-après les valeurs
+ vl/-v 2 peuvent être égales à 1/0, j/O, Bi/O.
Première mise en oeuvre (première famille) La Figure 3 représente schématiquement une première mise en oeuvre des moyens de calculs qui sont programmés pour normaliser une valeur X par rapport à une valeur Y Des moyens 30 calculent successivement les contributions A Qi = qi Bl à partir, d'une part, de
la valeur de la donnée Y et d'autre part, d'un reste partiel RP.
Initialement QP = O et RP = X Chaque contribution A Qi sert à mettre à jour RP et QP selon: Q Pl = Q Pi+l + A Qi et R Pl = R Pi+lY A Qi o i est un nombre entier qui décroît à partir d'une valeur maximale i.ax
imax -
Ces mises à jour mettent en oeuvre deux neurones NQ et NR du premier type décrit Chaque neurone est rebouclé sur lui-même pour opérer en accumulateur Ce fonctionnement en boucle nécessite que chaque neurone NQ, NR soit suivi respectivement d'un registre RQ, RR qui stocke le résultat pendant un cycle élémentaire de calcul Le registre RQ est initialisé à zéro, le registre RR est initialisé à X et les coefficients synaptiques C 1, C 2 des deux
neurones sont programmés.
Les valeurs des paramètres Z 1, C 1, Z 2, C 2 de chacun des neurones sont indiquées sur le tableau I. Zl C 1 Z 2 C 2 NQ Q Pi+ 1 1 A Qi 1 FNR R Pi+l 1 A Qi Y
TABLEAU I
Détermination des contributions A Qi Premier mode de réalisation La Figure 4 représente un premier mode de réalisation des moyens 30 pour la première famille de la première mise en oeuvre Dans le cas général, la base dans laquelle le quotient Q est exprimé a une dimension B Selon l'invention préférentiellement, on utilise une couche de B-1 neurones N Aj ( 1 É j B-1) fonctionnant en parallèle pour déterminer, pour i donné, un nombre B-1 de termes S Dj = R Pi+ 1 j Bi Y avec 1 j B-1 Un neurone supplémentaire n'est pas nécessaire pour le calcul du terme avec j = O Ces neurones N Aj reçoivent tous Z 2 et R Pi+, Ils sont programmés pour déterminer des quantités S Dj dont la valeur dépend de l'indice j du rang du neurone dans la couche Les termes S Dj constituent les
potentiels neuronaux POT des neurones.
Pour calculer les quantités S Dj, les neurones N Aj doivent être programmés La détermination du terme j Bi Y peut donner lieu à plusieurs combinaisons Les paramètres Zl, C 1, Z 2, C 2 des neurones N Aj peuvent être programmés selon le tableau II qui indique trois combinaisons:
Z 1 C 1 Z 2 C 2
N Aj R Pi+ 1 1 Y j Bl RP 1 1 Bl j Y R Pi 1 1 T Y Bl j
TABLEAU II
Toutes ces quantités SD 3 sont testées pour déterminer leur signe et pour en déduire l'indice j = qi de la plus faible quantité S Dj positive ou nulle Pour mettre en oeuvre des tests, on
utilise des neurones N Aj du second type décrit précédemment, c'est-
à-dire comprenant chacun un moyen d'application d'une fonction non-
linéaire F aux potentiels neuronaux POT Cette fonction F peut être une fonction F 1 définie par: F 1 (S Dj) = Dj = 1 lorsque SD 3 2 O F 1 (SDI) = Dj = O lorsque SD 3 < O Ainsi pour 1 j e qi toutes les sorties Dj sont à 1, et
pour qi < j B-1 toutes les sorties Dj sont à 0.
Une seconde couche de neurones N Bj ( 1 j B-1) compare deux à deux des sorties Di et Dj+ 1 consécutives Ainsi seul un neurone N Bj, de rang j = qi, a deux entrées Djet D+ 1 différentes et seul ce neurone a une sortie égale à qi, les autres neurones ayant une sortie nulle Pour cela, les paramètres Z 1, C 1, Z 2, C 2 des neurones N Bj sont programmés selon le tableau III (avec DB = 0)
Z 1 C 1 Z 2 C 2
N Bj Dj D Dj+ 1 1
TABLEAU III
Pour obtenir que les sorties des neurones N Bj délivrent directement l'indice j de chaque neurone N Bj dans la couche (lorsque Dj d Dj+ 1), on utilise des neurones du second type munis de moyens d'application d'une fonction F 2 ayant une réponse: E 3 = 0 lorsque e O Ej = j lorsque e > O.
Une troisième couche est formée par un neurone à multi-
entrées NC du premier type, chacune des entrées étant programmée selon le tableau IV: I Zj I Cj I Z ci NC Ej Bl
TABLEAU IV
Selon une variante de ce premier mode de réalisation, il est possible que les coefficients Cj du neurone NC soient programmés à la valeur 1 dans la mesure o les moyens d'application de la fonction non-linéaire F des neurones N Bj opèrent avec une fonction F 3 telle que: Ej = 0 lorsque e S O
Ej = j Bl lorsque e > 0.
Les tableaux I à IV indiquent différents types de coefficients: des coefficients fixes par exemple 1, -1 qui sont chargés au moment o le processeur neuronal est utilisé pour des tâches de normalisation en liaison avec la dimension de la base B, des coefficients par exemple Y, X qui dépendent des données mises en oeuvre et qui sont chargés pour chaque nouvelle donnée X ou Y, des coefficients contenant des termes Bl qui sont modifiés à chaque cycle récurrent Ces coefficients multiples de Bl sont chargés au début de chaque cycle par le calculateur hôte qui gère également les entrées des neurones correspondantes en commençant par les coefficients Bl les plus élevés La valeur de i est limitée par une valeur maximale i,X qui détermine la capacité de traitement du processeur neuronal dans la base B considérée Il est possible de prévoir un processeur neuronal ayant une architecture figée avec une base B déterminée (donc un nombre B-1 de neurones N Aj, N Bj) avec une valeur ' ax prédéterminée Il est également possible de prévoir que l'utilisateur choisisse la dimension de la base B et choisisse la valeur ima X en fonction des capacités matérielles du processeur neuronal et programme les coefficients, en conséquence Ces choix sont à opérer selon les valeurs X et Y des
données mises en oeuvre.
A titre d'exemple, dans le cas o X et Y sont des nombres entiers tels que O X É 2 r -1 et 1 S Y S 2 " -1, on peut choisir pour imax le plus petit entier tel que 2 r S B<, 1 > La valeur imax a alors l'avantage de ne pas dépendre des données X et Y. Second mode de réalisation Toujours dans le cadre de la première mise en oeuvre (première famille), il peut être utile pour certaines applications de limiter le nombre de neurones qui participent au calcul des données normalisées La Figure 5 représente une situation o la
couche de neurones N Bj n'existe pas.
Les neurones NA, reçoivent sur leur entrée des données correspondant toujours au tableau II et leur fonction non-linéaire est toujours la fonction F 1 Toutes les sorties D, entrent dans un neurone NC du premier type qui est programmé selon le tableau IV en substituant Di à E Le neurone NC totalise ainsi un nombre qi de
contributions Bl correspondant aux entrées D = 1.
Selon une variante de ce second mode de réalisation, il est possible que les coefficients Ci du neurone NC soient programmés à la valeur 1 dans la mesure o les moyens d'application de la fonction non-linéaire F des neurones N Ai opèrent avec une fonction F 4 telle que: F 4 (S Dj) = D = Bl lorsque S Dj 2 O
F 4 (S Dj) = D = O lorsque SD < 0.
Première mise en oeuvre (deuxième famille) A chacune des structures précédemment décrites dans la première famille correspond une variante obtenue en fusionnant le neurone NC avec d'une part le neurone NQ et d'autre part le neurone NR Ceci est obtenu en supprimant le neurone NC qui recevait auparavant des entrées Vj, égales à Ej ou Dû suivant le mode de réalisation, et qui avait des coefficients Ci égaux soit à 1 soit à Bl suivant le cas considéré, en remplaçant le neurone NQ de la figure 3 par un neurone du premier type à B entrées, programmé suivant le tableau V-A, dans lequel les Vj et Ci sont ceux du neurone NC précédemment utilisé.
Z 1 C Z 2 à ZB C 2 à CB
QPI+ 1 1 V C.
TABLEAU V-A
en remplaçant le neurone NR de la figure 3 par un neurone du premier type à B entrées, programmé suivant le tableau V-B (avec la même signification pour Vi et Ct) | Z, I ci I Z, à Z | CI à C I
TABLEAU V-B
L'avantage de cette variante est que la structure
comporte une couche de moins que précédemment.
Deuxième mise en oeuvre La figure 6 représente schématiquement une deuxième mise en oeuvre Un neurone NR est présent comme dans la première mise en oeuvre, et il permet de délivrer un reste final à la fin du calcul. Toutefois, le bloc 30 utilise maintenant le quotient partiel QP pour calculer A Qi Alors à chacune des structures présentées pour la première mise en oeuvre correspond une structure qui lui est analogue, hormis pour les neurones NA, intervenant dans le calcul de A Qi La première couche de neurones intervenant dans le calcul A Qi est formée deneurones NA, à trois entrées du type représenté sur la Figure 2-B avec une entrée Z 3 et un coefficient synaptique C 3 supplémentaires Le tableau VI donne les paramètres Zo, Cl$ Z 2, C 2,
Z 3, C 3 des neurones NA.
Z 1 C 1 Z 2 c 2 Z 3 c 3 NA j X _ y j B' Q Pi+ y X 1 Bl -j y Q Pi+l -y X _ Y B' J Q Pi+l y
TABLEAU VI
Pour la détermination de Mi, on utilise préférentiellement la structure décrite pour le deuxième mode de
réalisation présenté pour la première mise en oeuvre.
Troisième mise en oeuvre La troisième mise en oeuvre correspond au cas o on n'introduit pas le neurone NR, et o le seul résultat fourni par la structure est le quotient final (alors que le reste final n'est pas fourni). L'intérêt de cette troisième mise en oeuvre est que le calcul de RP peut être ignoré si RP n'est pas exploité Les structures correspondant à cette troisième mise en oeuvre sont identiques aux structures correspondant à la deuxième mise en oeuvre, à part qu'elles ne contiennent pas le neurone NR et le
registre RR.
Pour la détermination de A Qj, on utilise préférentiellement une structure analogue à celle de la figure 5 déduite de celle-ci dans son application à la deuxième mise en oeuvre. Par ailleurs, il est avantageux d'utiliser la deuxième famille décrite précédemment dans laquelle le neurone NC est fusionné avec le neurone NQ car alors on obtient deux avantages comme précédemment, on supprime une couche dans la structure, on n'a pas à dupliquer le calcul de A Qi car NR
n'existe pas.
Mise en oeuvre spécifique à B = 2 Un cas intéressant par la simplicité des moyens matériels mis en oeuvre correspond au cas o la base B a une dimension 2 Dans ce cas, la détermination des valeurs qi ne nécessite qu'un seul neurone La Figure 7 représente un exemple de réalisation qui met en oeuvre des déterminations de quotients partiels QP et de restes partiels RP Trois neurones NA, NR, NQ sont suffisants pour déterminer le quotient Q et le reste R La sortie SNA du neurone NA fournit soit les valeurs qi soit les contributions qi.B' selon les fonctions non- linéaires mises en oeuvre Les neurones NQ et NR sont du premier type et sont suivis respectivement des registres de stockage RQ et RR La programmation des paramètres Z, C du neurone NA (du deuxième type) est effectuée selon le tableau II avec j = 1 La fonction non-linéaire F, appliquée aux données issues du sommateur de NA, peut être faite comme préalablement selon les fonctions F 1 ou F 4 Dans le cas de la fonction F 4, les paramètres Z C des neurones NQ et NR peuvent être programmés selon le tableau I en remplaçant A Qi par SNA Dans le cas de la fonction F,, les paramètres Z, C des neurones NQ et NR peuvent être programmés selon
le tableau VII.
TABLEAU VII
En opérant toujours avec une base de dimension égale à 2, il est encore possible, selon le schéma de la Figure 8, de réduire à deux neurones la complexité des moyens matériels Dans ce
cas, une détermination des restes partiels n'est pas mise en oeuvre.
Les paramètres du neurone NA sont les mêmes que ceux du tableau VI avec j = 1 Les paramètres du neurone NQ et la fonction F sont les
mêmes que ceux de la mise en oeuvre précédente spécifique à B = 2.
Cas o B = 2 k Lorsque la dimension de la base peut être écrite sous la forme B = 2 k, o k est un nombre entier, il est possible d'utiliser une unité qui calcule par récurrence certaines valeurs o interviennent des valeurs B' C'est par exemple le cas avec les valeurs j B' et Y B' La Figure 9 représente un tel module 80 comprenant un registre à décalage 82 à k positions suivi d'un registre 84 qui peut être initialisé par une valeur d'initialisation 2 k, " La sortie du registre 84 délivre des coefficients B' = 2 qui sont également réintroduits à l'entrée du registre à décalage 82 En décalant à chaque fois la donnée d'entrée de k positions, il est possible de la diviser par un facteur 2 k et calculer ainsi tous les coefficients B' successifs pour la mise en oeuvre des méthodes décrites Ce module 80 peut être utilisé pour déterminer des paramètres Z et/ou C. Dépassements Le processeur neuronal doit stocker différents paramètres Z, C, différentes données d'entrées, X, Y et des résultats QP, RP Pour cela, le processeur neuronal dispose d'une capacité de traitement qui dépend des capacités maximales des
registres et des mémoires.
Dans le cas général, si la capacité des registres d'états de neurones et des mémoires de coefficients synaptiques permet de stocker des mots signés de (r+l) bits, il est alors possible de traiter par exemple des données X et Y telles que
0 X 2 r-1 et 1 É Y e 2 '-1 o X et Y sont des nombres entiers.
Néanmoins, les calculs intermédiaires mettent en jeu des termes j B' Y qui peuvent être calculés de plusieurs manières, telles que celles indiquées dans le tableau II Suivant la structure considérée, il peut se produire que, quand on n'impose aucune contrainte aux valeurs des paramètres r, B, Y, certains des calculs intermédiaires utilisés pour le calcul de j B' Y par les neurones NA nécessitent des mots ayant plus de (r+l) bits Plusieurs solutions existent à ce problème potentiel: 1) Ne pas imposer de limitations aux paramètres r, B, Y (hormis 1 Y 2 r-1), et choisir en conséquence la taille des
registres internes, suivant le mode de réalisation considéré.
2) Imposer que tous les registres aient pour taille (r+l) bits, et imposer des limitations aux paramètres r, B, Y, suivant les moyens matériels dont on dispose et les modes de programmation choisis dans le tableau II Des limitations telles que celles indiquées ci-dessous suffisent à éviter tout problème: imposer que B soit une puissance de 2, B = 2 k, et que r soit un multiple de k En particulier, il n'y a pas de problème de dépassement quand B = 2 et r est quelconque, ou, imposer une limite max à Y, o Y max est une valeur qui est choisie de façon à ce que toutes les quantités entrant en jeu dans le calcul de j B' Y (par exemple Z 2 = Y Bl ou C 2 = j Y dans le tableau II) puissent être stockées dans des
registres ayant (r+l) bits.
3) Imposer que tous les registres aient pour taille (r+l) bits, et ne pas imposer de limitations aux paramètres r, B, Y, et choisir des valeurs spécifiques pour les coefficients Supposons que la capacité de stockage de chaque registre soit (r+l) bits Le stockage de RP,+, n'entraîne pas de dépassement pour un système correctement étudié Par contre, le calcul des termes S Di = R Pi+l j B' Y peut entraîner des dépassements pour certaines valeurs de j et/ou de i conduisant à des termes SD, négatifs Comme le but de certains tests consiste à tester uniquement le signe de S Dj et non pas sa valeur, il suffit alors de pouvoir détecter un signe négatif pour SD Ceci peut être obtenu aisément en programmant dans le tableau II des coefficients Ci = O et C 2 = 1 pour les valeurs j et i qui conduiraient à un dépassement Cette
programmation est gérée par le calculateur hôte.
L'homme du métier pourra donc être conduit à choisir l'un ou l'autre des modes de programmation donnés, par exemple dans les tableaux II ou VI et l'une des solutions aux problèmes de dépassement, en fonction de la taille des registres et des mémoires disponibles dans le processeur neuronal, des données à traiter et
des performances visées.
L'invention peut être utilisée pour traiter des données
X et Y représentées par des nombres entiers ou quelconques.
Les différentes mises en oeuvre prennent toute leur importance lors de l'utilisation effective du processeur En effet, suivant la variante considérée: le nombre de neurones est plus ou moins élevé, des entrées Z supplémentaires, par exemple égales à Bl ou à un multiple de cette valeur sont ou ne sont pas nécessaires, * les coefficients synaptiques sont fixes ou variables au cours d'une ou plusieurs divisions, les fonctions de transfert des comparateurs sont fixes ou variables au cours d'une division, des variables externes ou internes au fonctionnement apparaissent comme états de neurones ou comme coefficients synaptiques, et si les registres respectifs n'ont pas la même taille, les valeurs maximales acceptables pour ces variables sont plus ou moins élevées, c'est-à-dire que les problèmes de dépassement doivent être
traités différemment.

Claims (5)

REVENDICATIONS
1 Processeur neuronal comprenant des moyens de calcul de type neuronal ( 11-15) qui normalisent une donnée d'entrée X par rapport à une autre donnée d'entrée Y en calculant un quotient Q d'une division de X par Y, caractérisé en ce que lesdits moyens de calcul sont programmés pour mettre en oeuvre: au moins un neurone (NA 1 NAB_ 1) (NB 1 NBB_ 1) (NC) qui calcule par récurrence une suite de contributions A Qi = qi Bl qui forment ensemble une expression du quotient Q dans une base arithmétique B, et au moins un neurone (NQ) qui met à jour par récurrence un quotient partiel QP en totalisant lesdites contributions A Qi pour délivrer le quotient Q. 2 Processeur selon la revendication 1 caractérisé en ce que le quotient partiel QP étant initialement nul, lesdits moyens de calcul sont programmés pour: ladite par au nombre a calculer une pluralité de quantités S Dj = X (Q Pi+ + j Bi) Y pluralité résultant d'un nombre B-1 d'opérations effectuées moins un neurone, pour j variant de i à B-1, i étant un entier initialement égal à un nombre maximal prédéterminé, b déterminer une valeur j = qi qui vérifie: sign (S Dj) é sign (S Dj + 1) avec SD O 2 O, SDB < O, et sign ( 0) = + 1 c déterminer une contribution A Qi = qi Bl d déterminer un nouveau quotient partiel tel que: Q Pl = Q Pi+l + A Qi e décrémenter i pour déterminer le quotient Q en réitérant les opérations précédentes jusqu'à une valeur i minimale qui définit une précision prédéterminée pour Q. 3 Processeur selon la revendication 2 caractérisé en ce que les moyens de calcul sont programmés pour calculer (NR) un reste partiel R Pl = X Q Pi Y, le reste partiel, initialement égal à X, étant mis à jour par récurrence tel que: R Pl = R Pi+l Y A Qi 4 Processeur selon la revendication 3 caractérisé en ce que les moyens de calcul sont programmés pour en outre calculer (NA 1 NAB 1) une pluralité de quantités S Di = R Pi+, j B' Y.
Processeur selon une des revendications 1 à 4
caractérisé en ce que plusieurs groupes d'au moins un neurone se
partagent la réalisation des B-1 opérations.
6 Processeur selon une des revendications 2 à 5
caractérisé en ce que les phases c et/ou d sont réalisées par au
moins un neurone.
7 Processeur selon la revendication 2 caractérisé en ce que pour B = 2, le processeur neuronal opère avec 2 neurones, un premier neurone (NA) effectuant les phases a, b et c et un second
neurone (NQ) effectuant la phase d.
8 Processeur selon la revendication 2 caractérisé en ce que pour B = 2, le processeur neuronal opère avec 2 neurones, un premier neurone (NA) effectuant les phases a et b et un second
neurone (NQ) effectuant les phases c et d.
9 Processeur selon une des revendications 3 ou 4
caractérisé en ce que pour B = 2, le processeur neuronal opère avec 3 neurones, un premier neurone (NA) effectuant les phases a, b et c, un second neurone (NQ) et un troisième neurone (NR) effectuant les
mises à jour respectivement du quotient partiel et du reste partiel.
Processeur selon une des revendications 3 ou 4
caractérisé en ce que pour B = 2, le processeur neuronal opère avec 3 neurones, un premier neurone (NA) effectuant les phases a et b, un second neurone (NQ) et un troisième neurone (NR) effectuant la phase c et les mises à jour respectivement du quotient partiel et du reste partiel.
il Processeur selon une des revendications 1 à 10
caractérisé en ce que lesdits moyens de calcul sont programmables pour effectuer à un moment une division et, à un autre moment, pour
effectuer des tâches neuronales de résolution et/ou d'apprentissage.
FR9205282A 1992-04-29 1992-04-29 Processeur neuronal muni de moyens pour normaliser des données. Pending FR2690771A1 (fr)

Priority Applications (6)

Application Number Priority Date Filing Date Title
FR9205282A FR2690771A1 (fr) 1992-04-29 1992-04-29 Processeur neuronal muni de moyens pour normaliser des données.
DE69315250T DE69315250T2 (de) 1992-04-29 1993-04-21 Neuronaler Prozessor mit Datennormalisierungsanlage
EP93201157A EP0568146B1 (fr) 1992-04-29 1993-04-21 Processeur neuronal muni de moyens pour normaliser des données
JP10121893A JP3461525B2 (ja) 1992-04-29 1993-04-27 データを正規化する手段を含むニューラル・プロセッサ
US08/055,431 US5625753A (en) 1992-04-29 1993-04-29 Neural processor comprising means for normalizing data
US08/464,922 US5784536A (en) 1992-04-29 1995-06-05 Neural processor comprising means for normalizing data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9205282A FR2690771A1 (fr) 1992-04-29 1992-04-29 Processeur neuronal muni de moyens pour normaliser des données.

Publications (1)

Publication Number Publication Date
FR2690771A1 true FR2690771A1 (fr) 1993-11-05

Family

ID=9429368

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9205282A Pending FR2690771A1 (fr) 1992-04-29 1992-04-29 Processeur neuronal muni de moyens pour normaliser des données.

Country Status (5)

Country Link
US (2) US5625753A (fr)
EP (1) EP0568146B1 (fr)
JP (1) JP3461525B2 (fr)
DE (1) DE69315250T2 (fr)
FR (1) FR2690771A1 (fr)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2400813C2 (ru) * 2008-12-22 2010-09-27 Государственное образовательное учреждение высшего профессионального образования "Ставропольский военный институт связи ракетных войск" Министерства обороны Российской Федерации Нейронная сеть основного деления модулярных чисел
US8655813B2 (en) 2010-12-30 2014-02-18 International Business Machines Corporation Synaptic weight normalized spiking neuronal networks
IT201700008949A1 (it) 2017-01-27 2018-07-27 St Microelectronics Srl Procedimento di funzionamento di reti neurali, rete, apparecchiatura e prodotto informatico corrispondenti
US11238334B2 (en) 2017-04-04 2022-02-01 Hailo Technologies Ltd. System and method of input alignment for efficient vector operations in an artificial neural network
US11544545B2 (en) 2017-04-04 2023-01-03 Hailo Technologies Ltd. Structured activation based sparsity in an artificial neural network
US12430543B2 (en) 2017-04-04 2025-09-30 Hailo Technologies Ltd. Structured sparsity guided training in an artificial neural network
US11615297B2 (en) 2017-04-04 2023-03-28 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network compiler
US11551028B2 (en) 2017-04-04 2023-01-10 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network
US10387298B2 (en) 2017-04-04 2019-08-20 Hailo Technologies Ltd Artificial neural network incorporating emphasis and focus techniques
US11263077B1 (en) 2020-09-29 2022-03-01 Hailo Technologies Ltd. Neural network intermediate results safety mechanism in an artificial neural network processor
US11221929B1 (en) 2020-09-29 2022-01-11 Hailo Technologies Ltd. Data stream fault detection mechanism in an artificial neural network processor
US11874900B2 (en) 2020-09-29 2024-01-16 Hailo Technologies Ltd. Cluster interlayer safety mechanism in an artificial neural network processor
US11811421B2 (en) 2020-09-29 2023-11-07 Hailo Technologies Ltd. Weights safety mechanism in an artificial neural network processor
US11237894B1 (en) 2020-09-29 2022-02-01 Hailo Technologies Ltd. Layer control unit instruction addressing safety mechanism in an artificial neural network processor
US12248367B2 (en) 2020-09-29 2025-03-11 Hailo Technologies Ltd. Software defined redundant allocation safety mechanism in an artificial neural network processor

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5039870A (en) * 1990-05-21 1991-08-13 General Electric Company Weighted summation circuits having different-weight ranks of capacitive structures

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3733477A (en) * 1972-02-04 1973-05-15 Control Data Corp Iterative binary divider utilizing multiples of the divisor
US3828175A (en) * 1972-10-30 1974-08-06 Amdahl Corp Method and apparatus for division employing table-lookup and functional iteration
US4193115A (en) * 1977-12-15 1980-03-11 The United States Of America As Represented By The Secretary Of Commerce Method and apparatus for implementation of the CMAC mapping algorithm
US4503512A (en) * 1982-02-22 1985-03-05 Amdahl Corporation Cellular division circuit
JPS60164837A (ja) * 1984-02-07 1985-08-27 Nec Corp 除算装置
US4860241A (en) * 1986-10-30 1989-08-22 Harris Corporation Method and apparatus for cellular division
FR2625347B1 (fr) * 1987-12-23 1990-05-04 Labo Electronique Physique Structure de reseau de neurones et circuit et arrangement de reseaux de neurones
FR2646575A1 (fr) * 1989-04-26 1990-11-02 Labo Electronique Physique Procede et structure pour la compression de donnees
GB2236608B (en) * 1989-10-06 1993-08-18 British Telecomm Digital neural networks
DE69031866T2 (de) * 1990-03-30 1998-06-18 Koninkl Philips Electronics Nv Verfahren und Anordnung zur Signalverarbeitung durch die Eigenvektortransformation
US5206828A (en) * 1990-04-02 1993-04-27 Advanced Micro Devices, Inc. Special carry save adder for high speed iterative division
KR920009092B1 (ko) * 1990-04-03 1992-10-13 정호선 나눗셈기 회로
FR2678407A1 (fr) * 1991-06-28 1992-12-31 Philips Electronique Lab Procede et dispositif avec un reseau neuronal pour classer des donnees, et appareil d'authentification de signature.
US5272660A (en) * 1992-06-01 1993-12-21 Motorola, Inc. Method and apparatus for performing integer and floating point division using a single SRT divider in a data processor

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5039870A (en) * 1990-05-21 1991-08-13 General Electric Company Weighted summation circuits having different-weight ranks of capacitive structures

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
1991 IEEE INTERNATIONAL JOINT CONFERENCE ON NEURAL NETWORKS vol. 3, 18 Novembre 1991, SINGAPORE pages 343 - 348 TODA 'Polynomial functions can be realized by finite size multilayer feedforward neural networks' *
ELECTRONICS LETTERS vol. 26, no. 2, 18 Janvier 1990, ENAGE GB pages 82 - 84 PERFETTI 'L1 normalisation in neural networks using parallel automatic level control' *
PROCEEDINGS OF THE 32ND MIDWEST SYMPOSIUM ON CIRCUITS AND SYSTEMS 14 Août 1989, CHAMPAIGN, ILLINOIS,USA pages 505 - 508 HU 'A neural network based multiplier' *

Also Published As

Publication number Publication date
US5784536A (en) 1998-07-21
EP0568146A1 (fr) 1993-11-03
US5625753A (en) 1997-04-29
DE69315250T2 (de) 1998-07-30
DE69315250D1 (de) 1998-01-02
JP3461525B2 (ja) 2003-10-27
EP0568146B1 (fr) 1997-11-19
JPH07271748A (ja) 1995-10-20

Similar Documents

Publication Publication Date Title
EP0322966B1 (fr) Circuit et structure de réseau de neurones
FR2690771A1 (fr) Processeur neuronal muni de moyens pour normaliser des données.
EP0568145B1 (fr) Processeur neuronal muni de moyens pour calculer une norme ou une distance
EP0624847B1 (fr) Dispositif et méthode pour générer une fonction d&#39;approximation
FR2658337A1 (fr) Procede d&#39;apprentissage d&#39;un reseau de neurones hierarchise et reseau de neurones hierarchise.
EP0558125B1 (fr) Processeur neuronal à cellules synaptiques reparties
EP0546624B1 (fr) Système de traitement de données opérant avec une fonction non linéaire formée de morceaux
EP3394797A1 (fr) Circuit neuronal optimise, architecture et procede pour l&#39;execution des reseaux de neurones
EP0154340A1 (fr) Processeur de calcul d&#39;une transformée discrète inverse du cosinus
EP0552074A1 (fr) Système de traitement de données multiprocesseur
EP0395150A1 (fr) Procédé et structure pour la compression de données
EP0154341A1 (fr) Processeur de calcul d&#39;une transformée discrète du cosinus
FR2639736A1 (fr) Procede de retropropagation du gradient et structure de reseau de neurones
FR2588142A1 (fr) Systeme permettant le traitement a haute vitesse par convolutions de donnees d&#39;image.
EP0449353B1 (fr) Dispositif de traitement de données et procédé pour sélectionner des mots de données contenus dans un dictionnaire
WO2020126529A1 (fr) Processeur de traitement de donnees, procede et programme d&#39;ordinateur correspondant.
EP0446974A1 (fr) Procédé de classification mis en oeuvre dans un réseau de neurones en couches pour classification multiclasses et réeseau de neurones en couches selon le procédé
EP0142412B1 (fr) Dispositif de transformation de la probabilité d&#39;apparition de vecteurs logiques et de génération de séquences de vecteurs à probabilités variables dans le temps
FR2704669A1 (fr) Système à réseau neuronal pour le traitement de signaux, notamment pour l&#39;analyse et la synthèse d&#39;images.
EP0683462A2 (fr) Procédé et processeur pour construire une fonction linéaire par morceaux avec discontinuités éventuelles
EP0254628B1 (fr) Circuit de traitement numérique de signal réalisant une transformation cosinus
FR2655444A1 (fr) Reseau neuronal a circuits neuronaux electroniques a apprentissage de coefficients, et procede d&#39;apprentissage.
FR3117645A1 (fr) Mise à profit de la faible densité de données ou de poids non-nuls dans un calculateur de somme pondérée
FR3161778A1 (fr) Réseau de neurones binaires
FR3114422A1 (fr) Calculateur électronique de mise en œuvre d’un réseau de neurones artificiels, avec blocs de calcul de plusieurs types