Réseaux neuronaux Perceptron Multi-Couche

publicité
Réseaux neuronaux
Les fondements biologiques
Réseaux neuronaux
Perceptron Multi-Couche
cortex : 1011 neurones
neurone : ~104 entrées
influx nerveux
axone
soma
Jerzy Korczak, LSIIT, ULP
email : [email protected]
http://lsiit.u-strasbg.fr/afd
synapse
dendrites
J.Korczak, ULP
1
J.Korczak, ULP
2
Cortex : les couches et les cellules
Neurone biologique
Signal:
action potentielle (ang.spike)
action
potential
1mm
10 000 neurones
3 km fil
100µm
J.Korczak, ULP
3
J.Korczak, ULP
Modélisation de réseaux de neurones biologiques
4
Modè
Modèle de cellule de Purkinje (Schutter 2005)
Le modèle comporte:
Populations
• 32000 équations différentielles!
• 8021 modèles des canaux ioniques
• 19200 paramètres d’affinement
• description morphologique
de neurones
Comportement
Neurones
Signaux
Modéles
Molecules
Canaux ionique
J.Korczak, ULP
5
J.Korczak, ULP
6
1
Traitement de l'information dans le cerveau
et l'ordinateur de von Neumann
Histoire
La modélisation du neurone [McCulloch, Pitts, 1943]
• Le processus d’apprentissage [Hebb, 1949]
• PERCEPTRON [Rosenblatt,1958-1962]
Ordinateur de von Neumann
calcul et mémoire
séparés et centralisés
programme = séquence d’instr.
Convergence d’un algorithme itératif d’adaptation de poids
• Limitations du PERPTRON [Minsky, Papert, 1969]
séparation linéaire
exécution d'un sousprogramme à la fois
un seul processeur
très rapide
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
7
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
8
Caractéristiques des systèmes
Séparation linéaire
XOR
wkx > s
1
x1
?
wkx < s
0
x2
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 2n vecteurs d'entrées possibles,
et 22n fonctions binaires.
•
•
J.Korczak, ULP
9
J.Korczak, ULP
10
OCR : reconnaissance de caractè
caractères par RN
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
11
J.Korczak, ULP
12
2
Qu’est-ce qu’un réseau de neurones ?
Réseaux neuronaux : ‘bonnes applications’
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
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
13
J.Korczak, ULP
14
Réseau de neurones - MLP
Le Perceptron Multi-Couche (MLP)
Un réseau (suffisamment complexe) de neurones formels peut représenter
n'importe quelle fonction booléenne ou n'importe quelle partition de Rn.
•
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
couche
d ’entrée
15
Fonctionnement d’un neurone
X2
X3
F
Σ
wk
Entrées
Σxi*w i
Y1
Y2
Y3
- propriétés importantes :
- continue, dérivable
Sorties
Σ
J.Korczak, ULP
16
Σ
0
w2
wi
J.Korczak, ULP
Fonction non linéaire
- choix typiques : fonction logistique, tangente hyperbolique
F(x) = 1/(1+e-x)
F(x)= tanh(x)
1
w1
couche de sortie
Fonction d’activation
Fonction d’activation (ou de transfert)
X1
couches cachées
17
J.Korczak, ULP
18
3
Arrêt de l’apprentissage
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
• 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
Défauts :
• Paramétrage
• Lenteur
• Choix de la topologie
J.Korczak, ULP
19
Problème : la sortie désirée pour un neurone caché ?
J.Korczak, ULP
20
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) δj yi
…
oi wij
oi
tj: sortie désirée
xi
xi σi f
Entrées
σj f
wij
oj wjk
σk f
tj
entrée
Méthode de calcul :
mais δj= (dEp/dσj)= Σk(dEp/dσk) (dσk/dσj)= Σk δk (dσk/dσj)=
1) fonction de coût : E(t)=Σp(op-tp)2
2) gradient total : w(t+1) = w(t) –λ(t) gradw (Ep(t))
3) calculer dEp/dwij
d’où
J.Korczak, ULP
21
-
x2
o2
-
x3
o3
...
...
xn
Vecteur
yi= Σ wijxi
d ’entrée
Fonction sigmoïde
J.Korczak, ULP
-
om
F(y)=1/(1+e-ky)
si neurone j en sortie
J.Korczak, ULP
22
t1
o1
wij
si neurone j en sortie
σ j)
δj = (Σk wij δk) f’ (σ
Exemple : Rétro-propagation du gradient (GBP)
Apprentissage
Rétrotro-propagation du gradient
x1
= Σk δk wjk (dyk/dσj)
σ j)
δj = 2(oj - tj) f’(σ
-
XOR
X Y XOR(X,Y)
0 0 0
0 1 1
1 0 1
1 1 0
f(netk)=1/(1+e-net )
netj=Σ
Σwijoi
bias
oj=f(netj)
E=1/2 Σ(tk - ok)2
t2
t3
...
tm
XOR
0,5
0
0
1
0,5
bias
0
0
k
F’(y) = F(y)(1-F(y))
23
J.Korczak, ULP
δk=(tk-ok)f’(netk)
f’(netk)=ok(1-ok)
w (t+1)=wjk(t)-λδ
λδkoj
0 jk
W ij=0
1
0
1
0
X
Y
24
4
Exemple : Rétro-propagation du gradient (GBP)
Apprentissage
z 0,5
Y XOR(X,Y)
0
0
1
1
0
1
1
0
W ij=0
0
0
0
1
0,5 h
0
δh=f’(netj) Σδkwkj
λ=0,1
δz=(1-0.5)*0,5*(1-0.5)=
=0,125
wzx(t+1)=0+0,1*0,125*1=
= 0,0125
bias
bias
1
0
0
1
y
x
λ
wzx=0,00125
wzy=0
wzh=0,00625
whx=0,0000195
why=0
wzbh=0,0000195
f(net) = 0,507031
XOR
XOR
X
0
0
1
1
Apprentissage : les poids et le coefficient d’apprentissage
itération
25496
3172
391
(fails)
0,1
0,5
3,0
4,0
0
= 0,5*(1-0,5)*0,125*0,00625= 0,000195
w hx=0+0,1*0,000195*1=0,0000195
J.Korczak, ULP
25
XOR
XOR
X
0
0
1
1
0,91
-3,29
10,9
1
-4,95
-2,76
bias
1
-4,95
0.98
7,1
0,91
-3,29
10,9
1
1
1 *
7,1
1 * -2,76
0 *
7,1
Σxw = 4,34
0
Y
27
bias
1
Y=1/(1+e-Σxw)
=1/(1+e-4,34)
=0,98
-4,95
0,98
7,1
7,1
1
0
X
Y
J.Korczak, ULP
Axone : Exemple XOR
Exemple : Rétro-propagation du gradient (GBP)
XOR
-4,95
-2,76
J.Korczak, ULP
28
[http://lsiit.u-strasbg.fr/afd]
XOR
Y XOR
0
0,08
1
0,91
0
1,00
1
0,10
0,91
-3,29
10,9
1
-4,95
-2,76
bias
1
-4,95
0,98
7,1
7,1
1
0
X
J.Korczak, ULP
XOR
Y XOR
0
0
1
1
0
1
1
0
7,1
X
X
0
0
1
1
26
Exemple : Rétro-propagation du gradient (GBP)
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
J.Korczak, ULP
Y
29
J.Korczak, ULP
30
5
Axone : Exemple XOR – paramètres d’apprentissage
J.Korczak, ULP
Axone : Exemple XOR – réseau appris
31
Apprentissage : Mise à jour des poids et outils
32
Choix du pas d’apprentissage
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
• 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
Outils : Matlab, Axone, SNNS
J.Korczak, ULP
J.Korczak, ULP
33
J.Korczak, ULP
34
Extraction de règles
r gles à partir de RN
Déplacement de l’objectif d’apprentissage
Connaissances acquises du RN sont encodées :
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.
L’architecture du réseau
Les fonctions d’activation associées à chaque neurone
Les poids des connexions
Objectifs :
Effet « troupeau » (herd effect)
Architecture en cascade : Cascade Correlation
J.Korczak, ULP
35
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
36
6
KnowledgeKnowledge-Based Artificial Netural Networks [Shavlik, 1993]
Méthodes d’extraction de règles à partir RN
• Décompositionnelles
Théorie initiale
du domaine
–
–
–
–
Théorie finale
du domaine
Données
Insertion de règles
dans le réseau
Réseau initial
Extraction de règles
du réseau
Apprentissage
– DEDEC
– TREPAN
–…
• Pédagogiques
–
–
–
–
Réseau final
J.Korczak, ULP
• Hybrides
KBANN
SUBSET
MofN
…
37
RULENEG
BRAINNE
VIA
…
J.Korczak, ULP
38
Optimisation de la topologie de PMC
Authentification biométrique
• Approche empirique par «essai-erreur»
• Approches ascendantes : …cherche à augmenter le nombre de
Visage
connexions et de neurones dans le réseau
– Cascade-Correlation [Fahlman, Lebiere, 1991]
– Upstart [Frean, 1990]
– Tiling [Mézard, Nadal, 1989]
Normalisation Apprentissage et
+ Codage
Reconnaissance
Détection des yeux
-50
Moment
-5 0
0
10
20
30
40
0
0
10
20
30
40
50
Vert
50
1 00
Grey Sca e
l
1 50
10 0
n
I e
t n si t y
15 0
2 00
Bleu
20 0
2 50
25 0
Ave rag e Inten s ti y o f e ac h ro ws
Hue
n
I e
t n si t y
Saturation
Filtre Trouver Trouver Inondation +
de base Y
X
Convolution
Intensité
Extraction
• 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]
Voix
Transformation de l’ondelette
Fréquence
Effacer les
silences
– [Weight Elimination, Weigend,1991]
– AGWin [Korczak, 1998]
J.Korczak, ULP
w1
Accepter,
Rejeter
Normalisation Apprentissage et
+ Codage
Reconnaissance
w2
C0 C1 C 2 C3 C 4 C5 C 6 C7
C9 C10 C11 C 12
C13 C14
Temps
39
Réseau des
neurones
Base des données
Identité
• Approches évolutives : connexionisme génétique
J.Korczak, ULP
Décision
50
0
C15
Réseau des
neurones
40
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
J.Korczak, ULP
41
7
Téléchargement