Réseaux neuronaux Les fondements biologiques Réseaux neuronaux Perceptron Multi-Couche cortex : 1011 neurones neurone : ~104 entrées influx nerveux axone soma Jerzy Korczak, LSIIT, ULP email : [email protected] http://lsiit.u-strasbg.fr/afd synapse dendrites J.Korczak, ULP 1 J.Korczak, ULP 2 Cortex : les couches et les cellules Neurone biologique Signal: action potentielle (ang.spike) action potential 1mm 10 000 neurones 3 km fil 100µm J.Korczak, ULP 3 J.Korczak, ULP Modélisation de réseaux de neurones biologiques 4 Modè Modèle de cellule de Purkinje (Schutter 2005) Le modèle comporte: Populations • 32000 équations différentielles! • 8021 modèles des canaux ioniques • 19200 paramètres d’affinement • description morphologique de neurones Comportement Neurones Signaux Modéles Molecules Canaux ionique J.Korczak, ULP 5 J.Korczak, ULP 6 1 Traitement de l'information dans le cerveau et l'ordinateur de von Neumann Histoire La modélisation du neurone [McCulloch, Pitts, 1943] • Le processus d’apprentissage [Hebb, 1949] • PERCEPTRON [Rosenblatt,1958-1962] Ordinateur de von Neumann calcul et mémoire séparés et centralisés programme = séquence d’instr. Convergence d’un algorithme itératif d’adaptation de poids • Limitations du PERPTRON [Minsky, Papert, 1969] séparation linéaire exécution d'un sousprogramme à la fois un seul processeur très rapide Problème du OU-exclusif (XOR) • Machine de Bolzmann [Hopfield, 1982] • Rétro-propagation - MLP [Rumelhart, Parker, Le Cun, 1985] • Cartes topologiques auto-adaptatives [Kohonen, 80s] J.Korczak, ULP 7 Cerveau calcul et mémoire intégrés et distribués calcul = satisfaction de multiples contraintes combinaison simultanée de multiples sources d'information des centaines de milliards d'unités de calcul très lentes J.Korczak, ULP 8 Caractéristiques des systèmes Séparation linéaire XOR wkx > s 1 x1 ? wkx < s 0 x2 1 Un ensemble d'exemples est linéairement séparable si il existe un classifieur linéaire qui peut tous les apprendre. Pour n entrées binaires, il existe 2n vecteurs d'entrées possibles, et 22n fonctions binaires. • • J.Korczak, ULP 9 J.Korczak, ULP 10 OCR : reconnaissance de caractè caractères par RN Applications Reconnaissance des formes, classification Reconnaissance/synthèse de la parole Prévision et modélisation Diagnostic Compression de données Vision, robotique, commende de véhicule, contrôle adaptatif Nouvelles applications • Recherche d’informations dans le Web • Extraction d’information, veille technologique • Multimédia (indexation) • Data mining J.Korczak, ULP 11 J.Korczak, ULP 12 2 Qu’est-ce qu’un réseau de neurones ? Réseaux neuronaux : ‘bonnes applications’ applications’ Des caractéristiques d’une bonne application : • Problèmes très difficiles à expliciter ou à formaliser • On dispose d’un ensemble d’exemples • Le problème fait intervenir des données bruitées • Le problème peut évoluer • Le problème nécessite une grande rapidité de traitement • Il n’existe pas de solutions technologiques courantes RN est un réseau d’automates finis partiellement ou totalement connectés entre eux, en interaction locale ou globale. Il est entièrement caractérisé par son architecture et les fonctions de transition d’état des neurones. Deux grands classes de RN : • RN dont l’apprentissage est supervisé Une méthode d’apprentissage supervisé est une méthode qui utilise directement les connaissances d’un expert et essaye de reproduire ces connaissances. • RN dont l’apprentissage est non supervisé Une méthode d’apprentissage non supervisé est une méthode qui essaye de dériver des généralisations à partir des données, de segmenter l’espace de données. J.Korczak, ULP 13 J.Korczak, ULP 14 Réseau de neurones - MLP Le Perceptron Multi-Couche (MLP) Un réseau (suffisamment complexe) de neurones formels peut représenter n'importe quelle fonction booléenne ou n'importe quelle partition de Rn. • Le MLP est composé de couches successives : une couche d’entrée (où sont présentées les entrées), une ou plusieurs couches cachées, et une couche de sortie (où sont présentées les sorties calculées par le MLP). • L’apprentissage des MLP : - algorithme de rétro-propagation du gradient - algorithme de gradient conjugué - méthodes de second ordre, … Les MLP sont des approximateurs universels. J.Korczak, ULP couche d ’entrée 15 Fonctionnement d’un neurone X2 X3 F Σ wk Entrées Σxi*w i Y1 Y2 Y3 - propriétés importantes : - continue, dérivable Sorties Σ J.Korczak, ULP 16 Σ 0 w2 wi J.Korczak, ULP Fonction non linéaire - choix typiques : fonction logistique, tangente hyperbolique F(x) = 1/(1+e-x) F(x)= tanh(x) 1 w1 couche de sortie Fonction d’activation Fonction d’activation (ou de transfert) X1 couches cachées 17 J.Korczak, ULP 18 3 Arrêt de l’apprentissage MLP : apprentissage Principe : • Initialisation des poids à des valeurs aléatoires • Présentation d’un exemple • Propagation des signaux dans le réseau • Calcul des erreurs et propagation en sens rétrograde • Modification des poids de connexions • Critères classiques – l’erreur passe en dessous d’un seuil – borne sur le temps de calcul – vitesse de progression • Une technique de régularisation : arrêt prématuré (early stopping) – éviter le sur-apprentissage – on s’arrête quand l’erreur remonte sur l’ensemble de validation Défauts : • Paramétrage • Lenteur • Choix de la topologie J.Korczak, ULP 19 Problème : la sortie désirée pour un neurone caché ? J.Korczak, ULP 20 Problème : la sortie désirée pour un neurone caché ? dEp/dwij = (dEp/dσj)(dσj/dwij) =(dEp/dσj) yi on pose δj= (dEp/dσj), d’où wij(t+1) = wij(t) – λ(t) δj yi … oi wij oi tj: sortie désirée xi xi σi f Entrées σj f wij oj wjk σk f tj entrée Méthode de calcul : mais δj= (dEp/dσj)= Σk(dEp/dσk) (dσk/dσj)= Σk δk (dσk/dσj)= 1) fonction de coût : E(t)=Σp(op-tp)2 2) gradient total : w(t+1) = w(t) –λ(t) gradw (Ep(t)) 3) calculer dEp/dwij d’où J.Korczak, ULP 21 - x2 o2 - x3 o3 ... ... xn Vecteur yi= Σ wijxi d ’entrée Fonction sigmoïde J.Korczak, ULP - om F(y)=1/(1+e-ky) si neurone j en sortie J.Korczak, ULP 22 t1 o1 wij si neurone j en sortie σ j) δj = (Σk wij δk) f’ (σ Exemple : Rétro-propagation du gradient (GBP) Apprentissage Rétrotro-propagation du gradient x1 = Σk δk wjk (dyk/dσj) σ j) δj = 2(oj - tj) f’(σ - XOR X Y XOR(X,Y) 0 0 0 0 1 1 1 0 1 1 1 0 f(netk)=1/(1+e-net ) netj=Σ Σwijoi bias oj=f(netj) E=1/2 Σ(tk - ok)2 t2 t3 ... tm XOR 0,5 0 0 1 0,5 bias 0 0 k F’(y) = F(y)(1-F(y)) 23 J.Korczak, ULP δk=(tk-ok)f’(netk) f’(netk)=ok(1-ok) w (t+1)=wjk(t)-λδ λδkoj 0 jk W ij=0 1 0 1 0 X Y 24 4 Exemple : Rétro-propagation du gradient (GBP) Apprentissage z 0,5 Y XOR(X,Y) 0 0 1 1 0 1 1 0 W ij=0 0 0 0 1 0,5 h 0 δh=f’(netj) Σδkwkj λ=0,1 δz=(1-0.5)*0,5*(1-0.5)= =0,125 wzx(t+1)=0+0,1*0,125*1= = 0,0125 bias bias 1 0 0 1 y x λ wzx=0,00125 wzy=0 wzh=0,00625 whx=0,0000195 why=0 wzbh=0,0000195 f(net) = 0,507031 XOR XOR X 0 0 1 1 Apprentissage : les poids et le coefficient d’apprentissage itération 25496 3172 391 (fails) 0,1 0,5 3,0 4,0 0 = 0,5*(1-0,5)*0,125*0,00625= 0,000195 w hx=0+0,1*0,000195*1=0,0000195 J.Korczak, ULP 25 XOR XOR X 0 0 1 1 0,91 -3,29 10,9 1 -4,95 -2,76 bias 1 -4,95 0.98 7,1 0,91 -3,29 10,9 1 1 1 * 7,1 1 * -2,76 0 * 7,1 Σxw = 4,34 0 Y 27 bias 1 Y=1/(1+e-Σxw) =1/(1+e-4,34) =0,98 -4,95 0,98 7,1 7,1 1 0 X Y J.Korczak, ULP Axone : Exemple XOR Exemple : Rétro-propagation du gradient (GBP) XOR -4,95 -2,76 J.Korczak, ULP 28 [http://lsiit.u-strasbg.fr/afd] XOR Y XOR 0 0,08 1 0,91 0 1,00 1 0,10 0,91 -3,29 10,9 1 -4,95 -2,76 bias 1 -4,95 0,98 7,1 7,1 1 0 X J.Korczak, ULP XOR Y XOR 0 0 1 1 0 1 1 0 7,1 X X 0 0 1 1 26 Exemple : Rétro-propagation du gradient (GBP) Exemple : Rétro-propagation du gradient (GBP) XOR X Y XOR(X,Y) 0 0 0 0 1 1 1 0 1 1 1 0 J.Korczak, ULP Y 29 J.Korczak, ULP 30 5 Axone : Exemple XOR – paramètres d’apprentissage J.Korczak, ULP Axone : Exemple XOR – réseau appris 31 Apprentissage : Mise à jour des poids et outils 32 Choix du pas d’apprentissage Mise à jour des poids Batch : après la présentation de tous les exemples calcul et stockage lourds si trop d’exemples En ligne (on-line) : après chaque exemple besoin de tirer l’exemple au hasard problèmes de convergence plus de 5000 exemples • Pas d’apprentissage : trop petit -> convergence « lente » trop grand -> risque d’oscillations • Heuristiques : ajuster le pas au fur et à mesure « à la main » « en fonction de la forme de la surface d’erreur • Approximations : Premier ordre : Inertie, SuperSAB, Delta-Bar-Delta, Rprop Second ordre : QuickProp, Levenberg-Marquard Outils : Matlab, Axone, SNNS J.Korczak, ULP J.Korczak, ULP 33 J.Korczak, ULP 34 Extraction de règles r gles à partir de RN Déplacement de l’objectif d’apprentissage Connaissances acquises du RN sont encodées : Chaque neurone à l’intérieur du réseau essaye en même temps d’évoluer pour détecter une caractéristique du problème. Les neurones d’une même couche ne communiquent pas entre eux. L’architecture du réseau Les fonctions d’activation associées à chaque neurone Les poids des connexions Objectifs : Effet « troupeau » (herd effect) Architecture en cascade : Cascade Correlation J.Korczak, ULP 35 Explication pour l’utilisateur Vérification de logiciels, Débuggage Exploration de données Amélioration de la généralisation Induction de théories scientifiques Acquisition de connaissances J.Korczak, ULP 36 6 KnowledgeKnowledge-Based Artificial Netural Networks [Shavlik, 1993] Méthodes d’extraction de règles à partir RN • Décompositionnelles Théorie initiale du domaine – – – – Théorie finale du domaine Données Insertion de règles dans le réseau Réseau initial Extraction de règles du réseau Apprentissage – DEDEC – TREPAN –… • Pédagogiques – – – – Réseau final J.Korczak, ULP • Hybrides KBANN SUBSET MofN … 37 RULENEG BRAINNE VIA … J.Korczak, ULP 38 Optimisation de la topologie de PMC Authentification biométrique • Approche empirique par «essai-erreur» • Approches ascendantes : …cherche à augmenter le nombre de Visage connexions et de neurones dans le réseau – Cascade-Correlation [Fahlman, Lebiere, 1991] – Upstart [Frean, 1990] – Tiling [Mézard, Nadal, 1989] Normalisation Apprentissage et + Codage Reconnaissance Détection des yeux -50 Moment -5 0 0 10 20 30 40 0 0 10 20 30 40 50 Vert 50 1 00 Grey Sca e l 1 50 10 0 n I e t n si t y 15 0 2 00 Bleu 20 0 2 50 25 0 Ave rag e Inten s ti y o f e ac h ro ws Hue n I e t n si t y Saturation Filtre Trouver Trouver Inondation + de base Y X Convolution Intensité Extraction • Approches descendantes : …cherche à élaguer les connexions et les neurones dans le réseau – pendant l’apprentissage [Weight Elimination, Weigend,1991] – après apprentissage [OBD, Brain Surgeon, Le Cun, 1990] Voix Transformation de l’ondelette Fréquence Effacer les silences – [Weight Elimination, Weigend,1991] – AGWin [Korczak, 1998] J.Korczak, ULP w1 Accepter, Rejeter Normalisation Apprentissage et + Codage Reconnaissance w2 C0 C1 C 2 C3 C 4 C5 C 6 C7 C9 C10 C11 C 12 C13 C14 Temps 39 Réseau des neurones Base des données Identité • Approches évolutives : connexionisme génétique J.Korczak, ULP Décision 50 0 C15 Réseau des neurones 40 Bibliographie Bishop C.M., Neural Networks for Pattern Recognition, Oxford Univ., 1995. Haykin S., Neural Networks: A Comprehensive Foundation, Prentice-Hall, 1999. Rojas R., Neural Networks: A Systematic Introduction, Springer, 1996. Kohonen T., Self-Organizing Maps, Springer, 1997. Hérault J., Jutten C., Réseaux neuronaux et Traitement du Signal, Hermès, 1994. Masters T., Practical Neural Network Recipes in C++, Academic Press, 1994. Online books : http://www.shef.ac.uk/psychology/gurney/notes/index.html Usenet newsgroup : comp.ai.neural-nets FAQ : ftp://ftp.sas.com/pub/neural/FAQ.html Neuroprose : ftp://archive.cis.ohio-state.edu/pub/neuroprose http://lsiit.u-strasbg.fr/afd http://diwww.epfl.ch/mantra/tutorial/french/index.html http://19968.gel.ulaval.ca/notes/RetroPerceptron.pdf http://www.dontveter.com/bpr/bpr.html J.Korczak, ULP 41 7