J.Korczak, ULP 1
Jerzy Korczak, LSIIT, ULP email : jjk@dpt-info.u-strasbg.fr
http://lsiit.u-strasbg.fr/afd
Réseaux neuronaux Perceptron Multi-Couche
J.Korczak, ULP 2
R R R
Ré é éseaux neuronaux é seaux neuronaux seaux neuronaux seaux neuronaux
Les fondements biologiques
synapse
dendrites soma
influx nerveux
cortex : 1011neurones neurone : ~104entrées
axone
J.Korczak, ULP 3
10 000 neurones 3 km fil
1mm
Signal:
action potentielle (ang.spike)
action potential
100µm
Neurone biologique
J.Korczak, ULP 4
Cortex : les couches et les cellules
J.Korczak, ULP 5
Canaux ionique
Comportement Populations
de neurones
Modéles Neurones
Molecules
Signaux
Modélisation de réseaux de neurones biologiques
J.Korczak, ULP 6
Mod Mod Mod
Modèèèèle de cellule de Purkinje le de cellule de Purkinje le de cellule de Purkinje ((((le de cellule de Purkinje Schutter 2005))))
Le modèle comporte:
•32000 équations différentielles!
•8021 modèles des canaux ioniques
•19200 paramètres d’affinement
•description morphologique
J.Korczak, ULP 7
Histoire Histoire Histoire Histoire
La modélisation du neurone [McCulloch, Pitts, 1943]
• Le processus d’apprentissage [Hebb, 1949]
• PERCEPTRON [Rosenblatt,1958-1962]
Convergence d’un algorithme itératif d’adaptation de poids
• Limitations du PERPTRON [Minsky, Papert, 1969]
séparation linéaire 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 8
Traitement de l'information dans le cerveau et l'ordinateur de von Neumann
Ordinateur de von Neumann Cerveau
calcul et mémoire calcul et mémoire
séparés et centralisés intégrés et distribués
programme = séquence d’instr. calcul = satisfaction de multiples contraintes
exécution d'un sous- combinaison simultanée de programme à la fois multiples sources d'information un seul processeur des centaines de milliards
très rapide d'unités de calcul très lentes
J.Korczak, ULP 9
Caractéristiques des systèmes
J.Korczak, ULP 10
Séparation linéaire
x1
x2 wkx > s
wkx < s
XOR 1
0 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 2nvecteurs d'entrées possibles, et 22nfonctions binaires.
J.Korczak, ULP 11
Applications Applications Applications 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 12
OCR : reconnaissance de caract OCR : reconnaissance de caract OCR : reconnaissance de caract
OCR : reconnaissance de caractèèèères par RNres par RNres par RNres par RN
J.Korczak, ULP 13
Qu’est-ce qu’un réseau de neurones ?
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 14
R R
R Ré é éseaux neuronaux : é seaux neuronaux : seaux neuronaux : seaux neuronaux : ‘‘‘‘bonnes applications bonnes applications bonnes applications’’’’ bonnes 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
J.Korczak, ULP 15
Le Perceptron Multi-Couche (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).
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 16
Réseau de neurones - MLP
couche d ’entrée
couche de sortie couches cachées
•Un réseau (suffisamment complexe) de neurones formels peut représenter
•n'importe quelle fonction booléenne ou n'importe quelle partition de Rn.
J.Korczak, ULP 17
Fonctionnement d’un neurone
ΣΣΣ Σxi*wi
Entrées Sorties
Σ F
Fonction d’activation (ou de transfert) 1
0
w1
w2
wi
wk
Σ ΣΣ Σ
Σ Σ Σ Σ
X1
X2
X3
Y1 Y2
Y3
J.Korczak, ULP 18
Fonction d’activation
Fonction non linéaire- choix typiques : fonction logistique, tangente hyperbolique F(x) = 1/(1+e-x) F(x)= tanh(x)
- propriétés importantes : - continue, dérivable
J.Korczak, ULP 19
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
J.Korczak, ULP 20
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 sur-apprentissage
– on s’arrête quand l’erreur remonte sur l’ensemble de validation
J.Korczak, ULP 21
Problème : la sortie désirée pour un neurone caché ?
Entrées
tj: sortie désirée xi
oi wij
…
Méthode de calcul :
1) fonction de coût : E(t)=
Σ
p(op-tp)22) gradient total : w(t+1) = w(t) –λ(t) gradw(Ep(t)) 3) calculer dEp/dwij
J.Korczak, ULP 22
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) δλλ δδδjyi
entrée
tj xi
oj wjk
oi
σi f σj f σkf
wij
maisδj= (dEp/dσj)=
Σ
k(dEp/dσk) (dσk/dσj)=Σ
kδk(dσk/dσj)==
Σ
kδkwjk(dyk/dσj)d’où δδδj = 2(oδ j- tj) f’(σσσσj) si neurone j en sortie δδδ
δj = (
Σ Σ Σ Σ
kwijδδδδk) f’ (σσσσj) si neurone j en sortieJ.Korczak, ULP 23
x1 x2 x3
xn ...
t1 t2 t3
tm ...
Vecteur d ’entrée
o1 o2 o3 ...
om
R
R R
Ré é é étro tro tro tro----propagation du gradient propagation du gradient propagation du gradient propagation du gradient
-
- -
-
-
yi= Σ wijxi
Fonction sigmoïde F(y)=1/(1+e-ky) F’(y) = F(y)(1-F(y)) E=1/2
Σ
(tk- ok)2 wijJ.Korczak, ULP 24
Exemple : Rétro-propagation du gradient (GBP) Apprentissage
XOR
X Y XOR(X,Y) 0 0 0 0 1 1 1 0 1 1 1 0
f(netk)=1/(1+e-netk) netj=ΣΣΣΣwijoi oj=f(netj)
1 1
0,5
0,5
0
Wij=0 0 0
0
0
0 0
1
X Y
bias
XOR
bias
δδδ
δk=(tk-ok)f’(netk) f’(netk)=ok(1-ok) wjk(t+1)=wjk(t)-λδλδλδλδkoj
J.Korczak, ULP 25
Exemple : Rétro-propagation du gradient (GBP) Apprentissage
XOR X Y XOR(X,Y) 0 0 0 0 1 1 1 0 1 1 1 0
δ δδ
δh=f’(netj) ΣδΣδΣδΣδkwkj
= 0,5*(1-0,5)*0,125*0,00625= 0,000195 whx=0+0,1*0,000195*1=0,0000195
1 1
0,5
0,5
0
Wij=0 0
0
0
0
0 0
1
x y
bias
XOR
bias
λ=0,1 λ=0,1λ=0,1 λ=0,1 δδδ
δz=(1-0.5)*0,5*(1-0.5)=
=0,125
wzx(t+1)=0+0,1*0,125*1=
= 0,0125 z
h
J.Korczak, ULP 26
Apprentissage: les poids et le coefficient d’apprentissage
wzx=0,00125 λ itération
wzy=0 0,1 25496
wzh=0,00625 0,5 3172
whx=0,0000195 3,0 391
why=0 4,0 (fails)
wzbh=0,0000195 f(net) = 0,507031
J.Korczak, ULP 27
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
1 1
0,91
0.98
0
-3,29
-4,95 -4,95
-2,76
10,9
7,1 7,1
1
X Y
bias
XOR
J.Korczak, ULP 28
Exemple : Rétro-propagation du gradient (GBP)
XOR X Y XOR 0 0 0 0 1 1 1 0 1 1 1 0
1 1
0,91
0,98
0
-3,29
-4,95 -4,95
-2,76
10,9
7,1 7,1
1
X Y
bias
XOR
1 * 7,1 1 * -2,76 0 * 7,1 ΣΣΣ Σxw = 4,34
Y=1/(1+e-ΣΣΣΣxw)
=1/(1+e-4,34)
=0,98
J.Korczak, ULP 29
Exemple : Rétro-propagation du gradient (GBP)
XOR X Y XOR 0 0 0,08 0 1 0,91 1 0 1,00 1 1 0,10
1 1
0,91
0,98
0
-3,29
-4,95 -4,95
-2,76
10,9
7,1 7,1
1
X Y
bias
XOR
J.Korczak, ULP 30
Axone : Exemple XOR [http://lsiit.u-strasbg.fr/afd]
J.Korczak, ULP 31
Axone : Exemple XOR– paramètres d’apprentissage
J.Korczak, ULP 32
Axone : Exemple XOR –réseau appris
J.Korczak, ULP 33
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 (on-line) : après chaque exemple
besoin de tirer l’exemple au hasard problèmes de convergence plus de 5000 exemples Outils : Matlab, Axone, SNNS
J.Korczak, ULP 34
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, Delta-Bar-Delta, Rprop Second ordre : QuickProp, Levenberg-Marquard
J.Korczak, ULP 35
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
J.Korczak, ULP 36
Extraction de r Extraction de r Extraction de r
Extraction de r
ègles gles gles gles
àpartir de RN partir de RN partir de RN 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 37
Knowledge Knowledge Knowledge
Knowledge----BasedBasedBasedBased ArtificialArtificialArtificial NeturalArtificialNeturalNetural Networks NeturalNetworks Networks Networks [Shavlik, 1993]
Théorie initiale du domaine
Théorie finale du domaine
Insertion de règles dans le réseau
Extraction de règles du réseau
Apprentissage
Réseau initial Réseau final
Données
J.Korczak, ULP 38
Méthodes d’extraction de règles à partir RN
• Décompositionnelles –KBANN
–SUBSET –MofN –…
• Pédagogiques –RULENEG –BRAINNE –VIA – …
• Hybrides –DEDEC –TREPAN –…
J.Korczak, ULP 39
Optimisation de la topologie de PMC
• Approche empirique par «essai-erreur»
• Approches ascendantes : …cherche à augmenter le nombre de connexions et de neurones dans le réseau
– Cascade-Correlation [Fahlman, Lebiere, 1991]
– Upstart [Frean, 1990]
– Tiling [Mézard, Nadal, 1989]
• 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]
• Approches évolutives : connexionisme génétique – [Weight Elimination, Weigend,1991]
– AGWin [Korczak, 1998]
J.Korczak, ULP 40
Identité Accepter,
Rejeter w1
w2
Effacer les silences
Transformation de l’ondelette
C0C1C2C3C4C5C6C7 C9C10C11C12 C13C14 C15
Fréquence
Temps
Normalisation + Codage
Réseau des neurones Apprentissage et Reconnaissance Détection des yeux
Ave rag e Inten s ity o f e ac h ro ws -50
050
1 00
1 50
2 00
2 50
0102 0304 0
Grey Sca le
In te n si t y -5 0
0
5 0
10 0
15 0
20 0
25 0
01 02 03 04050
In te n si t y
Trouver X Trouver
Y Filtre
de base Inondation +
Convolution
Extraction Normalisation + Codage Moment
Vert Bleu Hue Saturation
Intensité Réseau des
neurones Apprentissage et Reconnaissance
Visage
Voix
Base des données
Décision Authentification biométrique
J.Korczak, ULP 41
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