• Objectif
• apprendre des classifieurs “plus riches” que lin ´eaire
• apprendre la transformation non-lin ´eaire
• algorithme: r ´etropropagation d’erreur
• r ´egularisation – s ´election de mod `ele
-1 1
-1 1
1 1 1 1 .5
-1.5
.7 -.4
-1
x
1x
2x
1x
2z=+1 z=-1
z=-1
0 1
-1 0
1 -1
0 1
-1
0
1 -1
0 1 -1
0 1
-1 0
1 -1
0 1 -1
0 -1
R
2R
2R
1y
1y
2z
kw kj
w ji x
1x
1x
2x
1x
2y
1y
2sortie k
entr´ee i cach´ee j biais
R ´eseaux de neurones 3
• Neurone cach ´e
• entr ´ee = activation de r ´eseau:
net j = ! d
i=1
w ji x i + w j0 = ! d
i=0
w ji x i = w t j x
• sortie:
y j = f (net j )
• exemple: f (net) = signe(net) =
! 1 si net ≥ 0
−1 si net < 0
• f ( · ): fonction d’activation ou non-lin ´earit ´e
• w: vecteur des poids “synaptiques”
R ´eseaux de neurones 4
• Neurone de sortie
• entr ´ee:
net k = ! n H
j=1
w k j y j + w k0 = ! n H
j=0
w k j y j = w t k y
• sortie:
z k = f (net k )
• La puissance expressive des r ´eseaux de neurones g k (x) = f
" n
H
! j=1
w k j f
"
d
! i=1
w ji x i + w j0
# + w k0
#
• erreur d’approximation
• toutes les fonctions continues peuvent ˆetre approch ´ees
• mais: n H → " pour une approximation exacte
• La puissance expressive des r ´eseaux de neurones
y
1y
2y
4y
3y
3y
4y
2y
1x
1x
2z
1z
1x
1x
2R ´eseaux de neurones 7
• La puissance expressive des r ´eseaux de neurones
x
1x
2x
1x
2...
x
1x
2R
1R
2R
1R
2R
2R
1x
2x
1deux couches
trois couches
R ´eseaux de neurones 8
• R ´etropropagation d’erreur
• descente de gradient
• r `egle de chaˆ ıne
• extension de l’algorithme LMS
• R ´etropropagation d’erreur
w
kjz
1w
jiz
2z
kz
c... ...
... ...
... ...
... ...
x
1x
2... x
i... x
dz
x
1x
2x
ix
dy
1y
2y
jy
nHt
1t
2t
kt
ct
x sortie
entr´ee objectif
sortie
entr´ee cach´ee
• R´etropropagation d’erreur
• erreur d’entraˆ ınement:
J(w) = 1 2
c k=1 !
(t k − z k ) 2 = 1 2 %t− z% 2
• descente de gradient:
%w = −& #J
#w ; %w pq = −& #J
#w pq
• mise `a jour des poids:
w(m+ 1) = w(m) + %w(m)
R ´eseaux de neurones 11
• Couche de sortie
#J
#w k j
= #J
#net k
#net k
#w k j
= −$ k #net k
#w k j
= −$ k y j
• sensibilit ´e:
$ k = − #J
#net k
= − #J
#z k
#z k
#net k
= (t k − z k )f $ (net k )
• r ´esultat final:
%w k j = &$ k y j = &(t k − z k )f $ (net k )y j
R ´eseaux de neurones 12
• Couche cach ´ee
#J
#w ji
= #J
#y j
#y j
#net j
#net j
#w ji
= #J
#y j f $ (net j )x i
• premier terme:
#J
#y j
= #
#y j
$ 1 2
c k=1 !
(t k − z k ) 2
%
= −
c k=1 !
(t k − z k ) #z k
#y j
= −
c k=1 !
(t k − z k ) #z k
#net k
#net k
#y j
= −
c k=1 !
(t k − z k ) f $ (net k )w k j
= ! c
k=1 $ k w k j
• Couche cach ´ee
#J
#w ji
= #J
#y j
#y j
#net j
#net j
#w ji
= #J
#y j f $ (net j )x i
• r ´esultat final:
%w ji = &$ j x i = &
$ c k=1 ! w k j $ k
% f $ (net j )
& '( )
$ j
x i
• R ´etropropagation des sensibilit ´es
w kj ω 1
... ...
ω 2 ω 3 ω k ω c
w
ijδ 1 δ 2 δ 3 δ k δ c
δ j
sortie
entr´ee cach´ee
R ´eseaux de neurones 15
• Protocoles d’entraˆ ınement
• stochastique: mise `a jour apr `es chaque point d’entraˆ ınement tir ´e par hasard
• (en-ligne: comme stochastique, mais chaque point est trait ´e seule- ment une fois)
R ETROPROPAGATION S TOCHASTIQUE (',&) 1 initialiser w
2 faire
3 x ∈ D n choisi par hasard 4 w ji ← w ji + &$ j x i
5 w k j ← w k j + &$ k y j
6 jusqu’`a %! J(w) % < ' 7 retourner w
R ´eseaux de neurones 16
• Protocoles d’entraˆ ınement
• batch: mise `a jour apr `es avoir trait ´e tous les points d’entraˆ ınement
• plusieurs ´epoques
R ETROPROPAGATION B ATCH (', &) 1 initialiser w
2 faire
3 %w ji ← %w k j ← 0 4 pour m = 1 `a n faire
5 x ← x m
6 %w ji ← %w ji + &$ j x i
7 %w k j ← %w k j + &$ k y j
8 w ji ← w ji + %w ji
9 w k j ← w k j + %w k j
10 jusqu’`a %! J(w) % < ' 11 retourner w
• Courbes d’apprentissage
• ensemble d’entraˆ ınement
• ensemble de test: ´evaluation de la performance
• ensemble de validation: ajuster les param `etres (par exemple: nombre d’ ´epoques)
R ´eseaux de neurones 19
• Courbes d’apprentissage
J/n
test validation
1 2 3 4 5 6 7 8 9 10 11 entr aˆ ı nement
´epoques
R ´eseaux de neurones 20
• Surface d’erreur
-4 -3 -2 -1 0 1 2 3 4
-100 0
100 -40
-20 0
20 40
0 0.25 0.5 0.75 1
w 0
w 1 x 1
x 0 ,y
0w 1
x 1 y 1
w 2 z 1
R 1 x * R 2 w 0
J(w)
• Surface d’erreur
-100 0
100 -40
-20 0
20 40
0 0.25 0.5 0.75 1
w
0w
1J(w)
x
1x
0,y
0w
1y
1w
2z
1w
0-4 -3 -2 -1 0 1 2 3 4
x
1R 1 x * R 2
• Repr ´esentation des poids
• extraction des traits, filtrage
...
...
...
points d’entraˆ ınement
poids d’entr´ee-`a-cach´ee appris
R ´eseaux de neurones 23
• La fonction d’activation
• non-lin ´eaire
• born ´ee
• continue et lisse
• monotone (?)
• lin ´eaire sur les petites entr ´ees
R ´eseaux de neurones 24
• La fonction sigmo¨ ıde
f (x) = atanh(bx) = a
* 1− e − bx 1+ e − bx +
; a = 1.716; b = 2/3
-4 -2 2 4 net
-.1 .1 f ''(net)
-4 -2 2 4net
-1.5 -1 -.5 .5 1 1.5 f(net)
-4 -2 2 4net
.2 .3 .4 .5 f '(net)
.1 0
• D ´etails pratiques
• normaliser l’entr ´ee: µ = 0,( = 1
• valeurs d’objectif: ± 1
• entraˆ ınement avec bruit (( ( 1)
• fabriquer des donn ´ees suppl ´ementaires
• nombre d’unit ´es cach ´ees
• initialisation des poids – apprentissage uniforme: U[ − 1/ √ d,1/ √
d]
• D ´etails pratiques
• taux d’apprentissage
• impulsion (momentum)
• weight decay
• indices
• terminer au plus t ˆot (early stopping)
• nombre de couches cach ´ees
• autres fonctions de crit `ere
Pr ´e-traitement de la donn ´ee 27
• Normaliser l’entr ´ee: µ = 0,( = 1
• transformation blanchissante
• ´egaliser le poids des attributs
• Valeurs d’objectif: ± 1
• au milieu intervalle dynamique de la fonction d’activation
• Fabriquer des donn ´ees suppl ´ementaires
• Entraˆ ınement avec bruit (( ( 1)
Choix des param `etres 28
• Nombre d’unit ´es cach ´ees
• r ´egularisation – s ´election de mod `ele
• r `egle heuristique: n/10
• en utilisant un ensemble de validation
• Initialisation des poids
• apprentissage uniforme: les poids sont appris `a la m ˆeme vitesse
• net j ∈ [ − 1, 1]
• d param `etres al ´eatoires uniformes dans [ − w, ˜ w] ˜
• variance de la somme ≈ w ˜ √ d
• w ˜ = 1/ √ d
• couche de sortie: w ˜ = 1/ √ n H
• Taux d’apprentissage
η = η opt
w
J
η < η opt
w*
J J J
η > 2 η opt
w* w w
w* w
w*
η opt
< η < 2 η opt
Choix des param `etres 31
• Taux d’apprentissage
• # 2 J
#w 2 %w = #J
#w
• & opt = *
# 2 J
#w 2 + − 1
Choix des param `etres 32
• Taux d’apprentissage J
w* w η = η
optw* w
∆