« Extraction des connaissances Les Réseaux Neuronaux Cours du module « Extraction des connaissances à partir de bases de données et de textes » DESS janvier 2003
Généralités (1/3) Approche connexioniste : modéliser le fonctionnement du cerveau humain. Cerveau est vu comme un organe caractérisé par l’interconnexion d’un nombre élevé de neurones Le cerveau humain comporte environ 100 milliards de neurones, chacun relié en moyenne à 10000 autres. Chaque connexion entre 2 neurones est caractérisée par son poids qui mesure le degré d’influence du premier neurone vers le second. Cours DESS - 10 janvier 2003
Généralités (2/3) Cours DESS - 10 janvier 2003
Généralités (3/3) On peux comparer les réseaux de neurones à des filtres remplis de café : on y met de l'eau, il en sort du café. On verse des données descriptives, il ressort une prédiction. Dans le cadre de l’apprentissage, on règle le poids des connexions entre des neurones pour satisfaire les exemples. Cours DESS - 10 janvier 2003
Applications Perception (vision, reconnaissance de la parole, reconnaissance de caractères, etc.). Problèmes difficiles du traitement du signal. Banque : prédire l'issue de prêts, le comportement par rapport au recouvrement. Prédire le comportement de nouveaux clients. Anticiper les bons risques et leur proposer des prêts. Cours DESS - 10 janvier 2003
Structure des réseaux neuronaux (1/3) Cours DESS - 10 janvier 2003
Structure des réseaux neuronaux (2/3) Cas 'symbolique' La force de la cellule d'entrée i est de 1 si le fait Fi est affirmé, de 0 si le fait Fi n'est pas affirmé (= 1 si Fi est présent = 0 si Fi est absent). Cas 'numérique' La force de la cellule d'entrée i est de fi si la force (= sa valeur numérique) du fait Fi est de fi. Cours DESS - 10 janvier 2003
Structure des réseaux neuronaux (3/3) Cours DESS - 10 janvier 2003
Fonctions d’entrées Ep = ei wip ou Ep = ei wip ou Ep = Max ei ou Ep = Min ei ou … Cours DESS - 10 janvier 2003
Fonctions d’activation f(x) = 1/(1 + e -kx) f(x) = linéaire f(x) = -1 si x <= - 1/a; f(x) = 1 si x >= 1/a ; f(x) = a*x ailleurs f(x) = tangente hyperbolique f(x)= (egx - e-gx ) / (egx + e-gx) f(x) = seuil f(x) = 0 si x <= b; f(x) = 1 si x > b ; ou ... Cours DESS - 10 janvier 2003
Fonctions d’activation : la fonction sigmoïde f(x) = 1/(1 + e -kx) Cours DESS - 10 janvier 2003
Fonctions d’activation : la fonction sigmoïde Si le coefficient k de 1/(1 + e -kx) est grand, alors la force de chaque cellule est presque toujours proche de 0 ou de 1. On a un réseau neuronal relativement symbolique Si f est une fonction de seuil alors le réseau est vraiment symbolique. Cours DESS - 10 janvier 2003
Fonctions d’activation : la fonction sigmoïde Si le coefficient k de 1/(1 + e -kx) est petit, alors la force de chaque cellule est bien distribuée entre 0 et 1. On a un réseau neuronal "distribué". Le coefficient k est un paramètre qui fait varier la forme de la fonction. Un autre paramètre, implicite, est "centre" de la fonction sigmoïde. Cours DESS - 10 janvier 2003
Fonctions de sorties En général, l'identité, Egalement, binaire : sortie (x) = 1 si activation (x) > limite, 0 ailleurs. Cours DESS - 10 janvier 2003
La rétro-propagation (1/4) En Apprentissage : On examine un "fait" (suite de Fi présents ou non - valeurs des faits) On propage jusqu'aux cellules de sortie On examine toutes les cellules de sortie On compare le résultat à celui espéré On rétropropage les différences dans les couches cachées Cours DESS - 10 janvier 2003
La rétro-propagation (2/4) Si erreur alors nouveau poids = ancien poids + changement de poids wij (t+1) = wij (t) + wij (t) Cours DESS - 10 janvier 2003
La rétro-propagation (3/4) Pour les cellules liées à une cellule de sortie: i = d s(entrée sur i) / d(entrée sur i) * Err Err = valeur attendue - valeur observée Note. Autre règle possible : soit err l'erreur effectuée sur le neurone de sortie et supposons qu'il y ait k neurones qui lui transmettent de l' info, alors wij (t) = (err/k) * wij (t) * Où est un "taux d'apprentissage". Il existe de nombreuses variations. Cours DESS - 10 janvier 2003
La rétro-propagation (4/4) Pour une cellule de la couche cachée profonde ou de la couche d'entrée: i est calculée par la même formule mais maintenant Erri = p wki p Cours DESS - 10 janvier 2003
Rétro-propagation – Exemple (1/9) Exemple d‘apprentissage par rétro-propagation: Sortie désirée : N5 = 1 N6 = 0 N7 = 1 Cours DESS - 10 janvier 2003
Rétro-propagation - Exemple (2/9) Hypothèses : Entrée : ei wik Activation : 1/(1 + e - entrée) Sortie (de N4) : Si l'activation est inférieure à 0.5 alors 0, sinon 1 Faits N1 = 1, N2 = 0.5, N3 = 0.2 Cours DESS - 10 janvier 2003
Rétro-propagation - Exemple (3/9) Poids initiaux W14=0.3, W24=0.5, W34=0.1, W45=0.1, W46=1.0, W47=0.0 Cours DESS - 10 janvier 2003
Rétro-propagation - Exemple (4/9) entrée sur N4 = 0.3*1+0.5*0.5+0.1*0.2 = 0.57 activation = 1 / 1+ e-0.57 = 0.639 sortie de N4 = 1.0 entrée sur N5 = 0.1 (1*0.1) entrée sur N6 = 1 (1*1) entrée sur N7 = 0.0 (1*0) Cours DESS - 10 janvier 2003
Rétro-propagation - Exemple (5/9) Pour les cellules liées à une cellule de sortie: i = d s(entrée sur i) / d(entrée sur i) * Err Err = valeur attendue - valeur observée Cours DESS - 10 janvier 2003
Rétro-propagation - Exemple (6/9) Rappel : si s (x) = 1 / 1+ e-kx alors d s(x) / dx = k * s (x) * (1 - s(x)) [ Utiliser le fait que (1/v)' = -(v' / v2) et que (e-kx)'= -k e-kx ] -(v' / v2) = ke-x / (1+ e-kx)2 et 1 - (1 / 1+ e-kx) = e-kx / 1+ e-kx 1 - s(x) = e-kx / 1+ e-kx donc k*s (x)*(1 - s(x)) = ke-x/(1+e-kx)2 Cours DESS - 10 janvier 2003
Rétro-propagation - Exemple (7/9) Pour une cellule de la couche cachée et de la couche entrée i est calculée par la même formule mais maintenant Erri = p wip p (ici p=5,6,7) 4 = ? Wij = *j*(sortie de Ni) et W'ij = Wij + Wij avec = 1 N4 Cours DESS - 10 janvier 2003
Rétro-propagation - Exemple (8/9) W14 = ? W24 = ? W34 = ? W45 = ? W47 = ? W46 = ? Cours DESS - 10 janvier 2003
Rétro-propagation - Exemple (9/9) Nouveaux poids W14 = ? W24 = ? W34 = ? W45 = ? W46 = ? W47 = ? Cours DESS - 10 janvier 2003
Exemple d’application (1/3) Approche Neuronale de la Notation de la Couverture Nuageuse Segmentation en régions de l'image suivie d'une classification de ces régions par un réseau de neurones à apprentissage. Pour fonctionner le réseau doit subir au préalable une phase d'apprentissage consistant à lui présenter des données typiques ainsi que les masques nuageux escomptés Cours DESS - 10 janvier 2003
Exemple d’application (2/3) Les entrées de ce réseau sont constituées par les valeurs de sept mesures radiométriques effectuées sur une région particulière en vue de sa classification. Les sorties du réseau sont des valeurs normalisées entre 0 et 1 et constituent des facteurs d'appartenance aux classes discriminées par le réseau (nuages denses, brumes denses et bords de nuages denses, brumes légères). Ces classes permettent de constituer la couverture nuageuse. Cours DESS - 10 janvier 2003
Exemple d’application (3/3) Le principe de classification par réseau de neurones est la propagation d'un flux d'entrée constitué des sept mesures radiométriques d'une région d'une image à travers ce réseau. Par leur configuration de poids les neurones vont être activés et fournir une réponse depuis la couche d'entrée vers la couche de sortie. Les réponses du réseau fournissent alors des cartes de probabilité. Les niveaux de probabilités observés permettent de décider si les régions sont nuageuses et si l'on en est certain. Cours DESS - 10 janvier 2003
Bibliogaphie Cours d’Yves Kodratoff : http://ecd6.univ-lyon2.fr/organisation/contenu_cours.php3?numcours=1 Antoine Cornuéjols - Laurent Miclet. Apprentissage Artificiel. Edition Eyrolles (2002). Cours DESS - 10 janvier 2003