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) • Classe de méthodes qui utilisent une structure de données appelée neurones • Réseau de neurones : neurones reliés par des connexions • Neurone informatique : caractérisé par son vecteur de référence • 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 n eurones 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 Cartes auto-organisatrices de Kohonen : Algorithme 1. 2. 3. 4. Exemple : Kohonen.exe 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)=wi j(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 GND : Cartes auto-organisatrices de Kohonen 8 Cartes auto organisatrices Carte de 10*10 neurones J.Korczak, ULP 9 Apprentissage compétitif doux J.Korczak, ULP Neural Gas Apprentissage sans dimensionnalité de réseau imposé (ang. Soft Competitive Learning) 10 [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é. Quelques méthodes : • Neural Gas • Competitive Hebbian Learning • Neural Gas plus Competitive Hebbian Learning • Growing Neural Gas • Les neurones les plus proches de l’exemple sont modifiés pour se rapprocher de l’exemple. • Le nombre de neurones modifiés ainsi que l’importance de cette modification diminuent avec le temps. • Les neurones ne sont pas interconnectés entre eux. J.Korczak, ULP 11 J.Korczak, ULP 12 2 Neural Gas : Algorithme 1. 2. 3. 4. 5. 6. Competitive Hebbian Learning [Martinetz 1993] • Cette méthode est généralement utilisée avec d’autres, par ex. Neural Gas plus 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. • Elle ne modifie pas les vecteurs de référence des neurones mais génère les connexions entre les neurones. • A chaque présentation d’un exemple, une connexion entre les deux neurones les plus proches de celui-ci est éventuellement ajoutée. Exemples J.Korczak, ULP 13 Growing Neural Gas J.Korczak, ULP 14 Growing Neural Gas : Algorithme [Fritzke, 1994] 1. Initialisation de 2 neurones dont les vecteurs de référence son t choisis aléatoirement parmi les données; A ={c1 , c2 }, t=0. Initialisation de l’ensemble des connexions C. • Dans cette variante, le nombre de neurones est augmenté durant l’apprentissage. 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 s 2 . Mettre son âge à 0. C = C U {(s1 ,s2 )}.age(s1,s2) = 0 • Les neurones sont connectés. 5. Augmenter l’erreur cumulée du neurone : ? E s1 = 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*(? -wn) J.Korczak, ULP 15 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 cu mulée. J.Korczak, 10.Si ULP le critère d’arrêt n’est pas satisfait, reprendre à l’étape 2. Couverture de la distribution des données Gaz neuronal croissant : exemple Carte de Kohonen Gaz de 100 neurones max. J.Korczak, ULP 16 17 J.Korczak, ULP Gaz Neuronal Croissant 18 3 GND : Growing Neural Gas Images de télédétection • 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 19 Applications : Découverte de concepts à partir d’images [LSIIT-AFD] J.Korczak, ULP 21 Segmentation d’images de télédétection J.Korczak, ULP 20 Réflectance en fonction de la longueur d’onde J.Korczak, ULP 22 Agrégation – 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 23 J.Korczak, ULP 24 4 Résultats : Robertsau 1996 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 25 J.Korczak, ULP 26 Adaptations de GNC aux données IRMf Réduction de l’ensemble des 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 27 J.Korczak, ULP Comparaison avec SPM 28 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 2: Learning ?Part 3: Generalization ?Part 4: Books, data, etc. ?Part 5: Free software ?Part 6: Commercial software ?Part 7: Hardware and miscellaneous ? ? J.Korczak, ULP 29 J.Korczak, ULP 30 5