FR2660091A1 - Dispositif et procede pour ameliorer la vitesse de fonctionnement de reseaux neuronaux. - Google Patents
Dispositif et procede pour ameliorer la vitesse de fonctionnement de reseaux neuronaux. Download PDFInfo
- Publication number
- FR2660091A1 FR2660091A1 FR9103095A FR9103095A FR2660091A1 FR 2660091 A1 FR2660091 A1 FR 2660091A1 FR 9103095 A FR9103095 A FR 9103095A FR 9103095 A FR9103095 A FR 9103095A FR 2660091 A1 FR2660091 A1 FR 2660091A1
- Authority
- FR
- France
- Prior art keywords
- function
- nonlinear function
- nonlinear
- neural network
- predetermined
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Character Discrimination (AREA)
- Image Analysis (AREA)
Abstract
L'invention concerne les réseau neuronaux. On obtient une vitesse de fonctionnement plus élevée sans sacrifier la précision et la fiabilité du calcul dans un réseau neuronal, en remplaçant une fonction non linéaire complexe au point de vue du calcul (3) par une fonction non linéaire similaire mais moins complexe (4), dans chaque élément de calcul ou neurone, après que ce dernier a fait l'objet d'une opération d'apprentissage par un algorithme d'apprentissage approprié, pour le problème de classification que traite le réseau neuronal. Dans un exemple de réalisation, on remplace une fonction tangente hyperbolique par une fonction logique à seuils linéaire par morceaux. Application à la reconnaissance de formes.
Description
La présente invention concerne le domaine de la reconnaissance de formes, et elle concerne plus particulièrement des éléments de calcul dans des réseaux neuronaux.
Les activités de collecte, de gestion, de manipulation, d'enregistrement et de transmission d'information faisant appel à l'informatique ont favorisé le développement et l'acceptation de systèmes de calcul basés sur un apprentissage adaptatif, avec diverses architectures de réseaux neuronaux. On appelle couramment ces systèmes de calcul des réseaux à apprentissage automatique, des réseaux neuronaux, des réseaux à couches hiérarchisées, et des réseaux de calculs massivement parallèles. Des applications des systèmes de calcul représentent des techniques potentiellement efficaces pour résoudre des problèmes tels que la reconnaissance automatique, l'analyse et la classification de formes de caractères dans une image particulière.
Lorsqu'on mesure la valeur de tels systèmes appliqués, il est nécessaire d'examiner spécialement deux paramètres de fonctionnement essentiels relatifs à des techniques classiques. Ces paramètres sont la vitesse et la précision.
La précision des systèmes a été continuellement améliorée par l'utilisation d'architectures plus complexes, de procédures d'apprentissage plus étendues, et de niveaux de décision intermédiaires à valeurs multiples (par exemple le codage avec une échelle de gris). Malheureusement, des améliorations visant à obtenir une plus grande précision du système ont tendance à influer défavorablement sur la vitesse du système.
Du fait que la plupart des systèmes sont basés sur des formes de réalisation utilisant un processeur universel ou spécialisé, la complexité et le caractère rigoureux d'une telle forme de réalisation se traduit généralement en étapes de programme supplémentaires pour le processeur. La réponse du processeur est ralentie à son tour d'une quantité qui est liée au nombre supplémentaire d'étapes de programme à exécuter. Il en résulte que des systèmes de calcul à réseaux neuronaux plus efficaces n'apparaissent réalisables que par le remplacement du processeur par un processeur plus rapide et ayant une précision égale ou supérieure.
Conformément à l'invention, on obtient une vitesse de fonctionnement plus élevée avec une complexité de calcul réduite, sans sacrifier la qualité, la précision et la fiabilité du résultat, dans un réseau neuronal, en réalisant simultanément la fonction d'apprentissage pour un ensemble de neurones (éléments de calcul) dans le réseau neuronal, tandis qu'une fonction de limitation non linéaire, complexe au point de vue du calcul, est employée dans chaque neurone ou élément de calcul pour déterminer des poids précis pour chaque neurone, en remplaçant la fonction de limitation non linéaire complexe au point de vue du calcul, par une fonction de limitation non linéaire moins complexe, et en classant les données présentées au réseau neuronal avec la fonction de limitation non linéaire moins complexe qui est employée dans chaque neurone du réseau neuronal.Le remplacement de la fonction de limitation non linéaire complexe au point de vue du calcul, par la fonction non linéaire moins complexe, permet de réaliser des économies de calcul pour le réseau neuronal, dans chaque neurone.
Dans un mode de réalisation, une fonction non linéaire différentiable telle qu'une fonction tangente hyperbolique est remplacée par une fonction logique à seuils linéaire par morceaux. Des fonctions non linéaires différentiables sont nécessaires pour certains critères d'apprentissage bien connus, comme la rétro-propagation.
Dans un autre mode de réalisation, chaque neurone ou élément de calcul du réseau neuronal comprend plusieurs éléments de fonction non linéaire, représentant des fonctions del tation non linéaires ayant divers degrés de complexité. Les éléments sont commutés en fonction et hors fonction de manière commandée, pendant les phases d'apprentissage et de classification, conformément aux principes de l'invention.
D'autres caractéristiques et avantages de l'invention seront mieux compris à la lecture de la description qui va suivre de modes de réalisation constituant des exemples spécifiques. La suite de la description se réfère aux dessins annexés dans lesquels
Les figures 1 et 2 sont des schémas synoptiques simplifiés de différents éléments de calcul individuels dans un réseau à apprentissage ou réseau neuronal conforme aux principes de l'invention;
Les figures 3 à 7 sont des exemples de représentations graphiques de différentes fonctions non linéaires qu'utilisent les éléments de calcul des figures 1 et 2; et
La figure 8 montre un schéma synoptique simplifié d'un exemple de réseau à apprentissage automatique hiérarchisé de l'art antérieur.
Les figures 1 et 2 sont des schémas synoptiques simplifiés de différents éléments de calcul individuels dans un réseau à apprentissage ou réseau neuronal conforme aux principes de l'invention;
Les figures 3 à 7 sont des exemples de représentations graphiques de différentes fonctions non linéaires qu'utilisent les éléments de calcul des figures 1 et 2; et
La figure 8 montre un schéma synoptique simplifié d'un exemple de réseau à apprentissage automatique hiérarchisé de l'art antérieur.
Dans la description qui suit, on présente la reconnaissance de formes, et en particulier la reconnaissance de caractères optiques, à titre de domaines d'application de 1 invention. Un tel exemple est choisi dans un but d'explication et non de limitation. On envisage la possibilité d'appliquer également la présente invention à des domaines tels que le traitement et la reconnaissance de la parole, des systèmes de commande automatique, et d'autres réseaux du type à intelligence artificielle ou à apprentissage automatique, qui entrent dans le cadre de ce qu'on appelle couramment des réseaux neuronaux. On utilise ci-après le terme "réseau neuronal" pour désigner de façon générique tous ces réseaux.
Des éléments de calcul qui sont représentés sur les figures 1 et 2 constituent les blocs fonctionnels et de connexion fondamentaux pour la plupart des réseaux neuro naux ou à apprentissage. De façon générale, un élément de calcul forme une somme pondérée de valeurs d'entrée pour n+l entrées, et il fait passer le résultat par une non-linéari té f(#), ), en désignant par le signal d'entrée de la fonc- tion non linéaire, pour obtenir une seule valeur. La nonlinéarité est encore appelée fonction de limitation non linéaire, et elle comprend des fonctions telles que des fonctions de limiteur ferme, des fonctions d'éléments logiques à seuils, et des fonctions en S, par exemple, comme représenté sur les figures 3 à 7.Les valeurs d'entrée et de sortie pour l'élément de calcul peuvent être de nature analogique, quasi-analogique, comme des valeurs à niveaux multiples et des valeurs représentant une échelle de gris, ou binaire.
En fonctionnement, l'élément de calcul qui est représenté sur les figures 1 et 2 scrute n entrées différentes qui, dans le cas d'un exemple de fonctionnement correspondant à une reconnaissance de caractères optiques, peuvent être des pixels d'entrée voisins, des valeurs de pixels ou des valeurs d'éléments provenant d'une table définissant une image ou des caractéristiques. Ces signaux d'entrée ont des valeurs qu'on désigne par a1, a2, ..., an.
Une polarisation d'entrée est appliquée à une entrée de rang n+1 d'un élément de calcul. Pour simplifier, la polarisation est généralement fixée à une valeur constante telle que 1. Les signaux d'entrée et de polarisation sont appliqués à des multiplicateurs 1-1 à 1-(n+1). Les multiplicateurs acceptent un autre signal d'entrée provenant d'un vecteur de poids, ayant des poids w1 à Won+1 Les signaux de sortie qui proviennent de tous les multiplicateurs sont appliqués à un additionneur 2 qui génère la somme pondérée des valeurs d'entrée. De ce fait, le signal de sortie de l'additionneur 2 est simplement le produit scalaire d'un vecteur de valeurs d'entrée (comprenant une valeur de polarisation) et d'un vecteur représentant les poids.La valeur de sortie de l'additionneur 2 est transmise par la fonction non linéaire pour générer une valeur de sortie pour un seul élément, xi. Comme on le comprendra plus clairement ciaprès, la valeur de sortie d'élément x. est liée à la valeur du i-ième élément dans la table de caractéristiques qui est considérée.
On utilise une première fonction non linéaire pendant la phase d'apprentissage du fonctionnement du réseau neuronal, pour établir des valeurs du vecteur de poids au moyen d'un algorithme d'apprentissage de type standard, tel que la rétro-propagation, ou autre. Pendant une phase de non-apprentissage, telle qu'une phase de classification ou de reconnaissance, le réseau neuronal utilise une seconde fonction non linéaire. Conformément aux principes de la présente invention, la seconde fonction non linéaire est moins complexe que la première fonction non linéaire, au point de vue du calcul.
On fait référence à la complexité de calcul pour indiquer que les calculs qui sont nécessaires pour obtenir un résultat pour la fonction non linéaire (eX.) sont plus simples, et très probablement moins nombreux, pour la seconde fonction non linéaire, en comparaison avec la première fonction non linéaire. Ceci ressortira plus clairement de la description des figures 3 à 7 qui est présentée ci-dessous. En n'exigeant qu'une plus faible complexité de calcul pour la non-linéarité pendant une phase de nonapprentissage, on peut voir aisément que chaque élément de calcul fonctionne plus rapidement pendant une phase de fonctionnement de non-apprentissage, en comparaison avec chaque élément de calcul correspondant utilisant la première fonction non linéaire pendant la phase de fonctionnement d'apprentissage.
On pourra probablement comprendre le mieux la complexité de calcul en se référant aux figures 3 à 7. Les figures 5 et 7 sont des fonctions non linéaires continues ayant un degré élevé de complexité de calcul, en comparaison avec les fonctions linéaires par morceaux ou quasicontinues qui sont représentées sur les figures 3, 4 et 6.
Conformément aux principes de l'invention, on utilise une fonction non linéaire complexe au point de vue du calcul (comme par exemple les fonctions des figures 5 et 7) pendant la phase d'apprentissage, pour établir des valeurs pour chaque signal d'entrée de vecteur de poids. Après que les valeurs de vecteur de poids ont été fixées, une fonction non linéaire plus simple au point de vue du calcul (comme par exemple les fonctions des figures 3, 4 et 6), remplace la fonction complexe au point de vue du calcul.
Des fonctions non linéaires continues comme celles représentées sur les figures 5 et 7, exigent un volume de calcul important pour déterminer f(#) ) pour un d donné.
Elles sont donc complexes au point de vue du calcul. Il faut noter que ces fonctions varient de façon asymptotique le long des deux axes horizontaux.
Des fonctions moins complexes, représentées sur les figures 3, 4 et 6, exigent beaucoup moins de calculs pour déterminer la valeur de f(G ). Une fonction de limiteur ferme, représentée sur la figure 3, constitue une approximation minimale de la fonction non linéaire complexe de la figure 7. La figure 6 représente une bien meilleure approximation pour la fonction de la figure 7, et elle consiste en une fonction logique à seuils qui est linéaire par morceaux. Cette dernière fonction est appelée fonction linéaire par morceaux, du fait qu'elle comprend un certain nombre de morceaux linéaires pour former la fonction complète.Bien que sur la représentation qui est faite, les points de cassure se trouvent à des points d'égalité pour lfordonnée et l'abscisse, on envisage la possibilité d'utiliser d'autres relations, de façon à pouvoir changer la pente de la ligne ou déplacer la courbe vers la gauche ou la droite, etc.
Bien que les figures 3 à 7 représentent un certain nombre de fonctions non linéaires différentes ayant des complexités de calcul variables, on envisage la possibilité d'utiliser de nombreuses autres fonctions non linéaires dans la présente invention. A titre d'exemple, on peut employer une approximation par série de Taylor d'une fonction deijinitation non linéaire particulière, à titre de fonction non linéaire complexe au point de vue du calcul.
Une approximation par série de Taylor précise de la fonction tangente hyperbolique est donnée par l'expression
dans laquelle n est un entier élevé et ai sont des coefficients constants. Une fonction non linéaire ayant une complexité de calcul réduite, qui peut être utilisée à la place du développement en série de Taylor précis indiqué cidessus, est donnée par l'expression
en désignant par m un entier faible, tel que m CE n.
dans laquelle n est un entier élevé et ai sont des coefficients constants. Une fonction non linéaire ayant une complexité de calcul réduite, qui peut être utilisée à la place du développement en série de Taylor précis indiqué cidessus, est donnée par l'expression
en désignant par m un entier faible, tel que m CE n.
Il peut être souhaitable de choisir une fonction moins complexe au point de vue du calcul, ~2( ~ ), pour remplacer la fonction non linéaire plus complexe au point de vue du calcul, ~1(% ), en prenant pour f2( #) une relative ment bonne approximation de f1 (0 < ). On envisage cependant la possibilité d'utiliser n'importe quelle fonction moins complexe pour remplacer n'importe quelle fonction plus complexe, avec peu ou pas de relation entre les deux fonctions.
Comme le montre la figure 1, la fonction non linéaire complexe au point de vue du calcul 3, ~1( ~ ), qui est utilisée pendant la phase d'apprentissage, est commutée hors fonction de façon commandée, pour l'élément de calcul, par les commutateurs 5 et 6. Lorsque le réseau est dans une phase de non-apprentissage, la fonction non linéaire moins complexe 4, f2(#), est connectée en fonction pour l'élé- ment de calcul.
On a envisagé des modifications de la configuration de commutateurs qui est représentée sur la figure 1.
De telles variations comprennent la connexion de la sortie x. à chacune des non-linéarités 3 et 4, et l'utilisation du commutateur 5 pour diriger les données vers la fonction non linéaire correcte pour la phase de fonctionnement particulière du réseau neuronal. Une autre modification comprend la connexion de l'entrée à chacune des non-linéarités 3 et 4 et l'actionnement du commutateur 6 pour sélectionner la fonction non linéaire appropriée pour la phase de fonctionnement particulière.
La figure 2 montre une seule non-linéarité 7 dans laquelle la fonction non linéaire fi( G ) est évaluée pour un facteur donné, l'indice i de la fonction étant égal à 1 pour une fonction non linéaire complexe au point de vue du calcul, et égal à 2 pour une fonction non linéaire ayant une moindre complexité de calcul. Cette configuration exige moins de composants que l'élément de calcul de la figure 1, mais elle est de même forme que la configuration qui est représentée sur la figure 1.
Dans un exemple tiré de la pratique expérimentale, un exemple de fonction en S pour la non-linéarité complexe au point de vue du calcul, 3, sur la figure 1, est choisi pour la phase d'apprentissage sous la forme d'une fonction tangente hyperbolique multipliée par un facteur constant, soit ~1(N )=c.tanh(S#), avec les notations sui vantes :# est le signal d'entrée de somme pondérée qui est appliqué à la non-linéarité, c est l'amplitude de la fonction, et S détermine la pente de la fonction à l'origine.
Comme décrit ci-dessus et représenté sur la figure 7, la non-linéarité est une fonction impaire avec des asymptotes horizontales en +c et -c. On notera qu'on considère que des fonctions non linéaires présentant une symétrie impaire procurent une convergence plus rapide des éléments de vecteur de poids, w1 à wn+l, pendant l'apprentissage.
On obtient des poids pour chaque élément de calcul dans un réseau à apprentissage en utilisant un algorithme d'apprentissage de type standard. Un tel algorithme d'apprentissage consiste en une technique d'apprentissage par essai et erreur qu'on appelle encore rétro-propagation.
On pourra voir à cet égard les documents suivants
Rumelhart et al., Learning Internal Representation by
Error Propagation", paru dans Parallel Distributed Processing : Explorations in the Microstructure of Cognition,
Volume I, pages 319-364 (Cambridge, MA : Bradford Books); ou R.P. Lippmann, "An Introduction to Computing with Neural
Nets", IEEE ASSP Magazine, Vol. 4, n 2, pages 4-22 (1987).
Rumelhart et al., Learning Internal Representation by
Error Propagation", paru dans Parallel Distributed Processing : Explorations in the Microstructure of Cognition,
Volume I, pages 319-364 (Cambridge, MA : Bradford Books); ou R.P. Lippmann, "An Introduction to Computing with Neural
Nets", IEEE ASSP Magazine, Vol. 4, n 2, pages 4-22 (1987).
Les renseignements qui figurent dans ces deux documents en ce qui concerne l'apprentissage automatique sont expressement incorporés ici par référence. Avant l'apprentissage, chaque poids est initialisé à une valeur aléatoire en utilisant une distribution uniforme, par exemple entre et 2,4/F., en désignant par F. le nombre d'entrées (entran
i i ce) de l'unité à X lelaconnexion appartient. Pour l'exemple qui est représenté sur la figure 1, l'entrance F. est égale à n+1. En utilisant cette technique d'initialisation, il est possible de maintenir les valeurs dans la plage de fonctionnement de la non-linéarité en S. Pendant l'apprentissage, des configurations d'image sont présentées dans un ordre constant.Les poids sont actualisés conformément au gradient stochastique ou à la procédure "en ligne", après chaque présentation d'une seule configuration d'image pour la reconnaissance. On peut employer pour l'actualisation une procédure de gradient vrai, de façon que le calcul de moyenne ait lieu sur la totalité de l'ensemble d'apprentissage avant que les poids ne soient actualisés. Il faut no ter qu'on trouve que le gradient stochastique fait converger les poids plus rapidement que le gradient vrai, en particulier pour de grandes bases de données d'image redondantes.
i i ce) de l'unité à X lelaconnexion appartient. Pour l'exemple qui est représenté sur la figure 1, l'entrance F. est égale à n+1. En utilisant cette technique d'initialisation, il est possible de maintenir les valeurs dans la plage de fonctionnement de la non-linéarité en S. Pendant l'apprentissage, des configurations d'image sont présentées dans un ordre constant.Les poids sont actualisés conformément au gradient stochastique ou à la procédure "en ligne", après chaque présentation d'une seule configuration d'image pour la reconnaissance. On peut employer pour l'actualisation une procédure de gradient vrai, de façon que le calcul de moyenne ait lieu sur la totalité de l'ensemble d'apprentissage avant que les poids ne soient actualisés. Il faut no ter qu'on trouve que le gradient stochastique fait converger les poids plus rapidement que le gradient vrai, en particulier pour de grandes bases de données d'image redondantes.
La réalisation des éléments de calcul et de réseaux entiers utilisés dans ce but, peut se faire par matériel ou par logiciel, ou par une certaine combinaison commode de matériel et de logiciel. La majeure partie du réseau présenté ici a été réalisée en utilisant un processeur de signal numérique AT & DSP 32C, avec des programmes simples pour effectuer les opérations mathématiques rudimentaires d'addition, de soustraction, de multiplication et de comparaison. Des dispositifs à structure pipeline, des microprocesseurs et des processeurs de signal numérique spécialisés procurent également des architectures commodes pour réaliser le réseau conformément aux principes de l'invention. On a également employé la technologie MOS à très haut niveau d'intégration (VLSI), pour réaliser des réseaux d'interconnexion pondérés particuliers, du type représenté sur la figure 8.Une mémoire locale est souhaitable pour enregistrer des valeurs de pixels et d'éléments, ainsi que d'autres résultats de calculs temporaires.
A chaque pixel est associée une valeur qui correspond à l'intensité lumineuse ou à la couleur, ou autre, émanant de la petite surface correspondante sur l'image de caractère visuel. Les valeurs des pixels sont ensuite enregistrées dans les dispositifs de mémoire. Lorsqu'on fait référence à une table particulière, les termes "pixel" et "valeur(s) d'élément" sont utilisés de façon interchangeable, et ils englobent des pixels, des valeurs de pixel et des valeurs d'élément provenant de chaque élément de calcul et se combinant pour former le tableau ou la table. Il peut être plus commode de raisonner en termes de plans ou de tableaux (tables) bidimensionnels de pixels, plutôt qu'en valeurs de pixel ou en valeurs d'élément, pour visualier et comprendre le fonctionnement du réseau.
On utilise des techniques de type standard pour convertir un caractère écrit manuellement, de façon à donner le tableau de pixels qui forme l'image de caractère qui est fournie. On peut obtenir l'image de caractère par transmission électronique à partir d'un emplacement éloigné, ou bien on peut l'obtenir localement avec une caméra d'analyse ou un autre dispositif d'analyse. Indépendamment de sa source, et conformément à la pratique classique, l'image de caractère est représentée par une collection ordonnée de pixels. La collection ordonnée est de façon caractéristique un tableau. Une fois qu'elle est représentée, l'image de caractère est généralement saisie et enregistrée dans un dispositif de mémoire optique ou un dispositif de mémoire électronique, tel qu'une mémoire tampon de trame.
Diverses autres techniques de pré-traitement qui sont utilisées pour préparer une image de caractère sous la forme d'un tableau de pixels pour la reconnaissance de caractères, peuvent comprendre diverses transformations telles que l'application d'un facteur d'échelle, la normalisation de la taille, l'alignement, le centrage et la translation ou le décalage, toutes ces opérations étant bien connues de l'homme de l'art. En outre, une transformation faisant passer du caractère écrit manuellement à un tableau de pixels avec une échelle de gris peut être souhaitable pour préserver une information qui serait par ailleurs irrémédiablement perdue pendant le pré-traitement. Cette dernière transformation est bien connue de l'homme de l'art.
En plus des opérations indiquées ci-dessus pour la préparation de l'image pour la reconnaissance de caractères, il est généralement souhaitable d'établir une bordure de niveau uniforme, pratiquement constant, autour de l'image d'origine.
La figure 8 montre un schéma synoptique simplifié d'un exemple de réalisation pour un réseau à apprentissage automatique avec des contraintes hiérarchiques, qui peut comprendre des éléments de calcul réalisés conformément aux principes de l'invention. Ce réseau a été décrit dans la demande de brevet des E.U.A. n0 444 455, déposée le 30 novembre 1989 et appartenant à la demanderesse. Les renseignements qui figurent dans la demande précitée sont expressément incorporés ici par référence. Le réseau effectue une opération de reconnaissance de caractères à partir d'une image fournie, au moyen de calculs massivement parallèles.
Chaque bloc représenté dans les niveaux 20 à 60 comprend un ensemble d'éléments de calcul, à savoir un par tableau élémentaire.
Le réseau qui est représenté sur la figure 8 comprend des première et seconde couches de détection de caractéristiques, et une couche de classification de caractère. Chaque couche comprend un ou plusieurs tableaux ou tables de caractéristiques, de taille variable. Dans les applications les plus classiques, les tables sont carrées.
On envisage cependant la possibilité d'utiliser des configurations de tables rectangulaires et d'autres configurations symétriques et non symétriques ou irrégulières. On appelle "table" la configuration de caractéristiques détectées, du fait qu'on construit dans le dispositif de mémoire un tableau dans lequel les pixels (valeurs d'élément) sont enregistrés et des détections de caractéristiques provenant d'une table de niveau inférieur sont placées dans les positions appropriées dans le tableau pour cette table. La présence ou la quasi-présence (dans le cas de l'utilisation de niveaux d'échelle de gris) d'une caractéristique, et son emplacement relatif, sont ainsi enregistrés.
Le type de caractéristique détecté dans une table est déterminé par le vecteur de poids qui est utilisé. Dans des tables correspondant à des caractéristiques imposées, le même vecteur de poids est utilisé pour chaque élément de la même table. Autrement dit, une table de caractéristiques imposées analyse un tableau de pixels pour rechercher l'apparition de la caractéristique particulière qui est définie par un vecteur de poids particulier. On utilise ainsi le terme imposées pour traduire le fait que des éléments de calcul correspondant à une table particulière sont forcés de se partager le même vecteur de poids. Ceci conduit à la détection de la même caractéristique à des emplacements différents dans une image d'entrée. On notera que cette technique est également appelée partage de poids".
L'homme de l'art notera que le vecteur de poids définit un champ de réception (5 pixels x 5 pixels ou 2 pixels x 2 pixels) sur le plan des pixels d'image ou des éléments de table qui font l'objet d'une détection portant sur l'apparition de la caractéristique qui est définie par le vecteur de poids. En plaçant le vecteur de poids sur un tableau de pixels, il est possible de montrer les pixels qui sont appliqués à l'entrée de l'élément de comparaison dans la table de caractéristiques, ainsi que l'élément qui est activé dans la table de caractéristiques. L'élément qui est activé correspond généralement à une position approximative de l'apparition de la caractéristique considérée dans la table sur laquelle porte la détection.
La première couche de détection de caractéristiques comprend un ensemble de tables de caractéristiques imposées 20 et un ensemble correspondant de tables de réduction de caractéristiques 30. Comme le montre la figure, le mode de réalisation particulier du réseau comprend quatre des tables de caractéristiques imposées et quatre des tables de réduction de caractéristiques correspondantes dans la première couche. La seconde couche de détection de caractéristiques comprend un ensemble de tables de caractéristiques imposées 40 et un ensemble correspondant de tables de réduction de caractéristiques 50. Comme représenté sur la figure, le mode de réalisation particulier du réseau comprend douze des tables de caractéristiques imposées et des tables de réduction de caractéristiques correspondantes, dans la seconde couche.
La couche finale du réseau consiste en une couche de classification de caractères 60, qui est entièrement connectée à toutes les tables de réduction de caractéristiques de la seconde couche de détection de caractéristiques.
La couche de classification de caractères génère une indication du caractère qui est reconnu par le réseau, dans l'image originale qui lui est fournie. Le terme "entièrement connectée" signifie que l'élément de calcul qui est associé à un pixel dans la couche de classification de caractères 60 reçoit ses signaux d'entrée à partir de chaque pixel ou de chaque élément faisant partie de la couche de tables précédente, c'est-à-dire la couche 50.
Des lignes d'interconnexion de couche en couche dans le réseau ont été tracées pour montrer les tables dans une couche précédente qui appliquent des signaux d'entrée à chaque élément de calcul dont les éléments constitutifs forment les tables dans la couche considérée. A titre d'exemple, les tables de caractéristiques imposées 201 à 204 détectent différentes caractéristiques dans l'image 10 au cours du processus de génération des tables de caractéristiques imposées. En passant au niveau de tables suivant, on voit que la table de réduction de caractéristiques 301 reçoit son signal d'entrée exclusivement à partir des éléments de la table de caractéristiques imposées 201.De façon similaire, les tables de réduction de caractéristiques 302 à 304 reçoivent leur signal d'entrée exclusivement à partir des éléments qui se trouvent dans les tables de caractéristiques imposées respectives 202 à 204. Pour le mode de réalisation de réseau qui est représenté sur la figure 2, l'interconnexion de la première couche de détection de caractéristiques vers la seconde couche de détection de caractéristiques est un peu plus complexe. Les ta bles de caractéristiques imposées 401, 404, 407 et 410 reçoivent leurs signaux d'entrée exclusivement à partir d'éléments dans les tables de réduction de caractéristiques respectives 301 à 304.Les tables de caractéristiques imposées 402, 403, 405 et 406 reçoivent leurs signaux d'entrée à partir de combinaisons d'éléments des tables de réduction de caractéristiques 301 et 302; les tables de caractéristiques imposées 408, 409, 411 et 412 reçoivent leurs signaux d'entrée à partir de combinaisons d'éléments dans les tables de réduction de caractéristiques 303 et 304. Enfin, les tables de réduction de caractéristiques individuelles 501 à 512 reçoivent leurs signaux d'entrée exclusivement à partir d'éléments dans des tables individuelles parmi les tables de caractéristiques imposées correspondantes respectives 401 à 412.
Il faut noter que la couche de classification de caractères 60 comprend un nombre suffisant d'éléments pour le problème de reconnaissance de caractères particulier que résout le réseau. Ainsi, pour la reconnaissance de caractères alphabétiques latins majuscules ou minuscules, un exemple de réalisation de la couche 60 comprendrait 26 éléments correspondant aux lettres A à Z ou a à z. D'autre part, pour la reconnaissance de caractères numériques, un mode de réalisation de la couche 60 comprendrait seulement 10 éléments correspondant aux chiffres 0 à 9.
Pour la commodité et la facilité de la compréhension, l'entrée de polarisation de l'élément de calcul et son poids associé dans l'élément de vecteur de poids qui est représenté sur les figures 1 et 2sont omis dans la description du réseau neuronal qui est faite ici. Dans la pratique expérimentale, la polarisation est fixée à 1 et son poids correspondant est déterminé par apprentissage par la technique de rétro-propagation.
Lorsque des éléments de calcul réalisés conformément aux principes de l'invention sont employés dans le réseau qui est représenté sur la figure 8 et qui est programmé sur un processeur de signal numérique AT & du type
DSP-32C, le réseau neuronal permet de parvenir à une augmentation de 100% de la vitesse de fonctionnement pour la reconnaissance de caractères. L'apprentissage du réseau a été effectué en utilisant une fonction tangente hyperbolique avec apprentissage par rétro-propagation. La fonction tangente hyperbolique a été remplacée par une fonction linéaire par morceaux pendant la phase de classification (reconnaissance de caractères). Cette fonction linéaire par morceaux est représentée sur la figure 6 et elle s'exprime de la façon suivante f(#) ) =
DSP-32C, le réseau neuronal permet de parvenir à une augmentation de 100% de la vitesse de fonctionnement pour la reconnaissance de caractères. L'apprentissage du réseau a été effectué en utilisant une fonction tangente hyperbolique avec apprentissage par rétro-propagation. La fonction tangente hyperbolique a été remplacée par une fonction linéaire par morceaux pendant la phase de classification (reconnaissance de caractères). Cette fonction linéaire par morceaux est représentée sur la figure 6 et elle s'exprime de la façon suivante f(#) ) =
c, siG > c -c, Si$ < -c α, dans les autres cas en désignant par le signal d'entrée qui est appliqué à la non-linéarité dans l'élément de calcul.
Il va de soi que de nombreuses modifications peuvent être apportées au dispositif et au procédé décrits et représentés, sans sortir du cadre de l'invention.
Claims (18)
1. Dispositif de calcul prévu pour l'utilisation dans un réseau neuronal, caractérisé en ce qu'il comprend des moyens qui réagissent conjointement à un vecteur d'entrée de données et à un vecteur de poids en effectuant un produit scalaire de ces vecteurs, des moyens qui fonctionnent sous la dépendance d'une information de sortie des moyens de calcul de produit scalaire en limitant cette information de sortie conformément à une fonction non linéaire prédéterminée, pour générer une valeur de sortie pour le dispositif de calcul, et des moyens destinés à substituer une seconde fonction non linéaire à une première fonction non linéaire, pour la fonction prédéterminée dans les moyens de limitation, le vecteur de poids étant lié à la première fonction non linéaire, et la seconde fonction non linéaire étant moins complexe, au point de vue du calcul, que la première fonction non linéaire.
2. Dispositif de calcul selon la revendication 1, caractérisé en ce que la seconde fonction non linéaire est une approximation linéaire par morceaux de la première fonction non linéaire.
3. Dispositif de calcul selon la revendication 2, caractérisé en ce que la première fonction non linéaire est une fonction tangente hyperbolique.
5. Réseau neuronal comprenant un ensemble de dispositifs de calcul interconnectés selon une structure hiérarchique prédéterminée pour former le réseau, caracté risé en ce que chaque dispositif de calcul comprend des moyens qui réagissent conjointement à un vecteur d'entrée de données et à un vecteur de poids en effectuant un produit scalaire de ces vecteurs, des moyens qui fonctionnent sous la dépendance d'une information de sortie des moyens de calcul de produit scalaire en limitant cette information de sortie conformément à une fonction non linéaire prédéterminée, pour générer une valeur de sortie pour le dispositif de calcul, et des moyens destinés à substituer une seconde fonction non linéaire à une première fonction non linéaire, pour la fonction prédéterminée dans les moyens de limitation, le vecteur de poids étant lié à la première fonction non linéaire, et la seconde fonction non linéaire étant moins complexe, au point de vue du calcul, que la première fonction non linéaire.
6. Réseau neuronal selon la revendication 5, caractérisé en ce que la seconde fonction non linéaire est une approximation linéaire par morceaux de la première fonction non linéaire.
7. Réseau neuronal selon la revendication 6, ca ractérisé en ce que la première fonction non linéaire est une fonction tangente hyperbolique.
9. Procédé pour améliorer un réseau neuronal, ce réseau comprenant un ensemble d'éléments de calcul, et chaque élément de calcul comprenant des moyens qui réagissent à une valeur d'entrée de données en limitant cette valeur d'entrée de données conformément à une fonction non linéai re prédéterminée, pour générer une valeur de sortie pour le dispositif de calcul, caractérisé en ce qu'il comprend l'étape suivante : on substitue une seconde fonction non linéaire à une première fonction non linéaire, pour la fonction prédéterminée, dans chacun des moyens de limitation, la valeur d'entrée de données étant liée à la première fonction non linéaire, et la seconde fonction non linéaire étant moins complexe, au point de vue du calcul, que la première fonction non linéaire.
10. Procédé selon la revendication 9, caractérisé en ce que la seconde fonction non linéaire est une approximation linéaire par morceaux de la première fonction non linéaire.
11. Procédé selon la revendication 10, caractérisé en ce que la première fonction non linéaire est une fonction tangente hyperbolique.
13. Procédé selon la revendication 9, caractérisé en ce qu'il comprend en outre l'étape suivante : on réalise l'apprentissage du réseau neuronal conformément à un algorithme d'apprentissage prédéterminé, et on incorpore la première fonction non linéaire dans chaque élément de calcul.
14. Procédé selon la revendication 13, caractérisé en ce que la première fonction non linéaire est différentiable.
15. Procédé selon la revendication 14, caractérisé en ce que l'algorithme d'apprentissage prédéterminé est un algorithme de rétro-propagation.
16. Procédé selon la revendication 15, caractérisé en ce que la seconde fonction non linéaire est une approximation linéaire par morceaux de la première fonction non linéaire.
17. Procédé selon la revendication 16, caractérisé en ce que la première fonction non linéaire est une fonction tangente hyperbolique.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US49673690A | 1990-03-21 | 1990-03-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2660091A1 true FR2660091A1 (fr) | 1991-09-27 |
FR2660091B1 FR2660091B1 (fr) | 1996-10-11 |
Family
ID=23973909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR9103095A Expired - Fee Related FR2660091B1 (fr) | 1990-03-21 | 1991-03-14 | Dispositif et procede pour ameliorer la vitesse de fonctionnement de reseaux neuronaux. |
Country Status (2)
Country | Link |
---|---|
CA (1) | CA2035338C (fr) |
FR (1) | FR2660091B1 (fr) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113066483B (zh) * | 2019-12-31 | 2024-01-30 | 广州航海学院 | 一种基于稀疏连续约束的生成对抗网络语音增强方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0349820A1 (fr) * | 1988-07-05 | 1990-01-10 | Siemens Aktiengesellschaft | Module et architecture de réseau pour l'émulation programmable des réseaux neuronaux artificiels numériques |
-
1991
- 1991-01-31 CA CA002035338A patent/CA2035338C/fr not_active Expired - Fee Related
- 1991-03-14 FR FR9103095A patent/FR2660091B1/fr not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0349820A1 (fr) * | 1988-07-05 | 1990-01-10 | Siemens Aktiengesellschaft | Module et architecture de réseau pour l'émulation programmable des réseaux neuronaux artificiels numériques |
Non-Patent Citations (4)
Title |
---|
EDN ELECTRICAL DESIGN NEWS. vol. 33, no. 10, 12 Mai 1988, NEWTON, MASSACHUSETTS US pages 138 - 144; CONNER: 'Data transformation explains the basics of neural networks' * |
NETWORK- COMPUTATION IN NEURAL SYSTEMS vol. 1, no. 1, Janvier 1990, BRISTOL,GB pages 27 - 40; HOPFIELD: 'The effectiveness of analogue neural network hardware' * |
NEURAL NETWORKS FROM MODELS TO APPLICATIONS E.S.P.C.I. 1988, PARIS,FRANCE pages 710 - 719; FAURE: 'A VLSI asynchronous cellular architecture dedicated to multilayered neural networks' * |
PROCEEDINGS 28TH SICE ANNUAL CONFERENCE 1989 25 Juillet 1989, MATSUYAMA,JAPAN pages 1327 - 1330; FUKUMI: 'A new back-propagation algorithm with coupled neuron and its application to pattern recognition' * |
Also Published As
Publication number | Publication date |
---|---|
FR2660091B1 (fr) | 1996-10-11 |
CA2035338C (fr) | 1995-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190087726A1 (en) | Hypercomplex deep learning methods, architectures, and apparatus for multimodal small, medium, and large-scale data representation, analysis, and applications | |
EP0322966B1 (fr) | Circuit et structure de réseau de neurones | |
EP0624847B1 (fr) | Dispositif et méthode pour générer une fonction d'approximation | |
EP0546624B1 (fr) | Système de traitement de données opérant avec une fonction non linéaire formée de morceaux | |
Tang et al. | SAR image despeckling with a multilayer perceptron neural network | |
EP3449423B1 (fr) | Dispositif et procede de calcul de convolution d'un reseau de neurones convolutionnel | |
FR2674653A1 (fr) | Procede et dispositif de detection de bord pour un systeme de traitement d'image. | |
FR3085517A1 (fr) | Architecture de calculateur d'une couche de convolution dans un reseau de neurones convolutionnel | |
EP1866834A2 (fr) | Système et procédé de localisation de points d'intérêt dans une image d'objet mettant en uvre un réseau de neurones | |
He et al. | Spectral super-resolution meets deep learning: Achievements and challenges | |
FR2678407A1 (fr) | Procede et dispositif avec un reseau neuronal pour classer des donnees, et appareil d'authentification de signature. | |
EP3633552A1 (fr) | Procédés d'apprentissage de paramètres d'un réseau de neurones à convolution et de détection d'éléments d'intérêt visibles dans une image | |
FR3088467A1 (fr) | Procede de classification d'une image d'entree representative d'un trait biometrique au moyen d'un reseau de neurones a convolution | |
EP3888048B1 (fr) | Dispositif et procédé de super-résolution | |
FR2661265A1 (fr) | Systeme neuronal de classification et procede de classification utilisant un tel systeme. | |
EP0206892B1 (fr) | Procédé de traitement de signaux numérisés représentatifs d'une image origine | |
Su et al. | JPEG steganalysis based on ResNeXt with gauss partial derivative filters | |
FR2719384A1 (fr) | Procédé de trajectographie d'objets et dispositif de mise en Óoeuvre de ce procédé. | |
EP0568146B1 (fr) | Processeur neuronal muni de moyens pour normaliser des données | |
EP4162409A1 (fr) | Procédé de génération d'un système d'aide à la décision et systèmes associés | |
FR2660091A1 (fr) | Dispositif et procede pour ameliorer la vitesse de fonctionnement de reseaux neuronaux. | |
Dad et al. | Quaternion Harmonic moments and extreme learning machine for color object recognition | |
Bricman et al. | CocoNet: A deep neural network for mapping pixel coordinates to color values | |
EP0622749B1 (fr) | Système à réseau neuronal pour le traitement de signaux | |
FR2681709A1 (fr) | Procede de connexion interne pour reseaux de neurones. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |