Une des limitations de cette architecture est que les poids synaptique sont bornés et sont
compris entre -1 et +1, ce qui rend l’apprentissage difficile, particulièrement pour les réseaux
de neurones multicouches de grandes tailles. Une autre limitation pour ce type d’architecture
est que la précision de calcul du mode impulsionnel est inférieure à celle des neurones
arithmétiques entièrement numériques. En outre, la fonction d'activation du neurone
impulsionnel est affectée par le nombre de signaux d'entrée et par la distribution des poids
synaptiques, ce qui empêche l'apprentissage de converger rapidement.
Afin d’apporter des solutions à ces limitations, on a proposé une nouvelle architecture.
L’unité synaptique a été construite par des portes logiques AND et un bloc de concaténation.
L’unité neuronale caractérisée par une fonction d’activation programmable est obtenue par
une sommation pondérée de trois fonctions rampes. L’architecture du réseau de neurone
impulsionnel avec apprentissage sur puce est testée par simulation et implémentée sur FPGA
pour une validation. Les résultats de cette partie sont publiés dans une session spéciale sur les
réseaux de neurones impulsionnels de la 4ème conférence internationale IEEE Systems,
Signals and Devices (SSD, 19-22 Mars 2007, Hammamet, Tunisie). Le papier est intitulé :
"Implementation of a Pulse Stream-Based Neural Network with a Programmable Linear
Activation Function". Ces travaux sont aussi publiés dans la revu Transaction on Systems,
Signals ans Devices sous le titre "Implementation of a Pulse Stream-Based Neural Network
with a Programmable Linear Activation Function".
L’optimisation de l’architecture du réseau de neurones impulsionnels est une tâche très
importante pour accélérer au maximum le transfert des données et le processus
d’apprentissage sur puce. De ce fait, j’ai essayé d’optimiser les unités synaptiques et de
neurone. Par ailleurs, le synapse a été conçu en utilisant un additionneur et un registre pour
accomplir la multiplication des impulsions d’entrée par les poids synaptiques. L’architecture
du neurone construit à l’aide de trois fonctions rampes est réduite à une seule rampe avec un
circuit de raffinement des extrémités pour la rendre différentiable et semblable à la fonction
sigmoïde. La faisabilité de cette architecture a été testée, en proposant un système de
détection de contour, basé sur un réseau de neurones impulsionnels agissant en tant
qu’opérateur de Canny. Dans l'étape d'apprentissage, j’ai employé une base de données
d'images hétérogènes de trois classes, de 30 échantillons chacune. Des faibles erreurs
d'apprentissage et bons taux de généralisation sont obtenus. Le réseau de neurones
impulsionnels est implémenté sur une plateforme FPGA.
Travaux en cours :
Arrivé à ce stade, on veut entamer les étapes suivantes :
Conception d’un neurone à fonction d’activation radiale.
Validation de l’architecture du réseau de neurones impulsionnels à fonction
d’activation radiale avec une application de reconnaissance de formes de grande
résolution.