• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Cours rn 2006
 

Cours rn 2006

on

  • 945 views

 

Statistics

Views

Total Views
945
Views on SlideShare
945
Embed Views
0

Actions

Likes
0
Downloads
42
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Cours rn 2006 Cours rn 2006 Document Transcript

    • INTRODUCTION AUX RESEAUX DE NEURONES MASTER 2005-2006
    • 1. Introduction ___________________________________________________________ 3 Historique ____________________________________________________________________ 4 Analogie neurone formel et neurone biologique _____________________________________ 5 Exemple de réseaux de neurones __________________________________________________ 6 Applications ___________________________________________________________________ 72. Caractéristiques des réseaux de neurones artificiels ___________________________ 8 2.1. Poids (w) et biais (b) d’un neurone__________________________________________ 8 2.2. La fonction de sommation _________________________________________________ 8 2.3. La fonction de transfert__________________________________________________ 10 2.4. Réseaux statiques (Apprentissage par « paquet ») et Réseaux dynamiques (Apprentissage « séquentiel ») ___________________________________________________ 113. Les différents types de réseaux de neurones et leurs applications ________________ 12 3.1. Le perceptron __________________________________________________________ 12 3.1.1. Description _________________________________________________________________ 12 3.1.2. Loi d’apprentissage du perceptron _______________________________________________ 12 3.2. Les réseaux (filtres) linéaires _____________________________________________ 13 3.2.1. Description _________________________________________________________________ 13 3.2.2. Algorithme d’apprentissage (LMS ou Windrow-Hoff algorithme)_______________________ 13 3.3. Le perceptron multicouche _______________________________________________ 15 3.3.1. Description _________________________________________________________________ 15 3.3.2. La rétro propagation ou algorithme d’apprentissage de « Backpropagation » ______________ 15 3.3.3. Amélioration de la généralisation (ou le dilemme biais/variance) _______________________ 16 3.3.4. Applications ________________________________________________________________ 17 3.4. Les réseaux de neurones à fonctions radiales de base (Radial Basis Network) _____ 23 3.4.1. Description _________________________________________________________________ 23 3.4.2. Les réseaux de neurones à régression généralisée (Generalized Regression Networks) _______ 24 3.4.3. Les réseaux de neurones probabilistes (Probabilistic Neural Networks)___________________ 25 3.5. Les réseaux de neurones compétitifs ou cartes auto organisatrices ______________ 26 3.5.1. Réseaux de neurone compétitif ou réseaux de Kohonen (loi d’apprentissage de Kohonen) ____ 26 3.5.2. Les cartes auto organisatrices ___________________________________________________ 27 3.5.3. Les LVQ réseaux de neurones___________________________________________________ 29 3.6. Les réseaux récurents ___________________________________________________ 30 3.6.1. Réseaux de Elman ____________________________________________________________ 30 3.6.2. Réseaux de Hopfield __________________________________________________________ 31
    • 1. IntroductionLes réseaux de neurones sont composés d’éléments simples (ou neurones) fonctionnant enparallèle. Ces éléments ont été fortement inspirés par le système nerveux biologique. Commedans la nature, le fonctionnement du réseau (de neurone) est fortement influencé par laconnections des éléments entre eux. On peut entraîner un réseau de neurone pour une tâchespécifique (reconnaissance de caractères par exemple) en ajustant les valeurs des connections(ou poids) entre les éléments (neurone).En général, l’apprentissage des réseaux de neurones est effectué de sorte que pour une entréeparticulière présentée au réseau corresponde une cible spécifique. L’ajustement des poids sefait par comparaison entre la réponse du réseau (ou sortie) et la cible, jusqu’à ce que la sortiecorresponde (au mieux ?) à la cible. On utilise pour ce type d’apprentissage dit supervisé unnombre conséquent de pair entrée/sortie.L’apprentissage « par paquet » (batch training) du réseau consiste à ajuster les poids et biaisen présentant les vecteurs d’entrée/sortie de tout le jeu de données.L’apprentissage « pas à pas ou séquentiel » (incremental training) consiste à ajuster les poidset biais en présentant les composantes du vecteur d’entrée/sortie les unes après les autres. Cetype d’apprentissage est souvent qualifié d’apprentissage « en ligne » (« on line » training) ou« adaptatif » (« adaptive » training).L’apprentissage permet aux réseaux de neurones de réaliser des taches complexes dansdifférents types d’application (classification, identification, reconnaissance de caractères, dela voix, vision, système de contrôle…). Ces réseaux de neurones peuvent souvent apporterune solution simple à des problèmes encore trop complexes ne pouvant être résolusrapidement par les ordinateurs actuels (puissance de calcul insuffisante) ou par notre manquede connaissances.La méthode d’apprentissage dite supervisé est souvent utilisée mais des techniquesd’apprentissage non supervisé existent pour des réseaux de neurones spécifiques. Ces réseauxpeuvent, par exemple, identifier des groupes de données (réseaux de Hopfield).Les réseaux de neurones ont une histoire relativement jeune (environ 50 ans) et lesapplications intéressantes des réseaux de neurones n’ont vu le jour qu’il à une vingtained’année (développement de l’informatique).L’objectif de ce cours (de 2 heures) est de présenter (sommairement) les grands types deréseaux de neurones, leurs applications et éventuellement les règles et algorithmesd’apprentissage. On s’attardera un petit peu plus sur le perceptron multicouche. Les figures dece cours sont issus du livre Neural Network Toolbox fournit par le logiciel Matlab et desrecherches effectuées au Laboratoire de Météorologie Physique.
    • HistoriqueLe champ des réseaux neuronaux va démarrer par la présentation en 1943 par W. McCullochet W. Pitts du neurone formel qui est une abstraction du neurone physiologique. Leretentissement va être énorme. Par cette présentation, ils veulent démontrer que le cerveau estéquivalent à une machine de Turing, la pensée devient alors purement des mécanismesmatériels et logiques.Une machine de Turing se résume à une tête de lecture comportant un nombre fini d’étatsinternes et à un ruban. La puissance de l’analyse de Turing (1912-1954) tient au fait que satête de lecture ne lit qu’un seul symbole à la fois, et que cette lecture, associée à la tabled’états adéquate, suffit à effectuer toutes les opérations possibles. La Machine de Turing esttoutefois une machine imaginaire, abstraite, et idéale. Elle n’a pu être construite. Sonfonctionnement implique en effet d’avoir un ruban extensible à volonté donc infini! Lacombinaison de cette mémoire infinie et d’un nombre d’états fini a cependant apporté lapreuve que, si un problème est calculable, alors il existe une machine pour le résoudre. Dèslors, une MACHINE, reprenant les règles de toutes les autres, est UNIVERSELLE ».)En 1949, D. Hebb présente dans son ouvrage « The Organization of Behavior » une règled’apprentissage. De nombreux modèles de réseaux aujourd’hui s’inspirent encore de la règlede Hebb.En 1958, F. Rosenblatt développe le modèle du perceptron. C’est un réseau de neuronesinspiré du système visuel. Il possède deux couches de neurones : une couche de perception etune couche liée à la prise de décision. C’est le premier système artificiel capable d’apprendrepar expérience.Dans la même période, Le modèle de L’Adaline (ADAptive LINar Element) a été présentépar B. Widrow et Hoff. Ce modèle sera par la suite le modèle de base des réseaux multi-couches.En 1969, M. Minsky et S. Papert publient une critique des propriétés du Perceptron. Cela vaavoir une grande incidence sur la recherche dans ce domaine. Elle va fortement diminuerjusqu’en 1972, où T. Kohonen présente ses travaux sur les mémoires associatives et proposedes applications à la reconnaissance de formes.C’est en 1982 que J. Hopfield présente son étude d’un réseau complètement rebouclé, dont ilanalyse la dynamique.
    • Analogie neurone formel et neurone biologique
    • Exemple de réseaux de neurones Réseau entièrement bouclé (carte Réseaux avec connections arrière (réseaux topologique) récurrent ou feedback
    • Réseau « ordonné » sans connexion arrière (réseau feed-forward)Applications • Aérospatial : pilotage automatique, simulation du vol… • Automobile : système de guidage automatique,… • Défense : guidage de missile, suivi de cible, reconnaissance du visage, radar, sonar, lidar, traitement du signal, compression de données, suppression du bruit… • Electronique : prédiction de la séquence d’un code, vision machine, synthétiseur vocal, modèle non linéaire,… • Finance : Prévision du coût de la vie • Secteur médical : Analyse EEC et ECG • Télécommunications : Compression de données …
    • 2. Caractéristiques des réseaux de neurones artificiels 2.1. Poids (w) et biais (b) d’un neurone 2.2. La fonction de sommation
    • L’entrée d’un neurone contient le biais et la somme des ses poids. La sortie d’un neuronedépend de l’entrée du neurone et de sa fonction de transfert f .
    • 2.3. La fonction de transfert Fonction à seuil Tangente hyperbolique Fonction Gaussienne Pas unitaire Sigmoïde Linéaire Seuillée Gaussienne Identité f (x) = x
    • 2.4. Réseaux statiques (Apprentissage par « paquet ») et Réseaux dynamiques (Apprentissage « séquentiel »)Le format des données d’entrée va affecter l’évolution des poids et biais des réseaux deneurones lors de leur apprentissage.Un réseau dit statique est un réseau qui ne contient pas de connexion arrières (feedback ordelay). Par conséquent, on peut lui présenter les données en entrée dans n’importe quel ordre,cela n’influencera pas l’évolution de ses poids lors de la phase d’apprentissage. Il est alorspréférable de lui donner tout le jeu de donnée en un seul coup lors de la phased’apprentissage. On parle alors d’apprentissage par paquet (« batch training »). Les réseaux« feedforward » ne peuvent pas simuler des processus dépendant du temps.Par contre, si l’on veut simuler un processus qui dépend du temps, alors on pourra utiliser unréseau de neurones contenant des connections arrières. L’ordre de présentation du jeu dedonnées au réseau de neurone sera alors primordial. On parle alors d’apprentissage séquentiel.
    • 3. Les différents types de réseaux de neurones et leurs applications 3.1. Le perceptron 3.1.1. Description 3.1.2. Loi d’apprentissage du perceptronSoient p et t les vecteurs d’entrée et sortie cible utilisés pour l’apprentissage du perceptron eta est réponse du perceptron. L’évolution de la valeur des poids W et des biais b du perceptronvont varier, à chaque fois (nombre de epoch) que les vecteurs d’entrée sont présentés auperceptron, selon la règle ∆W = (t − a ) p T = ep T et ∆b = (t − a )(1) = e ,donc on aura : W new = W old + ep T   b =b +e new old
    • Exercice : Déterminez un ensemble de poids (et une valeur de seuil) qui va produire laclassification suivante : x1 x2 sortie -0.2 0.5 0 0.2 -0.5 0 0.8 -0.8 1 0.8 0.8 1 3.2. Les réseaux (filtres) linéaires 3.2.1. Description 3.2.2. Algorithme d’apprentissage (LMS ou Windrow-Hoff algorithme)Soient p et t les vecteurs d’entrée et sortie cible utilisés pour l’apprentissage du réseau et a estla réponse du réseau. L’objectif des de minimiser la fonction coût F (erreur quadratiquemoyenne entre entrées et réponses du réseau) définie comme : 2 2 1 Q Q F= ∑ [t (k ) − a(k )] = 1 ∑ [e(k )] , Q k =1 Q k =1Q étant le nombre d’exemples. Cette minimisation se fait selon une règle delta :
    • ∂F ∆W = −α . ∂WL’algorithme LMS (Least Mean Squared) estime à la kième itération l’erreur quadratiquemoyenne e 2 en calculant la dérivée des erreurs quadratiques moyennes par rapport au poidset biais du réseau. Ainsi :  ∂e 2 (k ) ∂e(k )  = 2e(k )  ∂w j ∂w j  2 pour j = 1...R  ∂e (k ) = 2e(k ) ∂e(k )  ∂b  ∂bor R  ∂ ∑ wi pi (k ) + b ∂e(k ) ∂[t (k ) − a(k )] ∂[t (k ) − (Wp(k ) + b )] ∂t (k ) = = = −  i =1  ∂w j ∂w j ∂w j ∂w j ∂w jdonc on peut simplifier par  ∂e(k )  ∂w = − p j (k )   j pour j = 1...R  ∂e(k ) = −1   ∂bCela veut dire que les poids et les biais du réseau doivent changer de 2αe(k ) p (k ) et 2αe(k ) ,où α est le taux d’apprentissage. Pour le cas de plusieurs neurones, on peut écrire W (k + 1) = W (k ) + 2αe(k ) p T (k )   b(k + 1) = b(k ) + 2αe(k )Cela revient au postulat (règle) de Hebb : « si des neurones, de part et d’autre d’une synapse,sont activés de manière synchrone et répétée, la force de la connexion synaptique va allercroissant ».
    • 3.3. Le perceptron multicouche 3.3.1. Description 3.3.2. La rétro propagation ou algorithme d’apprentissage de « Backpropagation »La rétro propagation a été crée en généralisant la loi d’apprentissage de Widrow-Hoff à desréseaux de neurones multicouches constitués de fonctions de transfert différentiables. Lesvecteurs d’entrées et les vecteurs cibles correspondant sont utilisés pour apprendre le réseau.Les réseaux de neurones constitués de biais et de fonctions de transfert « sigmoïdale » et unecouche de sortie constituée de fonctions de transfert linéaires sont capables d’approximern’importe qu’elle fonction possédant un nombre fini de discontinuité. ∂FLa règle delta impose toujours ∆W = −α . La difficulté réside toujours dans le calcul ∂W ∂Fde . ∂WLa rétro propagation standard est un algorithme de descente du gradient, comme la loid’apprentissage de Widrow-Hoff, dans lequel les poids du réseaux sont ajustés dans le sens dugradient négatif de la fonction coût. Le terme de rétro propagation veut dire que le gradient estcalculé pour des réseaux multicouches non linéaires. De nombreuses techniques existent, plusou moins rapides, performantes et gourmandes en mémoire vive. Il apparaît que la techniquede Levenberg-Marquardt est un algorithme très rapide.
    • 3.3.3. Amélioration de la généralisation (ou le dilemme biais/variance)Un problème qui apparaît lors d’un apprentissage est le problème du sur apprentissage. Si leréseau de neurone apprend par cœur, il donnera de mauvais résultats quand on lui présenterades données un peu différentes. Des méthodes existent pour optimiser la phased’apprentissage afin que le phénomène de sur ou sous apprentissage disparaisse, dont latechnique de l’early stopping et de la régularisation. 3.3.3.1.RégularisationLa technique de régularisation consiste à imposer des contraintes, donc à apporter uneinformation supplémentaire, sur l’évolution des poids du réseau de neurones. Par exemple, onpeut volontairement pénaliser les poids trop grands selon la formule : 1 1 ∑ (e ) ∑ (wi ) donc on impose 2 2 Ferreur = i et F poids = N n Fnew = γFerreur + (1 − γ )FPoidsoù γ est un paramètre d’optimisation. Mais le problème réside dans le choix de la valeur dece paramètre.La régularisation bayesienne, qui suppose que les poids et les biais suivent des distributionsspécifiques (les paramètres sont estimés au fur et à mesure de l’apprentissage) donne engénéral des résultats très satisfaisants. + Vecteur d’entrées Généralisation : Levenberg-Marquardt Levenberg-Marquardt + régularisation bayesienne
    • 3.3.3.2. Early stoppingCette technique consiste à diviser les données disponibles en trois lots distincts. Le premier lotsert à entraîner le réseau de neurone. Le second lot sert à la validation du réseau. L’erreur devalidation doit normalement diminuer au cours du processus d’apprentissage (la variancediminue). Mais quand le réseau commence à apprendre par cœur (le biais augmente, alorsl’erreur de validation recommence à croître), on arrête alors la phase d’apprentissage. Letroisième lot sert vérifier que la généralisation est correcte. 3.3.3.3. Normalisation des donnéesAfin d’améliorer la performance des réseaux neuronaux multicouches, il est préférable denormaliser les données d’entrée et de sortie de telle sorte qu’elles se trouvent dans l’intervalle[-1 1]. 3.3.3.4. Recherche de l’informationAvant de vouloir utiliser un réseau de neurones en tant qu’approximation de fonction, il estnécessaire de faire des études de sensibilités afin de déterminer les paramètres pertinents quidoivent être gardés, et de supprimer les autres, qui ne ferait que diminuer la performance duréseau. Une autre solution peut aussi consister à faire une analyse en composante principalesur le jeu de données (réduction de l’information). 3.3.4. Applications 3.3.4.1.Restitution de paramètres nuageux à partir d’image satellite Champ 2D de l’épaisseur optique d’un nuage hétérogène (modèle gaussien) et le champ de radiance simulé par un code radiatif 3D
    • CorrectionsVecteurd’entrées Vecteur de sorties
    • 3.3.4.2.Simulation de radiances au sommet d’un nuage hétérogèneInteractions rayonnement visible - hétérogénéités nuageuses Grande échelle Petite échelleLongueur/Hauteur > 20 Longueur/Hauteur < 0.2
    • z ViewValeur des poids de 1 neurone Solar (θ; (θ0=0°; θen fonction de la distance (m) φ0=60°) θ0 à partir du pixel central y φ x
    • Cibles Radiances SHDOM Réseau de neurones Entrée incluant des connexions Sortie (appelées poids) Compa entre les neurones Radiance - Radiance MNN raison IPA Ajustement des poidsObservation au nadir Technique du pixel Modèle de transfert indépendant radiatif 3D Perceptrons multicoucheObservation θ = 60° ϕ =0 Epaisseur optique moyenne =10; Rayon effectif=10µm Incidence solaire=60°; albédo terrestre=0; couverture fractionnaire = 50 %
    • 3.4. Les réseaux de neurones à fonctions radiales de base (Radial Basis Network) 3.4.1. DescriptionIci, la fonction de transfert est une exponentielle. L’opérateur sommation disparaît au profit del’opération multiplication (élément par élément des matrices).Les réseaux à bases radiales nécessitent beaucoup plus de neurones qu’un réseau feedforward.
    • 3.4.2. Les réseaux de neurones à régression généralisée (Generalized Regression Networks)Dans un réseau à régression généralisée (GRNN), il y a un réseau à base radiale auquel onajoute une couche de sortie constituée d’une fonction de transfert linéaire. nprod signifie unemultiplication élément par élément, moralisé par la somme des éléments de a.Ces réseaux sont aussi utilisés en tant qu’approximation de fonction, mais sont plus lourdsd’utilisation que les perceptrons multicouches.
    • 3.4.3. Les réseaux de neurones probabilistes (Probabilistic Neural Networks)Ces réseaux sont généralement utilisés pour des problèmes de classification. La premièrecouche qui est un réseau à base radiale, donne une information sur la ressemblance entre ladonnée d’entrée et le jeu de données utilisé lors de l’apprentissage. La deuxième coucheproduit comme sortie un vecteur de probabilité. Finalement, une fonction de transfertcompétitive produit 1 ou 0.
    • 3.5. Les réseaux de neurones compétitifs ou cartes auto organisatricesCes réseaux peuvent détecter des régularités et des corrélations dans les données d’entrées etpeuvent adapter leurs réponses en fonction de ces entrées.Les neurones de ces réseaux peuvent reconnaître des groupes dans les vecteurs d’entrée. Lescartes auto organisatrices peuvent apprendre à reconnaître des groupes de vecteurs similaires,ce qui entraîne que les neurones physiquement proches les uns des autres dans la couche deneurones à répondre à ces vecteurs d’entrée similaires.La LVQ méthode (Learning Vector Quantization) permet d’entraîner les réseaux de neuronescompétitifs de manière supervisée. Comme la classification se fait par le calcul de distanceentre les poids des vecteurs d’entrée, il n’y a pas de mécanisme strict qui permettent de définirsi les vecteurs d’entrés sont dans la mêmes classe ou non. Celles-ci peuvent être imposées parl’utilisateur. 3.5.1. Réseaux de neurone compétitif ou réseaux de Kohonen (loi d’apprentissage de Kohonen)
    • Les poids des neurones vainqueurs sont ajustés suivant la loi de Kohonen qui impose que lepoids d’un neurone qui est proche des données d’entrée sera ajusté à la prochaine étape. Ainsi,ce type de réseau est capable d’apprendre à catégoriser des vecteurs d’entrée.L’évolution de la colonne i de la matrice des poids du réseau est dictée par la règle deKohonen : W (q )= iW (q − 1) + α [ p(q )− iW (q − 1)] iAinsi, s’il y a assez d’exemples et de neurones, il se peut même que la sortie des neuronesvainqueurs soit 1 et celle des autres 0. 3.5.2. Les cartes auto organisatricesLes cartes auto organisatrices apprennent à classifier des vecteurs d’entrée selon la façon dontils sont groupés dans l’espace. Ceci diffère des réseaux compétitifs où les neurones et leursvoisins apprennent à reconnaître des groupements dans l’espace d’entrée. En effet, la règled’évolution des poids des neurones suit la règle de Kohonen sauf qu’au lieu d’activer l’uniqueneurone vainqueur, tous les neurones se trouvant au voisinage (inférieur à une distance d parexemple), seront eux aussi activés.Ces réseaux sont très utilisés pour l’analyse de données. Ils permettent de cartographier endeux dimensions et de distinguer des groupes dans des ensembles de données (Voir l’exemplegraphique ci-dessous). 27
    • 40 présentations 120 présentations500 présentations 5000 présentations 28
    • 3.5.3. Les LVQ réseaux de neuronesLes réseaux LVQ ont une première couche de neurones compétitifs et une seconde constituéede neurone à fonction de transfert linéaire. Ce type de réseaux apprend à classifier mais grâceà la seconde couche, ce réseau classera selon les critères de classification imposés parl’utilisateur. 29
    • 3.6. Les réseaux récurents 3.6.1. Réseaux de ElmanLe réseau de Elman à des neurones tansig dans sa couche cachée récurrente et un neuronelinéaire dans sa couche de sortie. Ce type de réseau peut aussi approximer n’importe qu’elletype de fonction pourvu que la couche cachée ait assez de neurones.Puisque ce réseau peut enregistrer de l’information pour une référence future, il est capabled’apprendre des associations aussi bien temporelles que spatiales. 30
    • 3.6.2. Réseaux de HopfieldCes réseaux sont des réseaux récursifs, un peu plus complexes que les perceptronsmulticouches. Chaque cellule est connectée à toutes les autres et les changements de valeursde cellules s’enchaînent en cascade jusqu’à un état stable. Ces réseaux sont bien adaptés à lareconnaissance de formes. 31