1. introduc,on les réseaux de neurones artificiels€¦ · les réseaux de neurones artificiels /...
TRANSCRIPT
/1381«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols)
AntoineCornuéjols
AgroParisTech–INRAMIA518
Les Réseaux de Neurones Artificiels
/138
1. Introduc,on
2. Réseauxàunecouche
3. Perceptronsmul2couches
4. L’appren2ssagedereprésenta2ons
2
Plan
«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols)
/1383«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols)
Introduction
/138
BiologicalNeurons
Axon
Terminal Branches of Axon
Dendrites«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols)
4
/138
Pourquoiconsidérerdesréseauxdeneurones?
• Inspira2onbiologique– Lecerveaunaturel:unmodèletrèsséduisant
• Capabled’appren2ssage• Robusteettolérantauxfautes• S’accommoded’informa2onsincomplètes,incertaines,imprécises• Massivementparallèle
– Neurones• ≈ 1011neuronesdanslecerveauhumain(950x103dansceluidel’abeille)
• ≈ 103 à 104connexions/neurone
• Poten+eld’ac+on/périoderéfractaire/neuro-transme8eurs
• Signauxexcitateurs/inhibiteurs
5«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols) /138
Versdesréseauxdeneuronesar2ficiels
• A<raits– Calculsparallélisables
– Robustesettolérantsauxfautes(distribué)
– Algorithmessimples
– D’emploitrèsgénéral
• Défauts– Opacitédesraisonnements
– Etdel’hypothèseproduite
6«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols)
/138
Historique(trèslimité)
• Miseenévidencedesneurones
– CamillioGolgietRamonYCajal(~1870);lessynapses(danslesannées1930)
• Modélisa,onformelle
– McCulloch&Piis(1943):1ermodèleduneuroneformel
– Hebb(1949):règled’appren2ssageparrenforcementdecouplagesynap2que
7/46«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols) /1388«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols)
Les réseaux à une couche
/138
Historique(trèslimité)
• Miseenévidencedesneurones
– CamillioGolgietRamonYCajal(~1870);lessynapses(danslesannées1930)
• Modélisa,onformelle
– McCulloch&Pii(1943):1ermodèleduneuroneformel
– Hebb(1949):règled’appren2ssageparrenforcementdecouplagesynap2que
• Premiersmodèlesinforma,ques
– ADALINE(Widrow-Hoff,1960)
– Perceptron(Rosenblai,1958-1962)
– AnalyseparMinskyetPapert(1969)
9«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols) /138
Axon
Terminal Branches of Axon
Dendrites
S
x1
x2w1
w2
wnxn
x3 w3
Ar2ficialNeuralNetworks(ANN)
Slidecredit:AndrewL.Nelson
«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols)
10
/138
– Rosenblai(1958-1962)
LePerceptron
11«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols) /138
Leperceptron
12«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols)
{ biais
x
y
w1w2
w3 w4 w5
w0
wd
1
x1 x2 x3 x4 x5 xd
x0
neurone de biais
1
yi
x(1)
x(2)
x(3)
x(d)
w1i
w2i
w3i
wdi
σ(i) =d!
j=0
wjix(j)w0i
/138
Leperceptron:undiscriminantlinéaire
13«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols) /138
Leperceptron:undiscriminantlinéaire
14«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols)
/138
Theperceptron:elementaryalgebra
• Intheplan
or:
Givenanewpoint:
C1
C2
«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols) 15 /138
Theperceptron:elementaryalgebra
• Inaspaceofdimensiond
– Equa2onofanhyperplan(ofdimensiond-1)
– Expressionofanhypothesis(perceptron):
«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols) 16
/138
Theperceptronlearningalgorithm:intui2on
1. Ifyi=+1andwT.xi<0increasewT.xi(minimizetheriskofhavingyi.(wTxi)<0(wrongdecision)
2. Ifyi=-1andwT.xi>0decreasewT.xi(minimizetheriskofhavingyi.(wTxi)<0(wrongdecision)
For(1),wewantw’.xi>w.xi
Withw’=w+ηxi,wehavew’.xi=w.xi+ηxixi>w.xi
For(2),wewantw’.xi<w.xi
Withw’=w-ηxi,wehavew’.xi=w.xi-ηxixi<w.xi
w
0 = w + ⌘ yi xi
«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols) 17 /138
Theperceptronlearningalgorithm:intui2on
w
0 = w + ⌘ yi xi
w
x
xi
w0O
«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols) 18
/138
Theperceptronlearningalgorithm
208 7. Linear models
negative example, then we have y j =−1 and w·x j > t . In this case we calculate the new
weight vector as w′ = w−ηx j , and thus w′ ·x j = w ·x j −ηx j ·x j < w ·x j . The two cases
can be combined in a single update rule:
w′ = w+ηyi xi (7.8)
The perceptron training algorithm is given in Algorithm 7.1. It iterates through the
training examples until all examples are correctly classified. The algorithm can easily
be turned into an online algorithm that processes a stream of examples, updating the
weight vector only if the last received example is misclassified. The perceptron is guar-
anteed to converge to a solution if the training data is linearly separable, but it won’t
converge otherwise. Figure 7.5 gives a graphical illustration of the perceptron training
algorithm. In this particular example I initialised the weight vector to the basic linear
classifier, which means the learning rate does have an effect on how quickly we move
away from the initial decision boundary. However, if the weight vector is initialised to
the zero vector, it is easy to see that the learning rate is just a constant factor that does
not affect convergence. We will set it to 1 in the remainder of this section.
The key point of the perceptron algorithm is that, every time an example xi is mis-
classified, we add yi xi to the weight vector. After training has completed, each exam-
ple has been misclassified zero or more times – denote this number αi for example xi .
Algorithm 7.1: Perceptron(D,η) – train a perceptron for linear classification.
Input : labelled training data D in homogeneous coordinates;
learning rate η.
Output : weight vector w defining classifier y = sign(w ·x).
1 w ←0 ; // Other initialisations of the weight vector are possible
2 converged←false;
3 while converged = false do
4 converged←true;
5 for i = 1 to |D| do
6 if yi w ·xi ≤ 0 // i.e., yi = yi
7 then
8 w←w+ηyi xi ;
9 converged←false; // We changed w so haven’t converged yet
10 end
11 end
12 end
«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols) 19 /138
Leperceptron
• Appren,ssagedespoids– Principe(règledeHebb):encasdesuccès,ajouteràchaqueconnexion
quelquechosedepropor2onnelàl’entréeetàlasor2e
Règleduperceptron:apprendreseulementencasd’échec
20«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols)
/138
Appren2ssagedespoidsdesconnexions
• Onveutminimiser:
Carnousvoulonspourtouteslesexemples:
21«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols)
wT x ≥ 0 < 0⎧ ⎨ ⎩
⇒ x ∈ ω1
ω2
⎧ ⎨ ⎩
/138
• Méthode d’exploration de H– Recherche par gradient
• Minimisation de la fonction d’erreur
– Algorithme :
si la forme est correctement classée : ne rien faire
sinon :
boucler sur les formes d’apprentissage jusqu’à critère d’arrêt
w(t + 1) = w(t) − η xi ui
w(t + 1) = w(t) − η ∇wE(w(t))
Leperceptron:algorithmedegradient
22«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols)
/138
Despropriétésremarquables!!
• Convergenceenunnombrefinid’étapes
– Indépendammentdunombred’exemples
– Indépendammentdeladistribu,ondesexemples
– Indépendammentdeladimensiondel’espaced’entrée
23«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols)
Siilexisteaumoinsuneséparatricelinéairedesexemples
!!!
/138
Garan2edegénéralisa2on??
• Théorèmessurlaperformanceparrapportàl’échan2llond’appren2ssage
• Maisqu’enest-ilpourdesexemplesàvenir?
24«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols)
/138
Commentchoisirle«bon»perceptron?
Étantdonnéunensembled’appren2ssage,ilexistetoutunensembledesolu2ons
Envoiciune
25«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols) /138
Discrimina2oncontretouslesautres
Commentséparerplusieursclasses
26«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols)
/138
Discrimina2onentredeuxclasses
Commentséparerplusieursclasses
27«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols) /138
Capacitéexpressive:Sépara2onslinéaires
28«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols)
/138
LimitesduPerceptron
• LePerceptronnepeutapprendrequedesséparatriceslinéaires(e.g.pasleXOR)
• Pastoutàfaitvraisionchanged’espaced’entrée[MinskyetPapert,1969]
• Maisleprétraitementestdifficile
• Exemple(Bishop)
29«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols) /138
– Rosenblai(1958-1962)
LePerceptron
30«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols)
/138
Premierconnexionnisme:leperceptron
• Propriétés
– Algorithmeen-ligne
– Nepouvaitpastoutapprendre!?
• Carnepeutpastoutreprésenter
• Ilfautavoirdebonnesfonc2onsdebase(détecteurslocaux)
• Ilfautsavoirlescombiner
– Oksurlacouchedesor.e
Blocage
31«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols) /138
Historique(trèslimité)
• Miseenévidencedesneurones
– CamillioGolgietRamonYCajal(~1870);lessynapses(danslesannées1930)
• Modélisa,onformelle
– McCulloch&Pii(1943):1ermodèleduneuroneformel
– Hebb(1949):règled’appren2ssageparrenforcementdecouplagesynap2que
• Premiersmodèlesinforma,ques
– ADALINE(Widrow-Hoff,1960)
– Perceptron(Rosenblai,1958-1962)
– AnalyseparMinskyetPapert(1969)
• Nouveauconnexionnisme
– Hopfield(1982):réseaubouclé
– PerceptronMul2-Couche(1985)
– «Reservoircompu2ng»(2003)
– Lesréseauxdeneuronesprofonds
– «SpikingNeurons»networks
32/46«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols)
/13833«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols)
Les réseaux multi-couches
/138
Neuralnetworkapplica2on
• ALVINNdrives70mphonhighways
Slidecredit:T.Michell
«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols)
34
/138
Neuralnetworkapplica2on
Slidecredit:AndrawNg.
«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols)
35 /138
Composants et structure
du PMC
36«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols)
/138
• Topologietypique
Flot des signaux
Entrée : xk
Couche d'entrée Couche de sortieCouche cachée
Sortie : yk
Sortie désirée : uk
Leperceptronmul2-couche
37«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols) /138
• Pourchaqueneurone:
– wjk:poidsdelaconnexiondelacellulejàlacellulek
– ak:ac+va+ondelacellulek– g:fonc+ond’ac+va+on
g(a) = 11 + e− a
yl = g wjk φ jj= 0, d∑
⎛
⎝ ⎜
⎞
⎠ ⎟ = g(ak )
Fonction à base radiale
Fonction sigmoïde
Fonction à seuil
Fonction à rampe
Activation ai
Sortie zi
+1
+1
+1
g’(a)=g(a)(1-g(a))
LePerceptronMul2-Couches:propaga2on
38«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols)
/13839«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols)
272 PARTIE 3 : L’induction par optimisation d’un critère inductif
Nom Graphe Équation Dérivée
Rampe f(x) = x f Õ(x) = 1
Heaviside f(x) =I
0 si x < 01 si x Ø 0
f Õ(x) =I
0 si x ”= 0? si x = 0
Logistique ousigmoïde f(x) = 1
1 + e≠xf Õ(x) = f(x)
!1 ≠ f(x)
"
Tangentehyperbolique
f(x) = tanh(x)
= 21 + e≠2x
≠ 1f Õ(x) = 1 ≠ f2(x)
Arc Tangentef(x) = tan≠1(x) f Õ(x) = 1
x2 + 1
Unité ReLU f(x) =I
0 si x < 0x si x Ø 0
f Õ(x) =I
0 si x ”= 01 si x = 0
UnitéExponentielleLinéaire
f(x) =I
– (ex ≠ 1) si x < 0x si x Ø 0
f Õ(x) =I
f(x) + – si x < 01 si x Ø 0
Tab. 9.2: Table de quelques fonctions d’activation usuelles./138
Fonc2onsd’ac2va2on
40«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols)
/138
L’apprentissage
dans les PMC
41«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols) /138
À partir :
• d’un échantillon d’apprentissage • de connaissances préalables sur le type de dépendances sur Trouver :
• une fonction • permettant la prédiction de y pour une nouvelle entrée x
«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols)
Appren2ssagesupervisé
42
/138
LearningwithMul2-LayerPerceptrons
• Ques2ons:
– Howtolearntheparameters(weightsoftheconnec2ons)?
– Howtosetthearchitectureofthenetwork?
43«Ar2ficialNeuralNetworks»(A.Cornuéjols) /138
Calculdepoids
Entréex1 Entréex2 Sor,ey
0 0 0
0 1 1
1 0 1
1 1 0
44«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols)
Calculdelafonc2onXOR
x2
x1 !"!#
!$
!%
!&
!'
!( !)!*
y
�
i
wi xi
y
!!
"
"
Saurez-voustrouverlespoidswi?
/138
Computetheweightssuchthat…
Entréex1 Entréex2 Sor,ey
0 0 0
0 1 1
1 0 1
1 1 0
45«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols)
Computa2onoftheXORfunc2on
x2
x1 !"!#
!$
!%
!&
!'
!( !)!*
y
W1=1W2=-1W3=-1W4=1W5=4W6=4W7=-1W8=-1W9=-1
�
i
wi xi
y
!"# #
#
!$%
/138
Calculdepoids
Entréex1 Entréex2 Sor,ey
0 0 0
0 1 1
1 0 1
1 1 0
46«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols)
Calculdelafonc2onXOR
x2
x1 !"!#
!$
!%
!&
!'
!( !)!*
y
�
i
wi xi
y
!!
"
"
W1=1W2=-1W3=-1W4=1W5=4W6=4W7=-1W8=-1W9=-1
/138
Rôledelacouchecachée
47«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols) /138
Exemplederéseau(simulateurJavaNNS)
48«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols)
/138
x
ai(x) = wjxj
j=1
d
∑ +w0
yi(x) = g(ai(x))
ys (x) = wjsyjj=1
k
∑ys(x)
wis
kneuronessurlacouchecachée
. . .x1 x2 x3 xd
w1 w2 w3wd
yi(x)
x0
w0Biais
. . .y (x)1
MLPs:feedforward(summary)
49«Ar2ficialNeuralNetworks»(A.Cornuéjols) /138
Objectif :
– Algorithme (rétro-propagation de gradient) : descente de gradient
Algorithme itératif :
Cas hors-ligne (gradient total) :
où :
Cas en-ligne (gradient stochastique) :
w( t ) = w( t−1) − η∇ Ew(t )
wij (t) = wij (t −1)−η(t) 1m
∂RE (xk ,w)∂wijk=1
m
∑
wij (t) = wij (t −1)−η(t) ∂RE(xk,w)∂wij
RE(xk,w) = [tk − f (xk ,w)]2
€
w * = argminw
1m
y(xl ; w) − u(xl )[ ]2
l=1
m
∑
LePerceptronMul2-Couches:appren2ssage
50«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols)
/138
Descentedegradient
51«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols) /138
1. Présentation d’un exemple parmi l’ensemble d’apprentissage Séquentielle, aléatoire, en fonction d’un critère donné
2. Calcul de l’état du réseau
3. Calcul de l’erreur = fct(sortie - sortie désirée) (e.g. = (yl - ul)2)
4. Calcul des gradients Par l’algorithme de rétro-propagation de gradient
5. Modification des poids synaptiques
6. Critère d’arrêt Sur l’erreur. Nombre de présentation d’exemples, ...
7. Retour en 1
LePerceptronMul2-Couches:appren2ssage
52«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols)
/138
1. Evaluation de l’erreur Ej (ou E) due à chaque connexion :
Idée : calculer l’erreur sur la connexion wji en fct de l’erreur après la cellule j
– Pour les cellules de la couche de sortie :
– Pour les cellules d’une couche cachée :
∂ El
∂ wij
δk = ∂ El
∂ ak = g' (ak )
∂ El
∂ yk = g' (ak ) ⋅ uk(xl) − yk( )
δ j = ∂ El
∂ aj =
∂ El
∂ ak
∂ ak∂ ajk
∑ = δ k
∂ ak∂ zj
∂ zj∂ ajk
∑ = g' (aj ) ⋅ wjk δkk∑
∂ El
∂ wij
= ∂ El
∂ aj ∂ aj∂ wij
= δ j zi
PMC:larétro-propaga2ondegradient
53«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols) /138
ai:activation de la cellule i
zi:sortie de la cellule i
δi:erreur attachée à la cellule i
wij ji kyk
Celluledesor2eCellulecachée
δk
akaj
δjwjk
zjzi
PMC:larétro-propaga2ondegradient
54«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols)
/138
• 2. Modification des poids
– On suppose gradient à pas (constant ou non ): η(t)
– Si apprentissage stochastique (après présentation de chaque exemple)
– Si apprentissage total (après présentation de l’ensemble des exemples)
€
Δwij = η(t) δ j yi
€
Δwij = η(t) δ jn zi
n
n=1
m
∑
PMC:larétro-propaga2ondegradient
55«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols)
j:neuronedesor2e
/138
x
ai(x) = wjxj
j=1
d
∑ +w0
yi(x) = g(ai(x))
ys (x) = wjsyjj=1
k
∑ys(x)
wis
kneuronessurlacouchecachée
. . .x1 x2 x3 xd
w1 w2 w3wd
yi(x)
x0
w0Biais
. . .y (x)1
LePMC:passesavantetarrière(résumé)
56«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols)
/138
x
ys(x)
wis
...x1 x2 x3 xd
w1 w2 w3 wd
yi(x)
x0
w0Biais
...y (x)1
δs = g' (as ) (us−ys )
δ j = g' (aj ) wjsδ scellules scouchesuivante
∑
wis(t +1) = wis(t) − η(t)δ sai
wei (t +1) = wei(t) − η(t )δ iae
LePMC:passesavantetarrière(résumé)
57«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols) /138
• Efficacité en apprentissage
– En O(w) pour chaque passe d’apprentissage, w = nb de poids
– Il faut typiquement plusieurs centaines de passes (voir plus loin)
– Il faut typiquement recommencer plusieurs dizaines de fois un
apprentissage en partant avec différentes initialisations des poids
• Efficacité en reconnaissance
– Possibilité de temps réel
PMC:Larétro-propaga2ondegradient
58«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols)
/13859«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols)
Illustra2on
/13860«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols)
Illustra2on
/13861«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols)
Illustra2on
/13862«Lesréseauxdeneuronesar2ficiel»(A.Cornuéjols)
Illustra2on