Les réseaux de neurones compétitifs Chapitre 8 Les réseaux de neurones compétitifs
Réseaux de Neurones Application en Reconnaissance de Formes Les réseaux de neurones compétitifs d’après B. Solaiman Dépt. Image & Traitement de l'Information Ecole Nationale Supérieure des Télécommunications de Bretagne
Plan 1. Introduction, définition 2. Réseaux compétitifs - Règles et réseaux de base - Règles de Oja et Sanger 3. Réseaux de quantification vectorielle 4. Cartes topologiques de Kohonen
Découverte T. Kohonen, Self-Organizing Maps, 2e Edition, Springer, 1997. Approche pédagogique Haute teneur et formalisme mathématique Approche vectorielle / matricielle Modèles : SOM, famille LVQ Chapitre complet d’exemples
Introduction, définition 1 Introduction, définition Classification des réseaux de neurones 1 En fonction du mode d’apprentissage supervisé / non supervisé 2 En fonction de la fonction réalisée Extraction primitives /Décision /Extraction-Décision 3 En fonction du champs d’action en mise à jour Mise à jour globale /Mise à jour sélective 4 En fonction de l’architecture/mode de connexion, etc.
Reconnaissance de Formes Problématique de Reconnaissance de Formes 2 Extraction Système X des Y de D primitives décision Espace d'entrée Espace des primitives Espace des décisions
Les réseaux de neurones extracteurs de primitives/Classifieurs Développement d’une solution neuronale 3 Les réseaux de neurones extracteurs de primitives/Classifieurs 3 Réseau d’extraction de primitives / classifieurs Extraction des primitives Système de décision Espace d’objets Espace des primitives (d’observations) Espace des décisions
Laboratoire 2: Caractéristiques d’une image Extraction des caractéristiques Couche cachée: extraction des primitives visuelles. Chaque neurone de la couche cachée se spécialise pour détecter une arête dans une orientation spécifique. La primitive dominante correspond à une imagette uniforme, c’est-à-dire l’absence d’arêtes. Les arêtes dominantes sont les verticales et les horizontales. Puis les arêtes diagonales. Dessiner au tableau le réseau résultant. 3x3 en entrée, 6 en cachée, 1 neurone arête/non-arête en sortie. Sous-image pour l ’apprentissage
Exemple récent: classification de lots de canneberges Pré-traitement Canneberges sèches Éclairage ambiant Fond bleu Segmentation Élimination du fond par division Filtre median 5x5 Seuillage sur la couleur Segmentation sur courbure Érosion Un exemple récent: classification de canneberges sèches selon la couleur. Dessiner le réseau. 3 entrées R, V, B; 3 neurones cachées et 3 neurones de sortie: pâle, moyen, foncé. Dans cette application, le taux d’anthocyane détermine le prix payé pour un lot. C’est la molécule d’anthocyane qui est responsable de la couleur rouge du fruit. Tout comme par exemple la couleur rouge des feuilles d’automne, dans lesquelles l’anthocyane se développe à l’automne.
Primitives visuelles Entrées: RVB moyen d’une canneberge Apprentissage: 100 échantillons Test: 60 échantillons
Résultats - fruits secs Foncés Moyens Pâles Taux (sur 20) 19 1 95 % 2 17 85 % 20 100 % Total 21 (35.0 %) 18 (30.0%) (35,0 %) 93 %
Réseau de neurones d’extraction de primitives Développement d’une solution neuronale 3 Les réseaux de neurones extracteurs de primitives 2 Réseau de neurones d’extraction de primitives Système de décision Espace d’objets Espace des primitives Espace des décisions
synaptiques seront modifiés synaptiques ne seront pas Introduction 1 Les réseaux de neurones compétitifs L'ajustement des poids synaptiques, suite à la présentation d'une forme, n'est pas automatiquement réalisé pour tous les neurones constituant le réseau. Neurones pour lesquels les poids synaptiques seront modifiés X Neurones pour lesquels les poids synaptiques ne seront pas modifiés
Déroulement de l’apprentissage Introduction 1 Déroulement de l’apprentissage Présentation d’une forme X 1 2 Une compétition est organisée. L’objectif est de déterminer les neurones gagnants. 3 Mise à jours sélectives des poids synaptiques des neurones gagnants. Les réseaux compétitifs Extraction des primitives Apprentissage supervisé ou non supervisé
Phase de compétition Elle peut être logicielle Une fonction est appliquée au vecteur de sortie du réseau pour identifier le ou les neurone(s) gagnant(s). Exemple fréquent : ym* = Max (ym) Elle peut être neuronale Maxnet le gagant emporte tout Un seul neurone, le plus activé, demeure actif Chapeau mexicain Le neurone le plus activé et son entourage demeurent actifs
1 -e -e -e -e -e -e Le réseau Maxnet Fonction d’activation : Étape 0 : Initialiser les activations et les poids A2 A3 A1 A4 1 -e -e -e -e Étape 1 (tant que 4 vrai faire 2-4) : Étape 2 : Mise à jour des activations Étape 3 : Sauvegarder activations Étape 4 : Si plus d’une activation 0 continuer, sinon arrêt -e -e
A = [0,2 0,4 0,6 0,8] 1 -e -e -e -e -e -e Le réseau Maxnet : Exemple Étape 0 : Initialiser les activations et les poids A2 A3 A1 A4 1 -e -e -e -e Étape 1 (tant que 4 vrai faire 2-4) : Étape 2 : Mise à jour des activations Étape 3 : Sauvegarder activations Étape 4 : Si plus d’une activation 0 continuer, sinon arrêt -e -e
R1 R2 Le chapeau mexicain : Xi-3 Xi-2 Xi-1 Xi Xi+1 Xi+2 XI+3 si w0 w2 wk est positif dans 0 k R1 et négatif dans R1 k R2 x est le vecteur d’activations x_vieux est le vecteurs d’activations à t-1 t_max est le nombre maximal d’itérations s est un signal externe
Le chapeau mexicain : si 0.6 -0.4 -0.4 Xi-3 Xi-2 Xi-1 0.6 Xi 0.6 Xi+1 Xi+2 XI+3 si R1 R2 Étape 0 : Initialiser t_max, R1, R2 et les poids C1 et C2 Étape 1 : Présenter s (x = s) et sauvegarder activations dans x_vieux (x_vieuxi = xi) Étape 2 : Tant que t < t_max faire 3-7 Étape 3 : Calculer la valeur Net
Le chapeau mexicain : si 0.6 -0.4 -0.4 Xi-3 Xi-2 Xi-1 0.6 Xi 0.6 Xi+1 Xi+2 XI+3 si R1 R2 Étape 4 : Appliquer la fonction d’activation rampe de 0 à x_max xi = min (x_max, max(0, xi) Étape 5 : Sauvegarder les activations xi courantes dans x_vieux Étape 6 : Incrémenter le compteur d’itérations (t = t + 1) Étape 7 : Tester la condition d’arrêt Si t < t_max continuer, autrement arrêt
Le chapeau mexicain : Exemple 0.6 -0.4 x = ( 0.0 0.5 0.8 1.0 0.8 0.5 0.0) Étape 1 : Présenter s (x = s) et sauvegarder activations dans x_vieux (x_vieuxi = xi) x = ( 0.0, 0.5, 0.8, 1.0, 0.8, 0.5, 0.0) x_vieux = ( 0.0, 0.5, 0.8, 1.0, 0.8, 0.5, 0.0) Étape 2 : Tant que t < t_max faire 3-7 Étape 3 : Calculer la valeur Net x1 = 0.6 * (0.0) + 0.6 * (0.5) – 0.4 * (0.8) = -0.2 x2 = 0.6 * (0.0) + 0.6 * (0.5) + 0.6 * (0.8) – 0.4 * (1.0) = 0.38 x3 = -0.4 * (0.0) + 0.6 * (0.5) + 0.6 * (0.8) + 0.6 * (1.0) – 0.4 * (0.8) = 1.06 x4 = -0.4 * (0.5) + 0.6 * (0.8) + 0.6 * (1.0) + 0.6 * (0.8) – 0.4 * (0.5) = 1.16 ……
Le chapeau mexicain : Exemple (suite) 0.6 -0.4 x = ( 0.0 0.5 0.8 1.0 0.8 0.5 0.0) Étape 4 : Appliquer la fonction d’activation x = (0.0, 0.38, 1.06, 1.16 …… ) Continuez … (à partir de l’étape 3 précédente)
Le réseau de Hamming Étape 0 : Initialiser poids wij et biais bj A1 A2 Y1 Y2 X1 X3 X2 X4 b1 b2 w11 w21 w31 w41 w12 w22 w32 w42 - e Étape 1 : Pour chaque x faire 2-4 Étape 2 : Calculer Net pour chaque Yj Étape 3 : Initialiser le Maxnet Étape 4 : Faire converger le Maxnet
Le réseau de Hamming : exemple 1 Y1 Y2 X1 X3 X2 X4 b1 b2 w11 w21 w31 w41 w12 w22 w32 w42 Pour e(1) = (1, -1, -1, -1) e(2) = (-1, -1, -1, 1) et x1 = (1, 1, -1, -1) x2 = (1, -1, -1, -1) x3 = (-1, -1, -1, 1) x4 = (-1, -1, 1, 1) - e
Réseaux Compétitifs Linéaires 2 Architecture : deux couches yj=X . mT yM y1 Couche de sortie m wmN wm1 wmn Couche d’entrée x1 xn xN
Neurone m* est le neurone gagnant ym* = yj Réseaux Compétitifs Linéaires 2 Neurone m* est le neurone gagnant ym* = yj Un seul neurone gagnant La compétition est à base de projection maximale. Projection maximale Distance euclidienne minimale ? dist(X,Wm)=||X-Wm||2 = ||X||2 + || Wm ||2 - 2 X . WmT Equivalence lorsque X et Wj sont normalisés Dans le cas normalisé, dist(X,W)=2(1-X•W)= 0 si X=W (angle nul entre les vecteurs) Pour illustrer la différence, tracer au tableau 1 vecteur X, 1 grand vecteur W1 et un vecteur W2 plus petit et aussi plus près de X. La projection indiquerait le vecteur W1 comme le neurone gagnant, même si c’est W2 est le plus près. Référence figure 4.2, p.142 dans le livre. Attention
Zones d ’activités fonctionnelles Réseaux Compétitifs Linéaires 2 Règle d’apprentissage de Hebb Donald HEBB : "The Organization of Behavior », 1949 Si deux neurones connectés entre eux sont activés au même moment, alors la connexion qui les relie doit être renforcée (i.e. principe de la récompense). Dans le cas contraire, la valeur de la connexion n'est pas modifiée (i.e. principe de la punition). Zones d ’activités fonctionnelles (circuits neuronals)
{Xk, k = 1, 2, …, K} une base d’apprentissage Réseaux Compétitifs Linéaires 2 Implémentation mathématiques {Xk, k = 1, 2, …, K} une base d’apprentissage 1 Initialisation aléatoire des poids synaptiques 2 Apprentissage a Présentation de la forme Xk à la couche d’entrée Calcul de l’activation des neurones de la couche de sortie ym(k), m = 1, 2, .. b c Détermination du neurone gagnant m* Ajustement des poids synaptiques du neurone gagnant : d pour n = 1, …, N
synaptiques du neurone gagnant Réseaux Compétitifs Linéaires 2 Explication graphique W1 W2 WM Wm* Xk Neurone gagnant vecteur des poids synaptiques du neurone gagnant W1 W2 WM D Wm* Xk Nouveau vecteur des poids synaptiques Compétition Adaptation
Réseaux Compétitifs Linéaires 2 Théorème Le réseau compétitif linéaire associé avec la règle d'apprentissage de Hebb n'a aucun point d'équilibre stable. Explication mathématique E {D Wj*} 0 Explication physique Incrémentation sans limite Point d’équilibre
Règle d’apprentissage d’Oja Réseaux Compétitifs Linéaires 2 Règle d’apprentissage d’Oja {Xk, k = 1, 2, …, K} une base d’apprentissage 1 Initialisation aléatoire des poids synaptiques 2 Apprentissage a Présentation de la forme Xk à la couche d’entrée Calcul de l’activation des neurones de la couche de sortie ym(k), m = 1, 2, .. b c Détermination du neurone gagnant m* Ajustement des poids synaptiques du neurone gagnant : d pour n = 1, …, N
Principe de rétropropagation dans Réseaux Compétitifs Linéaires 2 Explication m* x1(k) xn(k) xN(k) Wm*n Wm*N Wm*1 ym*(k) m* x1(k) xn(k) xN(k) Wm*n Wm*1 ym*(k) Principe de rétropropagation dans la règle d’Oja
Théorème 2 Réseaux Compétitifs Linéaires || *|| = 1. L'algorithme d'apprentissage d'Oja appliqué à un réseau compétitif linéaire, converge en moyenne statistique vers un vecteur * ayant les propriétés suivantes : || *|| = 1. * a la direction du vecteur propre maximal de la matrice de corrélation C. * permet la maximisation de la variance de la sortie.
. . Les primitives : Les vecteurs propres 2 1 y z z j j x x i i Problématique de reconnaissance de formes 2 Les primitives : 1 Les vecteurs propres y . . z z v y1 u V2 j j Les vecteurs propres consistent à trouver un nouveau système de coordonnées qui s’aligne sur les variations les plus accentuées que l’on retrouve dans l’ensemble de données. Les plus fortes variations se retrouvent en calculant la corrélation entre chacune des composantes de toutes les données qui font partie de la base d’apprentissage. Les vecteurs propres, et les valeurs propres associées qui indiquent l’importance des variations, sont trouvés à partir de cette matrice de corrélation. L’analyse par composantes principales consiste à choisir les axes qui expliquent les variations les plus importantes (valeurs propres les plus fortes) et à représenter les données selon ce nouveau référentiel, de beaucoup diminué en général. Par exemple, on peut passer d’un espace à 250 dimensions à un espace à seulement 3 dimensions sans perte considérable d’information. De plus, les données pourront être visualisées dans ce nouvel espace réduit. Un exemple: mesurer la couleur d’une orange. Les données brutes sont représentées par 3 coordonnées, le Rouge, le Vert et le Bleu. Une analyse par composante principale va permettre de calculer un axe principal, orienté selon les différents tons de orange, et on aura plus besoin que d’une seule coordonnée, la nuance de orange, pour décrire la couleur de l’orange. Un autre exemple, pour décrire la couleur rouge d’une pomme, on n’a besoin que d’une seule des couleurs primaires, le Rouge, pour caractériser la couleur de la pomme. V1 x x x1 i i z = x1 + y1 i z = u + v j V1 V2
2 Règle d’apprentissage de Sanger X Y = X - u1V1 Réseaux Compétitifs Linéaires 2 Règle d’apprentissage de Sanger X = [x1, ….., xN] X = x1i1 + x2i2 + …+ xNiN V1 : 1ère composante principale Vn : nème composante principale, n=2, 3, …, N X = u1V1 + u2V2 + …+ uNVN Décomposition sur les composantes principales X Y = X - u1V1 V2 : 1ère composante principale du vecteur Y
{Xk, k = 1, 2, …, K} une base d’apprentissage Réseaux Compétitifs Linéaires 2 Règle de Sanger {Xk, k = 1, 2, …, K} une base d’apprentissage Application de la règle d’Oja V1 1 2 Transformation de la base d’apprentissage : - Calculer la projection de Xksur V1 (i.e. calcul de u1) - transformation XkYk= Xk- u1V1, k=1,…, K Application de la règle d’Oja V2 3 4 Répétition …...
Réseaux de Quantification Vectorielle 3 Fondements : réduction des bases de données CP QV X=[x1, .., xN] CP: Composantes Principales. Algorithme général de Sanger. QV: Quantification Vectorielle. Identifier des vecteurs prototypes représentatifs des classes, ou nuées, à retrouver. P=[p1, .., pN] X=[u1,u2]
Les vecteurs prototypes . . . . . . . Problématique de reconnaissance de formes 2 3 Les vecteurs prototypes . . y x z P1 P2 P3 . d1 z d2 d3 P1 P2 P3 z (x,y) z (d1,d2,d3)
Réseau de Kohonen-VQ non supervisé, 1983 Réseaux de quantification vectorielle 3 Réseau de Kohonen-VQ non supervisé, 1983 ym=X . WmT y1 yM Couche compétitive m wm1 wmn wmN Couche d’entrée x1 xn xN LVQ : pour n = 1, …, N
3 Réseaux de quantification vectorielle Quantification vectorielle non supervisée . . Quantification vectorielle supervisée . .
synaptiques du neurone gagnant Réseaux de quantification vectorielle 3 Explication graphique W1 W2 WM Wm* Xk Neurone gagnant vecteur des poids synaptiques du neurone gagnant D Wm* W2 Xk WM W1 Nouveau vecteur des poids synaptiques Compétition Adaptation
3 Réseaux de quantification vectorielle Il s’agit d ’un apprentissage non supervisé Adaptation des poids plus sévère que celle de Hebb Règle de Hebb Algorithme LVQ Convergence non garantie
Réseaux de Kohonen-VQ supervisés Réseaux de quantification vectorielle 3 Réseaux de Kohonen-VQ supervisés 1 B = {(Xk,Dk), k=1, 2, .., K}, base étiquetée 2 Architecture : réseaux compétitif linéaire 3 Les neurones de la couche de sortie sont étiquetés
Classe(Xk) = Classe (Wm*) Réseaux de quantification vectorielle 3 L’algorithme d’apprentissage LVQ1 Retour au principe de Récompense/Punition D Wm* D Wm* Xk Xk WM WM Wm* Wm* W2 W2 W1 W1 Punition Classe(Xk) Classe (Wm*) Récompense Classe(Xk) = Classe (Wm*) Dw(j*) = + h(t) [Xk - Wm*] Si Classe(Xk) = Classe (Wm*) Dw(j*) = - h(t) [Xk - Wm*] Si Classe(Xk) Classe (Wm*)
L’algorithme d’apprentissage LVQ2 Réseaux de quantification vectorielle 3 L’algorithme d’apprentissage LVQ2 La course aux performances ……... Maintenir le principe de Récompense/Punition La compétition fournit deux neurones gagnants : le premier m1 et le second m2 gagnants. L’esprit de l’algorithme de Kohonen : L'adaptation des vecteurs de référence correspondants Wm1 et Wm2 est réalisée si et seulement si les trois conditions suivantes sont vérifiées :
D Wm1 = - h(t) [Xk - Wm1] Punition Réseaux de quantification vectorielle 3 1 Classe(Xk) Classe(Wm1) erreur de classification du neurone gagnant 2 Classe(Xk) = Classe(Wm2) bonne classification du second neurone gagnant 3 distance(Xk, Wm2) distance(Xk, Wm1) le vecteur Xk est très proche de la surface de séparation entre les classes m1 et m2 Adaptation D Wm1 = - h(t) [Xk - Wm1] Punition D Wm2 = + h(t) [Xk - Wm2] Récompense
3 Réseaux de quantification vectorielle Récompense / Punition Pas de modification Surface de séparation Zone de modification Récompense / Punition
Cartes topologiques de 4 Cartes topologiques de Kohonen 1ère constatation L’organisation linéaire n’a pour intérêt que l’aspect pédagogique. 2ème constatation Les réseaux compétitifs linéaires s’éloignent de la réalité Neurobiologique « les zones d’activité ».
Architecture proposée : Cartes topologiques de Kohonen 4 Architecture proposée : une couche linéaire mono ou multi dimensionnel. Voisins ordonnés du neurone m 1 2 3 i 1 2 m 3 j Un neurone est caractérisé par ses poids synaptiques et par sa position ( notion de voisinage topologique)
Formes de voisinage (2D) Cartes topologiques de Kohonen 4 Formes de voisinage (2D)
2. une fonction monotone décroissante Cartes topologiques de Kohonen 4 Algorithme d’apprentissage non supervisé Etant donnée la base d’apprentissage B, on " choisit " 1. la taille de la carte 2. une fonction monotone décroissante 0<h(t)<1 : fonction d’influence temporelle (les modifications diminuent en fonction du temps, Question d’âge !!!) 3. un voisinage topologique V(t) décroissant
Parcours de la base d'apprentissage Cartes topologiques de Kohonen 4 Parcours de la base d'apprentissage 1 Présentation d’une forme d’entrée X 2 Détermination du neurone gagnant 3 Adaptation des poids synaptiques des vecteurs de référence se trouvant dans le voisinage topologique V(t) du neurone gagnant : DWm = - a(m,m*) h(t) [Xk - Wm] m Vm*(t), a(m,m*) interaction latérale
Exemple : h(t) t 4 Instant : t0 Vecteur d’entrée : X t0 Cartes topologiques de Kohonen 4 Instant : t0 Exemple : Vecteur d’entrée : X Neurone gagnant Neurone m Vm*(t0) h(t) 1 h(t0) t t0 a(m,m*) = 1, m Vm*(t) : Interaction latérale uniforme a(m,m*) gaussien
4 Cartes topologiques de Kohonen Caractéristique essentielle des cartes de Kohonen, La préservation topologique : Deux vecteurs « similaires » dans l’espace des objets, vont activer deux neurones « topologiquement proches » sur la carte de Kohonen. « distance » « similaire » « similaire » « similaire » « distance »
Applications 5 Compression d’images / codage conjoint Source-Canal Reconnaissance Optique des Caractères (O.C.R)
Compression d’images / codage conjoint Source-Canal Applications - Compression d’images 5 Compression d’images / codage conjoint Source-Canal Méthodes de compression Réversible application médicale taux de compression peu élevé Irréversible taux élevé distorsion introduite Générique transformation + élimination des hautes fréquences Textures mal restituées Spécifique adaptée à l’application connaissances a priori sur le contenu
5 Applications - Compression d’images Codeur Décodeur Quantification Vectorielle (QV) indices bloc . . . Le plus proche voisin Restitution du bloc . . . Image originale Image reconstruite W0 W0 W W1 Dictionnaire des mots de code W2 W2 Dictionnaire ... ... Wn-1 Wn-1 Codeur Décodeur
5 Applications - Compression d’images Avantages / problèmes . . . Le plus proche voisin Restitution . . . Effet de blocs ... ... Adaptation à l’image Création des mots de code ? Transmission bruitée Archivage : taux élevé ? Indexation ?
X = 5 Création du dictionnaire Applications - Compression d’images Activations des neurones Poids synaptiques Wi (mots de code) Base d’apprentissage x X =
Représentation graphique Applications - Compression d’images 5 Création du dictionnaire x Représentation graphique du dictionnaire
(algorithme classique des Applications - Compression d’images 5 Dictionnaire obtenu Dictionnaire SOFM Dictionnaire LBG (algorithme classique des K-means)
5 Applications - Compression d’images Exemples d’apprentissage Image d’apprentissage Image de test
5 Applications - Compression d’images Exemples d’apprentissage Dictionnaire Image testée Image de test
5 Applications - Compression d’images Exemples d’apprentissage Dictionnaire Image testée Image de test
Exemples d’images comprimées Applications - Compression d’images 5 Exemples d’images comprimées Image originale Image codée Taux de compression =16 (i.e. taille imagette = 4 x 4, SOFM = 16 x 16 ); PSNR = 29,2 dB;
5 Applications - Compression d’images Cartes topologiques de dimensions supérieures SOFM, 3D (exemple, 8 x 8 x 8) SOFM, 2D (exemple, 16 x 16) SOFM, 4D (exemple, 4 x 4 x 4 x 4 ) …….
5 Applications - Compression d’images SOFM, 3D, 8 x 8 x 8 SOFM, 4D, 4 x 4 x 4 x 4
5 Applications - Compression d’images Codage Conjoint Source/Canal Transmission d’images fixes sur un canal bruité Le dictionnaire bidimensionnel Points de la constellation de la MAQ-64
5 Applications - Compression d’images Exemple de mapping optimal entre une MAQ-64 et un dictionnaire bidimensionnel
5 Applications - Compression d’images Mapping optimal MAQ-64 sur un canal Gaussien PSNR = 27,6 dB; TES = 10% Mapping non optimisé MAQ-64 sur un canal Gaussien PSNR = 19,9 dB; TES = 10%
5 Applications - Compression d’images Images échoendoscopiques reconstruites : (taux de compression = 16, taux d’erreur = 50%) Dictionnaire non-ordonné (k-means) PSNR = 17.31 dB Dictionnaire Kohonen PSNR = 24.48 dB
Méthode de post-traitement Applications - Compression d’images 5 Réduction de l’effet de bloc par un réseau multicouches Effet de bloc Image comprimée Image étendue Méthode de post-traitement
5 Applications - Compression d’images Image comprimée, Image comprimée x1 x2 xn y1 ym Image comprimée, taux=16, PSNR=28.79 dB Image comprimée et post-traitée, PSNR=29.70 dB
(Self Organizing Feature Map) Applications - OCR 5 Reconnaissance Optique des Caractères (O.C.R) 5 5 5 5 SOFM (Self Organizing Feature Map) , Chiffre « 5 » Vecteurs prototypes
5 Applications - OCR Entrée du réseau : X = Niveau de gris [0, 25] 16 X = 16 Niveau de gris [0, 25] Normalisation à [0, 1]
synaptiques du neurone Applications - OCR 5 Architecture du réseau : 10 j 10 i Imagette des poids synaptiques du neurone (i,j) X
Base d’apprentissage : S.R.T.P (France) Applications - OCR 5 Base d’apprentissage : S.R.T.P (France) 5000 Chiffres Poids synaptiques à la convergence : Préservation topologique Transitions « douces »
Exploitation des résultats Applications - OCR 5 Exploitation des résultats Classification Base d’apprentissage (5000 chiffres) Base de test SOFM* Réseau multicouches 75 % 65 % 96 % 93 % * Les neurones de la carte de Kohonen sont étiquetés
Objectif : 5 Applications - OCR Solution : Hybrid Learning Vector Quantization Objectif : Couplage de la préservation topologique et les performance de l’apprentissage supervisé. Architecture : Carte topologique de Kohonen Réseau HLVQ Kohonen non supervisé Apprentissage : Hybride Focalisation d’attention
5 1 2 3 4 Applications - OCR Algorithme d’apprentissage du réseau HLVQ Initialisation aléatoire des poids synaptiques 2 Étiquetage initial des neurones de la carte 3 Parcours de la base d’apprentissage : Présentation d’une forme X à l ’entrée du réseau Détermination des deux neurones gagnants sur la carte Application de l’algorithme d’apprentissage non supervisé de Kohonen Apprentissage supervisé : Focalisation d ’attention 4 Test fin d’apprentissage
Cas 1 : Focalisation d’attention = Algorithme LVQ2 Applications - OCR 5 Cas 1 : Focalisation d’attention = Algorithme LVQ2 a=10 a=20 Convergence a=50 a : Nombre d’itérations d’apprentissage
Cas 2 : 5 Applications - OCR Focalisation d’attention = Algorithme LVQ2 modifié Modification de l'algorithme LVQ2:Exploiter la relation topologique reliant les différents neurones de la carte en recherchant dans le voisinage des neurones gagnants ceux qui sont susceptibles d'apporter une meilleure réponse en termes d'activation et de reconnaissance.
Applications - OCR 5 Les poids synaptiques du réseau HLVQ
5 Classification Applications - OCR 75 % 65 % 96 % 93 % 97 % 90 % Base d’apprentissage (5000 chiffres) Base de test (5000 chiffres) 75 % 65 % SOFM Réseau multicouches 96 % 93 % 97 % 90 % HLVQ-LVQ2 96.8 % 89.8 % HLVQ-LVQ modifié
5 Applications - Réseau GAL Le réseau GAL (Grow And Learn) est destiné à l’extraction de primitives de types formes prototype tout en ayant une architecture multicouches. x1 C1 x2 we,n Winner take all Ae Ee tm,e xn Cm xN CM Couche cachée (couche des formes) Couche d’entrée Couche de sortie (couche des classes)
Couche des formes mémorisées : Applications - Réseau GAL 5 Couche des formes mémorisées : wn,e est le poids synaptique reliant l'entrée "n" à la cellule "e" Le vecteur we mémorise la forme « Xe » Ee = 1 si Ae = ( Ai ) = 0 sinon tem = 1 si le neurone "e" est étiqueté de la classe m, = 0 sinon
5 Applications - Réseau GAL L'algorithme d'apprentissage du réseau GAL 1 Une forme X correspondant à la classe m est présentée 2 Vérification de l'existence de la classe : si cette classe n'existe pas : un neurone "m" est créé un neurone "e" est créé si cette classe “m” existe déjà la forme X est présentée à l'entrée du réseau si la décision prise par le réseau est bonne, alors pas de modification si la décision prise par le réseau est mauvaise, alors un neurone « e » est créé, ses poids seront : We = X et tm’e = 1 si m' = m = 0 sinon
Apprentissage incrémental ….. Applications - Réseau GAL 5 m1 m2 e1(m1) e1(m2) e2(m1) Exemple de la création séquentielle de neurones de formes Apprentissage incrémental …..