• Aucun résultat trouvé

I. Chapitre I : Les réseaux de neurones

I.5. CONCEPTION ET INTEGRATION DE RESEAUX DE NEURONES

I.5.2. Différents types d'intégration des réseaux de neurones

I.5.2.2. Intégration analogique

L’un des principaux avantages d’un réseau de neurones analogique est le traitement des signaux en parallèle au sein de la structure. De plus, le nombre de transistors utilisés pour synthétiser une cellule analogique est nettement plus faible. Par exemple, pour réaliser une fonction d’activation sigmoïdale, le nombre de transistors nécessaire en analogique est de l'ordre de la dizaine ; en numérique, une approximation grossière de la même fonction nécessite une centaine de blocs logiques (slices), ce qui conduit à une surface occupée et la puissance consommée plus importantes. Le nombre de transistors et la consommation relatifs à une cellule numérique dépendent de la précision souhaitée, et donc du nombre de bits sur lequel le signal est codé. Le caractère continu du traitement des signaux analogiques sur l'intégralité d'une caractéristique de transfert peut être primordial en fonction de l'application (notamment si l'on souhaite effectuer une régression linéaire continue et précise d'une fonction à l'aide d'un réseau de neurones de type perceptron multi-couches). Le choix d'une implantation analogique permet de diminuer la place occupée et la consommation pour une précision identique.

L'inconvénient majeur de ce type d'implantation est la non-reconfigurabilité de la structure. Ainsi, une fois le circuit intégré ou le circuit imprimé conçu, il n'est pas possible d'effectuer d'importantes modifications sur la structure du réseau de neurones. De plus, la réalisation d'un circuit intégré implique une phase de dessin des masques des circuits (phase de layout) et une phase de fabrication longue et onéreuse. La phase de layout demande une connaissance certaine de la technologie choisie et des règles de dessin, de sorte que le comportement de l'ensemble des circuits dessinés soit identique à celui des circuits utilisés en simulation, avec leur modèle associé. Néanmoins, des erreurs de tension de décalage et de caractéristique de fonctionnement peuvent apparaître, même avec un layout soigné. Le temps relatif aux étapes

de layout et de conception de la puce est de l'ordre de six mois. Le coût associé est important, du fait de la génération d'un jeu de masques uniquement pour concevoir un nombre de puces limité. La phase de conception analogique (structure choisie, placement et taille des composants, etc.) est donc primordiale. Une structure numérique a l'avantage de pouvoir être reconfigurée, en arrangeant différemment les connexions relatives aux différents transistors impliqués. De plus, le transfert de la phase de simulation des circuits à celle de réalisation "hardware" de la puce est assez simple et bien maîtrisée, du fait du grand nombre de types d'intégrations numériques existantes.

La première version commerciale disponible à grande échelle d'une implémentation entièrement analogique est le circuit 80170NX d'Intel, plus connu sous le nom d'ETANN (Electrically Trainable Analog Neural Network). Ce réseau non bouclé de type perceptron multi-couches est constitué de 64 neurones. D'autres réseaux de neurones analogiques ont été implantés soit pour la démonstration, soit pour des applications bien précises ([Morie, 1994], [Al-Nsour, 2001]). Certaines de ces structures présentent un apprentissage analogique implanté avec le réseau de neurones, afin de l'entraîner directement au sein de l'application dans lequel il est intégré. L’algorithme de mise à jour réalisé à l'aide de fonctions analogiques permet de minimiser les erreurs de tension de décalage ainsi que la consommation et la taille de la puce. En revanche, les méthodes de stockage des valeurs des paramètres du réseau sont nettement moins robustes que les méthodes numériques. C’est la raison pour laquelle la plupart des réseaux de neurones analogiques nécessitant une mise à jour de leurs paramètres sont des réseaux de neurones mixtes, avec une partie algorithmique numérique. Ces types de réseaux sont présentés dans le paragraphe suivant (I.5.2.3).

Enfin, certains réseaux de neurones analogiques sont entraînés par l'intermédiaire d'un logiciel annexe. Celui-ci détermine les valeurs des paramètres mis en jeu en tenant compte des imperfections de la structure neuronale implantée. L'avantage de cette méthode est la simplification du système, puisque la mise à jour ne se fait pas directement sur le réseau de neurones. En revanche, cette méthode est moins autonome et demande un temps de calibrage de la structure neuronale assez important, notamment au niveau de la détermination des fonctions de transfert de chacune des cellules et des transferts entre cellules.

Bien qu’il existe des réseaux de neurones analogiques de type RBF ([Dogaru, 1996]), le réseau de neurones analogique intégré le plus fréquent est le perceptron multi-couches, pour son aptitude à réaliser des fonctions de régression non linéaires continues. Ses trois fonctions de base - le multiplieur, l'additionneur et la fonction sigmoïdale - ont respectivement pour rôle

d'amplifier le signal d'entrée par un jeu de poids, de modifier la valeur continue des signaux résultants par un jeu de biais, puis de leur appliquer une non-linéarité de manière à limiter leur dynamique.

Plusieurs structures analogiques de multiplieurs ont déjà été développées et souvent intégrées en technologie CMOS ([Qin, 1987], [Song, 1990], [Khachab, 1991], [Choi, 1992], [Saxena, 1994], [Coue, 1996], [Abutalebi, 1998]). Tandis que les premiers multiplieurs analogiques ont été optimisés notamment en termes de dynamique pour des applications conventionnelles telles que la modulation-démodulation, la transposition en fréquence, etc., les systèmes neuronaux nécessitent des multiplieurs basse consommation, de petite taille et paramétrables. La structure du multiplieur choisi dépend de l'application à laquelle le réseau de neurones est dédiée. La plupart de ces structures dérivent de la cellule de Gilbert ([Gray, 2001]). Un exemple de multiplieur par un poids est présenté dans l’annexe C au sein d'une application neuronale (figure C-e).

La structure de l'additionneur est rarement décrite dans les différentes publications relatives aux intégrations de cellules analogiques de réseaux de neurones. Cela peut se comprendre par le fait que le principe de l'addition est assez simple et bien connu, que ce soit pour des sommes de tension par l'intermédiaire d'amplificateurs bouclés ou pour des sommes de courant. Un exemple d'addition par un biais est présenté dans l’annexe C au sein d'une application neuronale (figure C-e).

La fonction non linéaire est plus ou moins décrite. La structure choisie dépend de l'application et de la complexité, de la précision et de la maîtrise du circuit souhaitées ([Lu, 2000], [Masmoudi, 1999]). Ces paramètres vont conditionner la facilité à calibrer le réseau au sein de l'application ou par l'intermédiaire d'un logiciel annexe, tout en étant aussi responsable de l'aptitude du réseau à réaliser la fonction désirée. Pour certaines applications, une simple rampe bornée à deux valeurs suffit, alors que pour d'autres applications, la courbure de la fonction non linéaire aux alentours de la saturation a toute son importance, notamment au niveau de la continuité de sa dérivée intervenant dans l'algorithme de mise à jour. Un exemple de fonction non linéaire est présenté dans l’annexe C au sein d'une application neuronale (figure C-d).

Documents relatifs