Introduction • Objectif commun : génération d’une taxonomie des données sans connaissances préalable • Utilisation : Réseaux neuronaux Apprentissage non supervisé – – – – – Jerzy Korczak, LSIIT, ULP email : [email protected] J.Korczak, ULP 1 Clustering : groupement, classification des données Quantisation de vecteurs : discrétisation de l’espace Réduction de dimension : projection de caractéristiques Prétraitement des données Extraction de traits caractéristiques J.Korczak, ULP 2 Méthodes neuronales non supervisées Méthodes neuronales non supervisées • Apprentissage compétitif Règle : «winner-take-all» • Cartes auto-organisatrices de Kohonen – réseau de connexions de dimensionnalité fixé (grille 2D) • projection de l’espace des données vers la grille 2D • Gaz neuronal croissant – croissance du réseau • neurones ajoutés là où l’erreur du réseau est localement élevée J.Korczak, ULP 3 Cartes auto-organisatrices de Kohonen J.Korczak, ULP 4 Cartes de Kohonen : «chapeau mexicain» Inspiration : … les neurones d’une zone du cerveau se projettent dans une autre zone, en conservant les relations de voisinage. Principe d’apprentissage : Si le neurone reçoit un potentiel d’action par sa connexion et qu’il s’active, il y a renforcement de cette connexion ; sinon le poids de cette connexion est diminué. Les poids sont déterminés en fonction de la distance entre les neurones concernés selon une fonction «chapeau mexicain». Interaction Dans une zone latérale proche du neurone, les neurones qui lui sont connectés ont une action excitatrice + action inhibitrice _ _ Chaque neurone de la carte de Kohonen est relié à tous les neurones de la carte. Mécanisme d’interaction latérale : «chapeau mexicain» J.Korczak, ULP Il vaut mieux choisir ce voisinage assez large au début de l’apprentissage pour le rétrécir par la suite (k(t) : fonction décroissante linéaire). 5 J.Korczak, ULP 6 1 Exemple : Kohonen.exe Cartes auto-organisatrices de Kohonen : Algorithme 1. 2. 3. 4. Initialisation aléatoire des poids des connexions de N entrées vers les M sorties. Initialisation de R (le rayon de voisinage). Présenter au réseau une nouvelle entrée. Calculer la distance entre le neurone j de sortie et le neurone i d’entrée pour tout j : dj = Σ (xi(t) – wij(t))2 avec xi(t) l’entrée du neurone, et wij(t) le poids de la connexion 5. 6. 7. Sélection le neurone j* de sortie de distance minimale. Mettre à jour les poids des connexions du neurone j* avec ses voisins situés dans un rayon R : wij(t+1)=wij(t)) +η(t)(xi(t)– wij(t)) limt->oo η(t) =0 Si η(t)>0, alors diminuer le rayon R et retourner en 3. Sinon l’apprentissage est terminé. J.Korczak, ULP 7 J.Korczak, ULP 8 Cartes auto-organisatrices de Kohonen Carte de 10*10 neurones J.Korczak, ULP GND : 9 J.Korczak, ULP 10 Apprentissage compétitif doux Cartes auto organisatrices Apprentissage sans dimensionnalité de réseau imposé (ang. Soft Competitive Learning) Quelques méthodes : • Neural Gas • Competitive Hebbian Learning • Neural Gas plus Competitive Hebbian Learning • Growing Neural Gas J.Korczak, ULP 11 J.Korczak, ULP 12 2 Neural Gas Neural Gas : Algorithme [Martinetz, Schulten, 1991] • NG ordonne les neurones du réseau en fonction de la distance de leur vecteur de référence avec l’exemple présenté. 1. 2. 3. • Les neurones les plus proches de l’exemple sont modifiés pour se rapprocher de l’exemple. 4. • Le nombre de neurones modifiés ainsi que l’importance de cette modification diminuent avec le temps. 5. 6. • Les neurones ne sont pas interconnectés entre eux. J.Korczak, ULP Competitive Hebbian Learning Initialisation des N neurones dont les vecteurs de référence sont choisis aléatoirement parmi les données; A ={c1, c2,…, cN}, t=0 Choix d’un exemple ξ aléatoirement Ordonner les neurones en fonction de leur distance par rapport à ξ : (i0, i1,…, iN-1), ki(ξ,A). Modifier les vecteurs de référence de neurones selon : ∆wi =ε(t)*hλ *ki(ξ,A)) * (ξ -wi) avec hλ(k) =exp (-k/λ(t)) et λ(t) et ε(t) qui diminuent dans le temps Incrémenter le compteur de temps t=t+1 Si t<tmax reprendre à l’étape 2. Exemples 13 [Martinetz 1993] J.Korczak, ULP Growing Neural Gas 14 [Fritzke, 1994] • Cette méthode est généralement utilisée avec d’autres, par ex. Neural Gas plus Competitive Hebbian Learning • Dans cette variante, le nombre de neurones est augmenté durant l’apprentissage. • Elle ne modifie pas les vecteurs de référence des neurones mais génère les connexions entre les neurones. • Les neurones sont connectés. • A chaque présentation d’un exemple, une connexion entre les deux neurones les plus proches de celui-ci est éventuellement ajoutée. J.Korczak, ULP 15 J.Korczak, ULP 16 17 J.Korczak, ULP 18 Growing Neural Gas : Algorithme 1. Initialisation de 2 neurones dont les vecteurs de référence sont choisis aléatoirement parmi les données; A ={c1, c2}, t=0. Initialisation de l’ensemble des connexions C. 2. Choix d’un exemple ξ aléatoirement. 3. Déterminer les deux neurones s1 et s2 les plus proches de ξ. 4. Rajouter une connexions entre s1 et s2 . Mettre son âge à 0. C = C U {(s1,s2 )}.age(s1,s2) = 0 5. Augmenter l’erreur cumulée du neurone : ∆Es1 = II ξ − wsiII2. 6. Modifier les vecteurs de référence de neurones du neurone vainqueur et de ses voisins topologiques directs : ∆wsi = εb*(ξ ξ -wsi) , ∆wi = εn*(ξ ξ -w n) 7. Incrémenter l’âge des connections de si 8. Supprimer les connexions d’âge supérieur à amax et supprimer les neurones qui n’ont plus de connexions. 9. Si le nombre d’exemples présentés est un multiple de l, ajouter un neurone entre celui dont l’erreur cumulée est la plus grande et son voisin d’erreur cumulée la plus importante. Diminuer l’erreur cumulée. 10.Si le critère d’arrêt n’est pas satisfait, reprendre à l’étape 2. J.Korczak, ULP 3 Couverture de la distribution des données Gaz neuronal croissant : exemple Carte de Kohonen Gaz de 100 neurones max. J.Korczak, ULP GND : 19 Growing Neural Gas J.Korczak, ULP 21 Applications : Découverte de concepts à partir d’images [LSIIT-AFD] J.Korczak, ULP 20 Images de télédétection • J.Korczak, ULP Gaz Neuronal Croissant 23 Satellite SPOT – résolution de 20m * 20m en mode MultiSpectral • B1 : 0.50 à 0.59 ηm • B2 : 0.61 à 0.68 ηm • B3 : 0,79 à 0.89 ηm – triplet de valeurs entre 0 et 255 – dimensions : 3000x3000 pixels - résolution de 1,3m*1,3m J.Korczak, ULP 22 Réflectance en fonction de la longueur d’onde J.Korczak, ULP 24 4 Agrégation Segmentation d’images de télédétection – Résolution de l’image déterminée par les capteurs des satellites • insuffisante pour certaines applications • pixels mixtes – Utilisation des informations spatiales des images • nécessaire pour décrire certains objets • permet d’associer une sémantique à des groupes de pixels mixtes – Données multi-sources J.Korczak, ULP 25 Résultats : Robertsau 1996 J.Korczak, ULP 26 Fouille d’images IRMf Rayon d’agrégation 2, rayon d’étude de voisinage 1, 20 classes Images 3D prisent dans le temps [http://alsace.u-strasbg.fr/ipb/ Exemple : Une série d’IRMf permettant de voir les zones réagissant à un stimulant avec leur niveau d’intensité par rapport à leurs emplacements au sein du cerveau. Classification étape 9 J.Korczak, ULP Segmentation étape 9 27 J.Korczak, ULP 28 Adaptations de GNC aux données IRMf Réduction de l’ensemble des donné données : Sélection de zones d’intérêt Cure de Jouvence : Empêcher la destruction d'un neurone pertinant Inertie d'un neurone : Limiter les mouvements d'un neurone pertinant J.Korczak, ULP 29 J.Korczak, ULP 30 5 Classifications Exemple de classe relevant d’une activation de type bloc J.Korczak, ULP 31 J.Korczak, ULP Comparaison avec SPM 32 Quelques références Equipe Apprentissage et Fouille de Données http://lsiit.u-strasbg.fr/afd All seven parts of the FAQ can be downloaded from either of the following URLS: ftp://ftp.sas.com/pub/neural/FAQ.html.zip ftp://ftp.sas.com/pub/neural/FAQ.txt.zip Usenet newsgroup comp.ai.neural-nets. Part 1: Introduction Part Part Part Part Part Part J.Korczak, ULP 33 2: 3: 4: 5: 6: 7: J.Korczak, ULP Learning Generalization Books, data, etc. Free software Commercial software Hardware and miscellaneous 34 6