Université de La Rochelle Les cartes de Kohonen IUP GI 3ème année Présentée par Jean-Marc Ogier Présentation & historique des réseaux neuronaux z Début en 1943 : par W. MCCulloch et W. Pitts du neurone formel qui est une abstraction du neurone physiologique z En 1949, D. Hebb présente dans son ouvrage "The Organization of Behavior" une règle d'apprentissage. De nombreux modèles de réseaux aujourd'hui s'inpirent encore de la règle de Hebb. z En 1958, F. Rosenblatt développe le modèle du Perceptron. C'est un réseau de neurones inspiré du système visuel. Il posséde deux couches z de neurones : une couche de perception et une couche lié à la prise de décision. C'est le premier système artificiel capable d'apprendre par z expérience. z Dans la même période, L'Adaline (ADAptive LINar Element) a été présenté par B. Widrow, chercheur américain à Stanford. base des réseaux multi-couches. Présentation & historique des réseaux neuronaux z En 1969, M. Minsky et S. Papert publient une critique des propriétés du Perceptron. Cela va avoir une grande incidence sur la recherche dans ce domaine. Elle va fortement diminuer jusqu'en 1972, où T. Kohonen présente ses travaux sur les mémoires associatives. et propose des applications à la reconnaissance de formes. z C'est en 1982 que J. Hopfield présente son étude d'un réseau complétement rebouclé, dont il analyse la dynamique. z Aujourd'hui, les réseaux neuronaux sont utilisés dans de nombreux domaines (entre autres, vie artificielle et intelligence artificielle) à cause de leur propriété en particulier, leur capacité d'apprentissage, et qu'ils soient des systèmes dynamiques. Quelques mots sur le neurone formel Le neurone v e c t e u r x1 w 1 x2 n ∑ ... i=1 xn w n w⋅x i i Fonction seuil 1 -1 Modèle de Kohonen z Il existe des zones du cerveau (dans le cortex visuel par exemple) qui présentent la même topologie que les capteurs sensoriels. C'est à dire deux zones proches dans le cortex visuel correspondent à deux zones proches dans la rétine, comme l'ont démontré Hubel et Wiesel en 1947. Structure de la carte z La carte de Kohonen est en général à deux dimensions. Chaque neurone de la couche d'entrées est rélié à chaque neurone de la carte de z Kohonen (lien 1 vers tous). x1 x2 ... ... xn vecteur de paramètres Autre possibilité : structure hexagonale z Autre possibilité : structure hexagonale Carte de Kohonen Apprentissage * Un vecteur en entrée * Compétition entre les neurones : calcul de la distance entre le vecteur en entrée et tous les neurones * Un neurone vainqueur * Evolution des poids synaptiques du vainqueur et de son environnement proche Carte de Kohonen z Equations d’apprentissage Règle de modification des poids : soit X le vecteur en entrée, X=[x1 x2 ... xn], les (xi) étant les valeurs caractéristiques de la forme à apprendre, c est le numéro du neurone vainqueur soit W le vecteur des coeffts synaptiques, W=[w1 w2 ... wn], on a alors wi (t + 1)=wi (t )+α (t ).[ xi(t )−wi (t )] ci Avec : [xi(t) - wi(t)] : distance euclidienne entre les vecteurs X et W à l’instant t αci(t) : coefficients d’apprentissage, fonction linéaire décroissante, grand au début pour accélérer cette phase, et petit après pour affiner. Ce coefficient a une valeur qui décroît aussi pour les neurones voisins, de manière à les spécialiser un peu moins que le neurone vainqueur Influence sur les voisins z αci(t) dépend de la distance au neurone vainqueur et du temps. Une z z z z forme possible pour αci(t) est : αci(t) = alpha(t) * exp(-(d(c,i)/(2 radius2(t))) Où alpha(t) est une fonction linéaire décroissante, Par exemple alpha(t) = A/(B + t) (A ; B constantes) Les neurones voisins voient donc leurs coefficients synaptiques augmenter proportionnellement à la distance par rapport au neurone vainqueur. Dans le réseau, se créent des zones de neurones sensibles à des formes « ressemblantes » => cartes topologiques. Neurone vainqueur 0 Distance p/r au neurone vainqueur Réseau de neurones Apprentissage et auto-organisation de la carte topologique classe A classe B classe C 1/ Présentation du projet 2/ Acquisition et prétraitements 3/ Extraction de paramètres Réseau de neurones 4/ Reconnaissance Reconnaissance * Un vecteur en entrée * Un neurone réagit * Identification: label associé au vainqueur * Affectation aux classes « par comptage » Version supervisée : différentes versions du LVQ (Learning Vector Quantization) z A/ LVQ 1 z z - L’apprentissage se fait en fournissant des vecteurs étiquetés : la classe est donnée avec les valeurs caractéristiques. z - La même règle de calcul des poids est appliquée, pour le neurone vainqueur et pour ses voisins, à ceci près que l’on regarde aussi la classe du neurone vainqueur. Si celle-ci est différente de la classe du vecteur en entrée, on « éloigne » le neurone de cette classe (décrémentation des poids), pour qu’il ne gagne pas la fois suivante, et qu’il puisse ainsi rejoindre sa bonne classe. Le LVQ 2 z Parmi tous les neurones en compétition, on garde les 2 premiers. Pour avoir une vision plus claire du traitement que nous allons effectuer, représentons graphiquement les différentes situations qui se présentent pour les vecteurs des poids : z - Si la classe du vecteur X (entrée) est celle des 2 neurones gagnants : soient (wi) et (wj) les coefficients synaptiques des neurones i et j, Wi (classe z Wi (classe A) A) X (classe z Wj (classe A) A) Wj (classe A) z X (classe A) dans ce cas, aucun coefficient n’est modifié, puisque le vecteur d’entrée se trouve dans la zone des neurones appropriés. Le LVQ 2 z - Si la classe du vecteur X ne correspond qu’à un seul des 2 neurones : z si X se trouve dans la zone d’indécision, nous allons modifier les coefficients des neurones en fonction de leur classe, pour que cette situation ne se reproduise pas. (rapprochement du bon neurone) z Cette zone d’indécision se définit avec une mesure de distance entre le vecteur X et celui des 2 neurones retenus. Elle se caractérise par une fenêtre de taille w, que l’utilisateur peut paramétrer : Wi (classe A) X (classe B) Wj (classe B) LVQ2 z Soit di et dj les mesures des distances (X,Wi) et (X,Wj), z Alors, X se trouvent dans la zone d’indécision si : d d min( , ) > s d d i j j i avec s= 1− w 1+ w Applications concernées z Aide à la décision z Classification supervisée / non supervisée z Data mining z Segmentation des images à base de classification à base d’attributs, …