Réseaux neuronaux Réseaux neuronaux Perceptron MultiCouche Les fondements biologiques influx nerveux cortex : neurones neurone : ~ 4 entrées Jerzy Korczak, LSIIT, ULP email : jjk@dptinfo.ustrasbg.fr http://lsiit.ustrasbg.fr/afd soma dendrites axone synapse J.Korczak, ULP J.Korczak, ULP 2 Neurone biologique Cortex : les couches et les cellules Signal: action potentielle (ang.spike) action potential mm neurones 3 km fil µm J.Korczak, ULP 3 J.Korczak, ULP 4 Modélisation de réseaux de neurones biologiques Modèle de cellule de Purkinje (Schutter 25) Neurones Populations de neurones Comportement Signaux Le modèle comporte: 32 équations différentielles! 82 modèles des canaux ioniques 92 paramètres d affinement description morphologique Molecules Canaux ionique Modéles J.Korczak, ULP 5 J.Korczak, ULP 6
Histoire Traitement de l'information dans le cerveau et l'ordinateur de von Neumann La modélisation du neurone [McCulloch, Pitts, 943] Le processus d apprentissage [Hebb, 949] PERCEPTRON [Rosenblatt,958962] Convergence d un algorithme itératif d adaptation de poids Limitations du PERPTRON [Minsky, Papert, 969] séparation linéaire Problème du OUexclusif () Machine de Bolzmann [Hopfield, 982] Rétropropagation MLP [Rumelhart, Parker, Le Cun, 985] Cartes topologiques autoadaptatives [Kohonen, 8s] Ordinateur de von Neumann calcul et mémoire séparés et centralisés programme = séquence d instr. exécution d'un sousprogramme à la fois un seul processeur très rapide 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 7 J.Korczak, ULP 8 Caractéristiques des systèmes Séparation linéaire w k x > s w k x < s x? x2 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 2 n vecteurs d'entrées possibles, et 2 2 n fonctions binaires. J.Korczak, ULP 9 J.Korczak, ULP Applications OCR : reconnaissance de caractères res par RN 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 J.Korczak, ULP 2 2
n'importe Qu estce qu un réseau de neurones? Réseaux neuronaux : bonnes applications 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 3 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 J.Korczak, ULP 4 Le Perceptron MultiCouche (MLP) 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). Réseau de neurones MLP Un réseau (suffisamment complexe) de neurones formels peut représenter quelle fonction booléenne ou n'importe quelle partition de R n. L apprentissage des MLP : algorithme de rétropropagation du gradient algorithme de gradient conjugué méthodes de second ordre, Les MLP sont des approximateurs universels. couche d entrée couches cachées couche de sortie J.Korczak, ULP 5 J.Korczak, ULP 6 Fonctionnement d un neurone Fonction d activation w Fonction d activation (ou de transfert) F Σ Fonction non linéaire choix typiques : fonction logistique, tangente hyperbolique F(x) = /(+e x ) F(x)= tanh(x) 2 w2 3 wi Σ 2 Entrées wk Σx i *w i Σ 3 Sorties propriétés importantes : continue, dérivable J.Korczak, ULP 7 J.Korczak, ULP 8 3
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 Défauts : Paramétrage Lenteur Choix de la topologie Arrêt de l apprentissage 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 surapprentissage on s arrête quand l erreur remonte sur l ensemble de validation J.Korczak, ULP 9 J.Korczak, ULP 2 Problème : la sortie désirée pour un neurone caché? 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+) = wij(t) λ(t) δj yi xi Entrées oi wij tj: sortie désirée oi oj wjk xi σi σj σk f f f wij entrée tj Méthode de calcul : ) fonction de coût : E(t)=Σp(optp) 2 2) gradient total : w(t+) = w(t) λ(t) gradw (Ep(t)) 3) calculer dep/dwij mais δj= (dep/dσj)= Σk(dEp/dσk) (dσk/dσj)= Σk δk (dσk/dσj)= = Σk δk wjk (dyk/dσj) d où δj = 2(oj tj) f (σj) si neurone j en sortie δj = (Σk wij δk) f (σj) si neurone j en sortie J.Korczak, ULP 2 J.Korczak, ULP 22 Rétro tropropagation du gradient Exemple : Rétropropagation du gradient (GBP) Apprentissage x x 2 x 3... x n w o ij o 2 o 3 Vecteur yi= Σ w d entrée ij x i Fonction sigmoïde F(y)=/(+e ky)... o m t t 2 t 3 E=/2 Σ(t k o k ) 2... t m F (y) = F(y)(F(y)) (,) f(net k )=/(+e net k) net j =Σw ij o i o j =f(net j ) W ij =,5 δ k =(t k o k )f (net k ) f (net k )=o k (o k ) w jk (t+)=w jk (t)λδ k o j,5 J.Korczak, ULP 23 J.Korczak, ULP 24 4
Exemple : Rétropropagation du gradient (GBP) Apprentissage Apprentissage : les poids et le coefficient d apprentissage (,) δ h =f (net j ) Σδ k w kj x =,5*(,5)*,25*,625=,95 w hx =+,*,95*=,95 z,5 λ=, W ij = δ z =(.5)*,5*(.5)= =,25 w zx (t+)=+,*,25*= =,25,5 h J.Korczak, ULP 25 y w zx =,25 λ itération w zy =, 25496 w zh =,625,5 372 w hx =,95 3, 39 w hy = 4, (fails) w zbh =,95 f(net) =,573 J.Korczak, ULP 26 Exemple : Rétropropagation du gradient (GBP) Exemple : Rétropropagation du gradient (GBP) (,) 2,76 3,29,9,9.98 7, 7, * 7, * 2,76 * 7, Σxw = 4,34 2,76 3,29 7,,9,9,98 7, =/(+e Σx w ) =/(+e 4,34 ) =,98 J.Korczak, ULP 27 J.Korczak, ULP 28 Exemple : Rétropropagation du gradient (GBP) Axone : Exemple [http://lsiit.ustrasbg.fr/afd],8,9,, 3,29,9,9,98 2,76 7, 7, J.Korczak, ULP 29 J.Korczak, ULP 3 5
Axone : Exemple paramètres d apprentissage Axone : Exemple réseau appris J.Korczak, ULP 3 J.Korczak, ULP 32 Apprentissage : Mise à jour des poids et outils Mise à jour des poids Batch : après la présentation de tous les exemples calcul et stockage lourds si trop d exemples En ligne (online) : après chaque exemple besoin de tirer l exemple au hasard problèmes de convergence plus de 5 exemples Outils : Matlab, Axone, SNNS Choix du pas d apprentissage 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, DeltaBarDelta, Rprop Second ordre : QuickProp, LevenbergMarquard J.Korczak, ULP 33 J.Korczak, ULP 34 Déplacement de l objectif d apprentissage 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. Effet «troupeau» (herd effect) Architecture en cascade : Cascade Correlation Extraction de règles r à partir de RN Connaissances acquises du RN sont encodées : L architecture du réseau Les fonctions d activation associées à chaque neurone Les poids des connexions Objectifs : 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 35 J.Korczak, ULP 36 6
5 5 5 2 2 5 2 3 4 Ave rag e Inten s ity o f e ac h ro ws Grey Sca le 5 5 5 2 25 2 3 4 5 In te n si ty In te n si ty KnowledgeBased Artificial Netural Networks Networks [Shavlik, 993] Méthodes d extraction de règles à partir RN Théorie initiale du domaine Données Théorie finale du domaine Décompositionnelles KBANN SUBSET MofN Hybrides DEDEC TREPAN Insertion de règles dans le réseau Réseau initial Apprentissage Extraction de règles du réseau Réseau final Pédagogiques RULENEG BRAINNE VIA J.Korczak, ULP 37 J.Korczak, ULP 38 Optimisation de la topologie de PMC Authentification biométrique Approche empirique par «essaierreur» Approches ascendantes : cherche à augmenter le nombre de connexions et de neurones dans le réseau CascadeCorrelation [Fahlman, Lebiere, 99] Upstart [Frean, 99] Tiling [Mézard, Nadal, 989] Approches descendantes : cherche à élaguer les connexions et les neurones dans le réseau pendant l apprentissage [Weight Elimination, Weigend,99] après apprentissage [OBD, Brain Surgeon, Le Cun, 99] Approches évolutives : connexionisme génétique [Weight Elimination, Weigend,99] AGWin [Korczak, 998] Visage Filtre Trouver Trouver Inondation + de base Convolution Identité Voix Normalisation Apprentissage et Détection des yeux + Codage Reconnaissance Fréquence Effacer les silences Temps Normalisation Transformation de l ondelette + Codage C C C 2 C 3 C 4 C 5 C 6 C 7 C 9 C C C 2 C 3 C 4 C 5 Moment Vert Bleu Hue Saturation Intensité Réseau des Extraction neurones Base des données Apprentissage et Reconnaissance Réseau des neurones w w2 Décision Accepter, Rejeter J.Korczak, ULP 39 J.Korczak, ULP 4 Bibliographie Bishop C.M., Neural Networks for Pattern Recognition, Oxford Univ., 995. Haykin S., Neural Networks: A Comprehensive Foundation, PrenticeHall, 999. Rojas R., Neural Networks: A Systematic Introduction, Springer, 996. Kohonen T., SelfOrganizing Maps, Springer, 997. Hérault J., Jutten C., Réseaux neuronaux et Traitement du Signal, Hermès, 994. Masters T., Practical Neural Network Recipes in C++, Academic Press, 994. Online books : http://www.shef.ac.uk/psychology/gurney/notes/index.html Usenet newsgroup : comp.ai.neuralnets FAQ : ftp://ftp.sas.com/pub/neural/faq.html Neuroprose : ftp://archive.cis.ohiostate.edu/pub/neuroprose http://lsiit.ustrasbg.fr/afd http://diwww.epfl.ch/mantra/tutorial/french/index.html http://9968.gel.ulaval.ca/notes/retroperceptron.pdf http://www.dontveter.com/bpr/bpr.html J.Korczak, ULP 4 7