31
Les Réseaux Neuronaux Cours du module « Extraction des connaissances à partir de bases de données et de textes » DESS janvier 2003

Les Réseaux Neuronaux Cours du module « Extraction des connaissances à partir de bases de données et de textes » DESS janvier 2003

Embed Size (px)

Citation preview

Page 1: Les Réseaux Neuronaux Cours du module « Extraction des connaissances à partir de bases de données et de textes » DESS janvier 2003

Les Réseaux Neuronaux

Cours du module

« Extraction des connaissances

à partir de bases de

données et de textes »

DESS

janvier 2003

Page 2: Les Réseaux Neuronaux Cours du module « Extraction des connaissances à partir de bases de données et de textes » DESS janvier 2003

Cours DESS - 10 janvier 2003 2

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.

Page 3: Les Réseaux Neuronaux Cours du module « Extraction des connaissances à partir de bases de données et de textes » DESS janvier 2003

Cours DESS - 10 janvier 2003 3

Généralités (2/3)

Page 4: Les Réseaux Neuronaux Cours du module « Extraction des connaissances à partir de bases de données et de textes » DESS janvier 2003

Cours DESS - 10 janvier 2003 4

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.

Page 5: Les Réseaux Neuronaux Cours du module « Extraction des connaissances à partir de bases de données et de textes » DESS janvier 2003

Cours DESS - 10 janvier 2003 5

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.

Page 6: Les Réseaux Neuronaux Cours du module « Extraction des connaissances à partir de bases de données et de textes » DESS janvier 2003

Cours DESS - 10 janvier 2003 6

Structure des réseaux neuronaux (1/3)

F1 F2 . . . Fn

. . . cellules d'entrée(de forces 0 ou 1)

couche cachée

cellules de sortie

Fi

(résultats du réseau)

faits fournis au réseaucomme entrées

. . .

. . .1 2 ni

Page 7: Les Réseaux Neuronaux Cours du module « Extraction des connaissances à partir de bases de données et de textes » DESS janvier 2003

Cours DESS - 10 janvier 2003 7

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.

Page 8: Les Réseaux Neuronaux Cours du module « Extraction des connaissances à partir de bases de données et de textes » DESS janvier 2003

Cours DESS - 10 janvier 2003 8

Structure des réseaux neuronaux (3/3)

POIDS

Page 9: Les Réseaux Neuronaux Cours du module « Extraction des connaissances à partir de bases de données et de textes » DESS janvier 2003

Cours DESS - 10 janvier 2003 9

Fonctions d’entrées

Ep = ei wip

ou Ep = ei wip

ou Ep = Max ei

ou Ep = Min ei

ou …POIDS

Page 10: Les Réseaux Neuronaux Cours du module « Extraction des connaissances à partir de bases de données et de textes » DESS janvier 2003

Cours DESS - 10 janvier 2003 10

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 ...

Page 11: Les Réseaux Neuronaux Cours du module « Extraction des connaissances à partir de bases de données et de textes » DESS janvier 2003

Cours DESS - 10 janvier 2003 11

Fonctions d’activation : la fonction sigmoïde

f(x) = 1/(1 + e -kx)

1

0

k grandk petit

Page 12: Les Réseaux Neuronaux Cours du module « Extraction des connaissances à partir de bases de données et de textes » DESS janvier 2003

Cours DESS - 10 janvier 2003 12

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.

1

0

k grandk petit

Page 13: Les Réseaux Neuronaux Cours du module « Extraction des connaissances à partir de bases de données et de textes » DESS janvier 2003

Cours DESS - 10 janvier 2003 13

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.

1

0

k grandk petit

Page 14: Les Réseaux Neuronaux Cours du module « Extraction des connaissances à partir de bases de données et de textes » DESS janvier 2003

Cours DESS - 10 janvier 2003 14

Fonctions de sorties En général, l'identité, Egalement, binaire :

sortie (x) = 1 si activation (x) > limite, 0 ailleurs.

POIDS

Page 15: Les Réseaux Neuronaux Cours du module « Extraction des connaissances à partir de bases de données et de textes » DESS janvier 2003

Cours DESS - 10 janvier 2003 15

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

Page 16: Les Réseaux Neuronaux Cours du module « Extraction des connaissances à partir de bases de données et de textes » DESS janvier 2003

Cours DESS - 10 janvier 2003 16

La rétro-propagation (2/4)

Si erreur alors

nouveau poids = ancien poids + changement de poids

wij (t+1) = wij (t) + wij (t)

Page 17: Les Réseaux Neuronaux Cours du module « Extraction des connaissances à partir de bases de données et de textes » DESS janvier 2003

Cours DESS - 10 janvier 2003 17

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.

Page 18: Les Réseaux Neuronaux Cours du module « Extraction des connaissances à partir de bases de données et de textes » DESS janvier 2003

Cours DESS - 10 janvier 2003 18

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

Page 19: Les Réseaux Neuronaux Cours du module « Extraction des connaissances à partir de bases de données et de textes » DESS janvier 2003

Cours DESS - 10 janvier 2003 19

Rétro-propagation – Exemple (1/9) Exemple d‘apprentissage

par rétro-propagation:

Sortie désirée :

N5 = 1

N6 = 0

N7 = 1

Page 20: Les Réseaux Neuronaux Cours du module « Extraction des connaissances à partir de bases de données et de textes » DESS janvier 2003

Cours DESS - 10 janvier 2003 20

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

Page 21: Les Réseaux Neuronaux Cours du module « Extraction des connaissances à partir de bases de données et de textes » DESS janvier 2003

Cours DESS - 10 janvier 2003 21

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

Page 22: Les Réseaux Neuronaux Cours du module « Extraction des connaissances à partir de bases de données et de textes » DESS janvier 2003

Cours DESS - 10 janvier 2003 22

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)

Page 23: Les Réseaux Neuronaux Cours du module « Extraction des connaissances à partir de bases de données et de textes » DESS janvier 2003

Cours DESS - 10 janvier 2003 23

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

Page 24: Les Réseaux Neuronaux Cours du module « Extraction des connaissances à partir de bases de données et de textes » DESS janvier 2003

Cours DESS - 10 janvier 2003 24

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

Page 25: Les Réseaux Neuronaux Cours du module « Extraction des connaissances à partir de bases de données et de textes » DESS janvier 2003

Cours DESS - 10 janvier 2003 25

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

Page 26: Les Réseaux Neuronaux Cours du module « Extraction des connaissances à partir de bases de données et de textes » DESS janvier 2003

Cours DESS - 10 janvier 2003 26

Rétro-propagation - Exemple (8/9)

W14 = ? W24 = ? W34 = ? W45 = ? W47 = ? W46 = ?

Page 27: Les Réseaux Neuronaux Cours du module « Extraction des connaissances à partir de bases de données et de textes » DESS janvier 2003

Cours DESS - 10 janvier 2003 27

Rétro-propagation - Exemple (9/9)

Nouveaux poids W14 = ? W24 = ? W34 = ? W45 = ? W46 = ?

W47 = ?

Page 28: Les Réseaux Neuronaux Cours du module « Extraction des connaissances à partir de bases de données et de textes » DESS janvier 2003

Cours DESS - 10 janvier 2003 28

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

Page 29: Les Réseaux Neuronaux Cours du module « Extraction des connaissances à partir de bases de données et de textes » DESS janvier 2003

Cours DESS - 10 janvier 2003 29

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.

Page 30: Les Réseaux Neuronaux Cours du module « Extraction des connaissances à partir de bases de données et de textes » DESS janvier 2003

Cours DESS - 10 janvier 2003 30

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.

Page 31: Les Réseaux Neuronaux Cours du module « Extraction des connaissances à partir de bases de données et de textes » DESS janvier 2003

Cours DESS - 10 janvier 2003 31

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).