M2 STIM -Identification & aide `a la d ´ecision
R ´eseaux de Neurones
clement.chatelain@insa-rouen.fr
21 janvier 2016
clement.chatelain@insa-rouen.fr R ´eseaux de Neurones 21 janvier 2016 1 / 60
Sommaire
1 Introduction
2 Principes g ´en ´eraux Neurone formel Topologies
3 Apprentissage(s) Posons le probl `eme
R ´eseau lin ´eaire `a une couche R ´eseau non lin ´eaire `a une couche R ´eseaux multicouches
4 Autres architectures Architectures profondes R ´eseaux r ´ecurrents R ´eseaux convolutionnels L ´egos
5 R ´eseaux de neurones dans la pratique Param ´etrisation
Mise en œuvre
Introduction
Introduction
Avantage
Fonctionne∀le nombre d’entr ´ees,∀le nombre de sorties Mod `ele pas forc ´ement lin ´eaire par rapport aux param `etres Et surtout ... c¸a marche tr `es bien !
Inconv ´enients
Le crit `ere doit ˆetre d ´erivable
Le param ´etrage et l’apprentissage demandent un peu d’ ´exp ´erience ...
clement.chatelain@insa-rouen.fr R ´eseaux de Neurones 21 janvier 2016 3 / 60
Introduction
Introduction
Les r ´eseaux de neurones permettent d’estimer une fonction f :
f :x →y avecxT = [x1,x2, . . . ,xE]∈RE Siy ∈RS, on parle der ´egression
Siy ∈ {C1,C2, . . . ,CS}, on parle declassification Dans ce cas, autant de neurones de sortie que de classe
→Sortiesd ´esir ´eesde la forme :ydT = [0,0, . . . ,1, . . . ,0]
Estimation de f :
Apprentissage des poids de connexion entre neurones Sur une base ´etiquet ´ee deNcouples
({x(1),y(1)}, . . . ,{x(n),y(n)}, . . . ,{x(N),y(N)})
Principes g ´en ´eraux
Principes g ´en ´eraux
Id ´ee g ´en ´erale des R ´eseaux de neurones :
combiner de nombreuses fonctions ´el ´ementaires pour former des fonctions complexes.
Apprendre les liens entre ces fonctions simples `a partir d’exemples
´etiquet ´es
Analogie (un peu commerciale) avec le cerveau : Fonctions ´el ´ementaires = neurones
Connexion = synapse
Apprentissage des connexions = la connaissance
clement.chatelain@insa-rouen.fr R ´eseaux de Neurones 21 janvier 2016 5 / 60
Principes g ´en ´eraux Neurone formel
Le neurone formel [McCulloch et Pitts, 1943]
Unit ´e ´el ´ementaire : neurone formel
E entr ´eesxe, sortiey
Somme des entr ´eesxepond ´er ´ee par despoidswe:
α=
E
X
e=1
wexe+b=
E
X
e=0
wexe avec x0=1 Une fonction d’activationϕ, lin ´eaire ou non :
y =ϕ(α) =ϕ PE
e=0wexe
ϕlin ´eaire : hyperplan s ´eparateur ;ϕnon lin ´eaire : hyperbole dimensionE
Principes g ´en ´eraux Neurone formel
Le neurone formel [McCulloch et Pitts, 1943]
Diff ´erentes fonctions d’activation
Elles introduisent un intervalle sur lequel le neurone est activ ´e fonction identit ´e
heaviside :ϕ(x) =0 six <0, 1 sinon sigmo¨ıde :ϕ(x) = 1
1+e−x
tanh :ϕ(x) = eexx−e+e−x−x =e2x−1
e2x+1
fonction noyau (gaussienne)
heaviside - sigmo¨ıde - tanh - gaussienne
clement.chatelain@insa-rouen.fr R ´eseaux de Neurones 21 janvier 2016 7 / 60
Principes g ´en ´eraux Topologies
Topologies
Il existe de nombreuses mani `ere d’organiser les neurones en r ´eseau :
R ´eseau en couches (adaline, perceptron, perceptron multicouches, RBF)
R ´eseau totalement interconnect ´e (Hopfield, Boltzmann) R ´eseau r ´ecurrent (LSTM)
R ´eseau `a convolution (TDNN, SDNN)
R ´eseau avec beaucoup de couches ! (architectures profondes)
Principes g ´en ´eraux Topologies
R ´eseaux en couches (1)
Chaque neurone d’une couche est connect ´e `a tous les neurones des couches pr ´ec ´edentes et suivantes
R ´eseaux ditsfeedforward: propagation des entr ´ees de couches en couches vers la sortie
Structure la plus r ´epandue
Algorithmes d’apprentissage des poids efficaces
clement.chatelain@insa-rouen.fr R ´eseaux de Neurones 21 janvier 2016 9 / 60
Principes g ´en ´eraux Topologies
R ´eseaux en couches (2)
Variantes
Une couche, fonction d’activation heaviside, une sortie :perceptron [Rosenblatt 1957]
Si plus d’une couche : couches dites
cach ´ees, perceptron multicouches Si beaucoup de couches : architectures profondes
Principes g ´en ´eraux Topologies
R ´eseaux totalement interconnect ´es
R ´eseaux de Hopfield, Machines de Boltzmann
Tous les neurones sont connect ´es entre eux Difficile `a entrainer
N’a jamais vraiment prouv ´e son utilit ´e sur des probl `emes r ´eels
→int ´er ˆet essentiellement th ´eorique
clement.chatelain@insa-rouen.fr R ´eseaux de Neurones 21 janvier 2016 11 / 60
Principes g ´en ´eraux Topologies
R ´eseaux r ´ecurrents
Adapt ´e aux s ´equences
Permet de prendre en compte le contexte
On calculey(n)`a partir de :
I x(n)les entr ´ees courantes
I y(n−1)les sorties de l’exemple pr ´ec ´edent
(provenant d’une m ˆeme s ´equence) Hypoth `ese'Markovienne
Principes g ´en ´eraux Topologies
R ´eseaux convolutionnels
Poids partag ´es, connexions locales
Apprentissage de configurations particuli `eres
clement.chatelain@insa-rouen.fr R ´eseaux de Neurones 21 janvier 2016 13 / 60
Apprentissage(s) Posons le probl `eme
Plan
1 Introduction
2 Principes g ´en ´eraux Neurone formel Topologies
3 Apprentissage(s) Posons le probl `eme
R ´eseau lin ´eaire `a une couche R ´eseau non lin ´eaire `a une couche R ´eseaux multicouches
4 Autres architectures Architectures profondes R ´eseaux r ´ecurrents R ´eseaux convolutionnels L ´egos
5 R ´eseaux de neurones dans la pratique Param ´etrisation
Mise en œuvre
Apprentissage(s) Posons le probl `eme
Notations (1)
Les donn ´ees
On dispose d’une base ´etiquet ´ee deNcouples{x(n),yd(n)}
X∈RE×N,Yd ∈RS×N
X={x(n)}=
x1(n)
... xE(n)
=
x1(1) . . . x1(N) ... . .. xe(n) ... xE(1) . . . xE(N)
Yd ={yd(n)}=
y1d(n)
... yEd(n)
=
y1d(1) . . . y1d(N) ... . .. ysd(n) ... ySd(1) . . . ySd(N)
clement.chatelain@insa-rouen.fr R ´eseaux de Neurones 21 janvier 2016 15 / 60
Apprentissage(s) Posons le probl `eme
Notations(2)
Le r ´eseau (en couche)
E entr ´ee,Ssorties
Le r ´eseau comporteΛcouches
Wλmatrice des poids entre couchesλ−1 etλ On appelerayd(n)la sortied´esir ´ee pour l’exemplen
Si :
- la coucheλ−1 contientni neurones - la coucheλnj neurones,
alors : Wλ={wji}=
w11 . . . w1i . . . w1ni wj1 ... wji ... wjni wnj1 . . . wnji . . . wnjni
x ∈RE
◦ ◦ ◦ ◦ ◦ ◦ ◦
◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦
◦ ◦ ◦ ◦ ◦◦
◦ ◦ ◦ ◦ ◦ y ∈RS
W1 W2 W3 WΛ−1 WΛ
layer 1 layer 2 layerΛ−1
layerΛ
Apprentissage(s) Posons le probl `eme
Le probl `eme
Rappel : on souhaite estimer f :
Apprentissage sur la base des poids de connexion entre neuronesW
→ Crit `ere
Crit `ere des moindres carr ´es (d ´erivable) :
J(W) =
N
X
n=1
e(n)Te(n) avec e(n) =
y(n)−yd(n) Qu’on peut r ´e ´ecrire en sommant sur les sorties :
J(W) =
S
X
s=1 N
X
n=1
(es(n))2=
S
X
s=1
J(Ws) (1)
Aveces(n) = ys(n)−ysd(n)
clement.chatelain@insa-rouen.fr R ´eseaux de Neurones 21 janvier 2016 17 / 60
Apprentissage(s) R ´eseau lin ´eaire `a une couche
Plan
1 Introduction
2 Principes g ´en ´eraux Neurone formel Topologies
3 Apprentissage(s) Posons le probl `eme
R ´eseau lin ´eaire `a une couche R ´eseau non lin ´eaire `a une couche R ´eseaux multicouches
4 Autres architectures Architectures profondes R ´eseaux r ´ecurrents R ´eseaux convolutionnels L ´egos
5 R ´eseaux de neurones dans la pratique Param ´etrisation
Mise en œuvre
Apprentissage(s) R ´eseau lin ´eaire `a une couche
R ´eseau lin ´eaire `a une couche (1)
Une couche de neurones avec une fonction d’activationϕ=identit ´e
poids :W={wse}=
W1T
... WST
=
w11 . . . w1E ... wse ... wS1 . . . wSE
Propagation 1 ex. sur une sortie :ys(n) =WsTx(n)
ys
=
ws1 . . . wsE
×
x1
.. . xE
Propagation 1 ex. sur toutes les sorties :y(n) =Wx(n)
y1
.. . yS
=
w11 . . . w1E
..
. wse
.. .
wS1 . . . wSE
×
x1
.. . xE
PropagationNex. surSsortie :Y=WX
y d1(1) . . . . . . y d1(N) ..
. ..
. y ds(n) .. . y dS(1) . . . . . . y dS(N)
=
w11 . . . w1E
..
. wse
.. .
wS1 . . . wSE
×
x1(1) . . . . . . x1(N)
.. .
... xe(n) .. .
xE(1) . . . . . . xE(N)
clement.chatelain@insa-rouen.fr R ´eseaux de Neurones 21 janvier 2016 19 / 60
Apprentissage(s) R ´eseau lin ´eaire `a une couche
R ´eseau lin ´eaire `a une couche (2)
Calcul de l’erreur
Erreur sur une sortie pour 1 exemple :
es(n) =ysd(n)−WsTx(n) Crit `ere :
J(W) =
S
X
s=1 N
X
n=1
ysd(n)−WsTx(n)2
Apprentissage des poids ?
On a donc un probl `eme lin ´eaire par rapport aux param `etresY=WX avec un crit `ere des moindres carr ´es
→solution des moindres carr ´es ! Rappel :
SiY =XΘet queXTX est inversible, alorsΘMC= (XTX)−1XTY Attention: formulation l ´eg `erement diff ´erente
Apprentissage(s) R ´eseau lin ´eaire `a une couche
R ´eseau lin ´eaire `a une couche (3)
SiY=WX, alorsYT =XTWT ...
... qui est de la formeY =XΘ, en remplacantXetYpar leur transpos ´ees, etΘparWT
En appliquant les MC, on obtientWTMC = (XXT)−1XYT D’o `uWMC =YXT(XTX)−1
Conclusion
Apprentissage OK avec les MC, mais : Pas de non lin ´earit ´e = pas terrible Une seule couche = pas terrible
(XTX) `a inverser : potentiellement tr `es lourd (mais MC r ´ecursifs possibles)
Introduction d’une fonctionϕnon lin ´eaire
clement.chatelain@insa-rouen.fr R ´eseaux de Neurones 21 janvier 2016 21 / 60
Apprentissage(s) R ´eseau non lin ´eaire `a une couche
Plan
1 Introduction
2 Principes g ´en ´eraux Neurone formel Topologies
3 Apprentissage(s) Posons le probl `eme
R ´eseau lin ´eaire `a une couche R ´eseau non lin ´eaire `a une couche R ´eseaux multicouches
4 Autres architectures Architectures profondes R ´eseaux r ´ecurrents R ´eseaux convolutionnels L ´egos
5 R ´eseaux de neurones dans la pratique Param ´etrisation
Mise en œuvre
Apprentissage(s) R ´eseau non lin ´eaire `a une couche
R ´eseau non lin ´eaire `a une couche (1)
Introduction d’une fonction ϕ non lin ´eaire
On a doncY=ϕ(WX), et les MC ne sont plus applicables
On va appliquer une m ´ethode de descente de gradient→rappels !
Algorithme it ´eratif : On choisit unWt=0al ´eatoire Bonne direction = celle o `u le crit `ere baisse
Avancer un peu, mais pas trop
W
t+1← W
t− η d J (W) dW
Wt
avec :
Wles param `etres ; η: le pas ; dJdW(W) W
t
: labonnedirection
clement.chatelain@insa-rouen.fr R ´eseaux de Neurones 21 janvier 2016 23 / 60
Apprentissage(s) R ´eseau non lin ´eaire `a une couche
R ´eseau non lin ´eaire `a une couche (2)
Crit `ere
Pour un r ´eseau `a une couche contenant une FNLϕ:y(n) =ϕ(Wx(n)) Le crit `ere s’ ´ecrit donc :
J(W) =
N
X
n=1
yd(n)−ϕ(Wx(n))2
On d ´erive pour appliquer le gradient :Wt+1←Wt−η dJdW(W) Wt
dJ(W)
dW = −2
N
X
n=1
yd(n)−ϕ(Wx(n))
×dϕ(Wx(n)) dW
= −2
N
X
n=1
yd(n)−ϕ(Wx(n))
×ϕ0(Wx(n))x(n)
Apprentissage(s) R ´eseau non lin ´eaire `a une couche
R ´eseau non lin ´eaire `a une couche (3)
Application du gradient dJ(W)
dW =−2
N
X
n=1
yd(n)−ϕ(Wx(n))
×ϕ0(Wx(n))x(n)
Deux cas de figure :
Si ϕ n’est pas d ´erivable (ex. heaviside) : c¸a ne marche pas !
Approximation lin ´eaire de la d ´eriv ´ee : algo adaline [Widrow & Hoff 1960]
dJ(W) dW =−2
N
X
n=1
yd(n)−ϕ(Wx(n))
×x(n)
Si ϕ est d ´erivable (ex. sigmo¨ıde, tanh) : c¸a marche !
Dans ce cas on applique la descente de gradient
Remarque : dans le cas d’une fonction identit ´e,ϕ0=1 : c¸a marche OK pour une couche, et pour plusieurs ?
clement.chatelain@insa-rouen.fr R ´eseaux de Neurones 21 janvier 2016 25 / 60
Apprentissage(s) R ´eseaux multicouches
Plan
1 Introduction
2 Principes g ´en ´eraux Neurone formel Topologies
3 Apprentissage(s) Posons le probl `eme
R ´eseau lin ´eaire `a une couche R ´eseau non lin ´eaire `a une couche R ´eseaux multicouches
4 Autres architectures Architectures profondes R ´eseaux r ´ecurrents R ´eseaux convolutionnels L ´egos
5 R ´eseaux de neurones dans la pratique Param ´etrisation
Mise en œuvre
Apprentissage(s) R ´eseaux multicouches
R ´eseaux multicouches (1)
C’est le perceptron multicouches (PMC ou MLP)
→Couches dites cach ´ees
FNLϕ, peuvent ˆetre6=suivant les couches
Exemple d’un r ´eseau `a deux couches
E entr ´ee,Ssorties,J neurones en couche cach ´ee
W1∈RJ×Epoids entre lesx et la couche 1 W2∈RS×J poids entre les couches 1 et 2 z(n)∈RJ : variable interm ´ediaire
ϕ1: sigmo¨ıde ;ϕ2: softmax x(n)∈RE
◦ ◦ ◦ ◦ ◦ ◦ ◦
◦ ◦ ◦ ◦ ◦ y(n)∈RS
z(n)
J =7 S=5
W1={wje} W2={wsj}
W1={wje}=
w11 . . . w1E
wj1 . .. wjE
wJ1 . . . wJE
W2={wsj}=
w11 . . . w1J
ws1 . .. wsJ
wS1 . . . wSJ
clement.chatelain@insa-rouen.fr R ´eseaux de Neurones 21 janvier 2016 27 / 60
Apprentissage(s) R ´eseaux multicouches
R ´eseaux multicouches (2)
Propagation d’un exemple :
couche 1 : somme pond ´er ´eeα1j =P
ewjexe, puiszj =ϕ1 α1j) couche 2 : somme pond ´er ´eeα2s =P
jwsjzj, puisys=ϕ2 α2s)
Apprentissage : R ´etropropagation du gradient [Rumelhart 86]
Initialiser lesWλau hasard
1 Propager un exemplex(n)pour calculery(n)
2 Calculer l’erreur(yd(n)−y(n))
3 R ´etropropager le crit `ereJ = (yd(n)−y(n))2 `a traversW2...
4 ... puis `a traversW1
On passe tous les exemples de la base, et on it `ere tant qu’on n’est pas satisfait
Apprentissage(s) R ´eseaux multicouches
R ´eseaux multicouches (3)
Chaque sortie s’ ´ecrit :
ys=ϕ2
X
j
wsjϕ1 X
e
wjexe
!
Doncle crit `ereJ =1/2P
s(ysd−ys)2d ´epend de(wje, ϕ1,wsj, ϕ2).
Apprentissage de w
jeet w
sj:
Descente de gradient :
wje t+1←wje t−η ∂J
∂wje wje t
et wsj t+1←wsj t−η ∂J
∂wsj wsj t
Probl `eme : comment calculer les d ´eriv ´ees partielles du crit `ere ?
clement.chatelain@insa-rouen.fr R ´eseaux de Neurones 21 janvier 2016 29 / 60
Apprentissage(s) R ´eseaux multicouches
R ´eseaux multicouches (3)
On commence par le calcul de : ∂J
∂wsj
=
∂J∂ys
×
∂α∂ys2s
×
∂w∂α2ssj
∂J
∂ys = ∂
∂ys 1 2
S
X
s=1
(ysd−ys)2=−(ysd−ys)
∂ys
∂α2s = ∂
∂α2sϕ2(α2s) =ϕ20(α2s)
∂α2s
∂wsj = ∂
∂wsj
J
X
j=1
wsjzj =zj
Finalement : ∂w∂J
sj
= −(y
sd− y
s) × ϕ
20(α
2s) × z
j= Erreur
sz
jCette quantit ´e repr ´esente l’erreur sur la sortiesdue au neuronej
Apprentissage(s) R ´eseaux multicouches
R ´eseaux multicouches (4)
On enchaine avec le calcul de : ∂J
∂wje
=
∂J∂zj
×
∂α∂zj1j
×
∂α1 j
∂wje
∂J
∂zj
= X
s
∂J
∂α2s
×∂α2s
∂zj
1er terme : rouge*vert du slide pr´ec´edent
= X
s
−(ysd−ys)×ϕ20(α2s)× ∂
∂zj
X
j
wsjzj
=−X
s
(ysd−ys)×ϕ20(α2s)×wsj
∂zj
∂α1j = ∂
∂α1jϕ1(α1j)=ϕ10(α1j) ∂α1j
∂wje
= ∂
∂wje
X
e
wjexe=xe
Finalement :
∂J
∂wje
= − P
s
(y
sd− y
s) × ϕ
20(α
2s) × w
sj× ϕ
10(α
1j) × x
e= Erreur
jx
eCette quantit ´e repr ´esente l’erreur sur le neuronej due `a l’entr ´eee
clement.chatelain@insa-rouen.fr R ´eseaux de Neurones 21 janvier 2016 31 / 60
Apprentissage(s) R ´eseaux multicouches
R ´eseaux multicouches (5)
On r ´ecapitule :
Algorithm 1Backpropagation algorithm η←0.001
W1←rand(J,E) W2←rand(S,J)
while(erreurApp≤)do forn=1→Ndo
propagatex(n): computez(n)andy(n) computeErrorS
W2←W2−η∗ErrorS∗z(n) computeErreurJ
W1←W1−η∗ErrorJ∗x(n) end for
end while
Apprentissage(s) R ´eseaux multicouches
R ´eseaux multicouches (5’)
On r ´ecapitule, en matlab :
clement.chatelain@insa-rouen.fr R ´eseaux de Neurones 21 janvier 2016 33 / 60
Apprentissage(s) R ´eseaux multicouches
R ´eseaux multicouches (6)
Remarques :
On peut sommer les erreurs sur toute la base et r ´etropropager une seule fois :
→modeBatch(plus rapide)
Question du pas ... 2 `eme ordre ? Cf. cours gradient
Quand stopper l’algorithme ? Attention au surapprentissage
Apprentissage(s) R ´eseaux multicouches
R ´eseaux multicouches (7)
Dimensionnement
Combien de neurones par couches / Combien de couches ? Une seul couche suffit pour estimer n’importe quelle fonctionf, pourvu que :J → ∞etN → ∞[Lippman 87]
Solution : rajoutons des couches !
,Backprop g ´en ´eralisable avec plusieurs couches cach ´ees ,Fronti `eres de d ´ecision plus complexes
,Repr ´esentation de haut niveau des donn ´ees
/Mais l’ ´energie de l’erreur est trop faible pour modifier les couches basses
→ Deep learning !
clement.chatelain@insa-rouen.fr R ´eseaux de Neurones 21 janvier 2016 35 / 60
Autres architectures Architectures profondes
Plan
1 Introduction
2 Principes g ´en ´eraux Neurone formel Topologies
3 Apprentissage(s) Posons le probl `eme
R ´eseau lin ´eaire `a une couche R ´eseau non lin ´eaire `a une couche R ´eseaux multicouches
4 Autres architectures Architectures profondes R ´eseaux r ´ecurrents R ´eseaux convolutionnels L ´egos
5 R ´eseaux de neurones dans la pratique Param ´etrisation
Mise en œuvre
Autres architectures Architectures profondes
SVM vs. Architectures profondes
1985 - 1995 : l’essor des r ´eseaux de neurones
Emergence de nombreuses applications industrielles : Reconnaissance d’ ´ecriture, de la parole, etc.
1995 - 2005 : La suppr ´ematie des Support Vector Machines
Classifieurs aux bases th ´eoriques fortes
Excellentes capacit ´es de g ´en ´eralisation, perf. `a l’ ´etat de l’art R ´eseaux de neurones = has been . . .
2006 - 20 ? ? : Le retour des r ´eseaux de neurones
Hinton, G. E., Osindero, S. and Teh, Y. A fast learning algorithm for deep belief nets. Neural Computation, 18, pp 1527-1554 (2006)
R ´eseaux de neurones profonds
Architectures connues, nouveaux algo d’apprentissage
Performances permettant d’envisager de nouvelles applications
clement.chatelain@insa-rouen.fr R ´eseaux de Neurones 21 janvier 2016 37 / 60
Autres architectures Architectures profondes
Architectures profondes (1)
Principe
R ´eseau feedforward comportantΛcouches, avecΛ>2
Wλmatrice des poids entre couchesλ−1 etλ backprop insuffisante→comment faire ?
Apprentissage en deux temps
Apprentissage des couches dites basses, en non supervis ´e
I Utilisation des autoencodeurs
I Couches dites de mod `eles
Apprentissage des derni `eres couches en supervis ´e
I Backpropagation
I Couches dites de decision
x ∈RE
◦ ◦ ◦ ◦ ◦ ◦ ◦
◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦
◦ ◦ ◦ ◦ ◦◦
◦ ◦ ◦ ◦ ◦ y ∈RS
W1 W2 W3 WΛ−1 WΛ
layer 1 layer 2 layerΛ−1
layerΛ
Autres architectures Architectures profondes
Architectures profondes (2)
Auto Associateurs (AA)
Un AA cherche `a apprendre ses propres entr ´ees : on veutyd =x Apprentissage d’un encodeure(x)et d’un d ´ecodeurd((e(x)) R ´eseau `a une couche cach ´eeeet une couche de sortied Crit `ere :J = (ˆx−x)2= (d(e(x))−x)2
Si le nombre de neurones deeest
<E:
Compression, repr ´esentation parcimonieuse dex
x
◦ ◦ ◦ ◦ ◦
◦ ◦ ◦ ◦ ◦◦
xˆ=d(e(x))
e d
clement.chatelain@insa-rouen.fr R ´eseaux de Neurones 21 janvier 2016 39 / 60
Autres architectures Architectures profondes
Architectures profondes (3) : Apprentissage
pre-training
Apprendre un AA surx.
Gardere1(x) =H1, jeterd1(e1(x)) Apprendre un nouvel AA sure1(x) Gardere2(e1(x)) =H2, jeterd2 etc.
fine-tuning
d ´everrouiller tous lesHλ rajouter une ou
plusieurs couches backpropagation sur l’ensemble du r ´eseau
Autres architectures Architectures profondes
Architectures profondes (4) : Exemple d’application
Apprentissage en trois ´etapes [4, 5] :
1 Pr ´eapprentissage des entr ´ees = repr ´esentation des donn ´ees
2 Pr ´eapprentissage des sorties = app. des connaissances a priori
3 Fine tuning = apprentissage classique du lien entre entr ´ees et sorties
clement.chatelain@insa-rouen.fr R ´eseaux de Neurones 21 janvier 2016 41 / 60
Autres architectures R ´eseaux r ´ecurrents
Plan
1 Introduction
2 Principes g ´en ´eraux Neurone formel Topologies
3 Apprentissage(s) Posons le probl `eme
R ´eseau lin ´eaire `a une couche R ´eseau non lin ´eaire `a une couche R ´eseaux multicouches
4 Autres architectures Architectures profondes R ´eseaux r ´ecurrents R ´eseaux convolutionnels L ´egos
5 R ´eseaux de neurones dans la pratique Param ´etrisation
Mise en œuvre
Autres architectures R ´eseaux r ´ecurrents
R ´eseaux de neurones et s ´equences
Comment traiter des S ´equences avec des r ´eseaux de neurones ?
Parole, ´ecriture, cours de la bourse, image (2D), etc.
Signaux de taillevariable→n ´ecessit ´e de classifieursdynamiques
1 `ere solution : r ´eseaux de neurones / classifieur dynamique
R ´eseaux de neurones / Hidden Markov Model
= classification locale / mod ´elisation de s ´equence
clement.chatelain@insa-rouen.fr R ´eseaux de Neurones 21 janvier 2016 43 / 60
Autres architectures R ´eseaux r ´ecurrents
2 `eme solution : R ´eseaux r ´ecurrents (1)
Connexions r ´ecurrentes
Permet de prendre en compte le contexte
On calculey(n) `a partir dex(n)ety(n−1)les sorties de l’observation pr ´ec ´edente
Question :
Comment apprendre les poids des connexions r ´ecurrentes ?
1 BackProp Through Time (BPTT)
2 Real Time Recurrent Learning (RTRL)
Autres architectures R ´eseaux r ´ecurrents
R ´eseaux r ´ecurrents (2)
Backpropagation Through Time (BPTT)
Id ´ee : d ´eplier le r ´eseauRpour l’approximer par un r ´eseau non r ´ecurrentR∗
Structure temporelle→structure spatiale surk pas
Les poids des connexions r ´ecurrentes sont copi ´es et attribu ´es `a des connexions non r ´ecurrentes deR∗.
Les copies des connexions poss `edent toutes la m ˆeme pond ´eration.
Les premiers neurones rouges et bleus sont initialis ´es au hasard
clement.chatelain@insa-rouen.fr R ´eseaux de Neurones 21 janvier 2016 45 / 60
Autres architectures R ´eseaux r ´ecurrents
R ´eseaux r ´ecurrents (3)
Backpropagation Through Time (BPTT), suite
Une fois d ´epli ´e, on applique une backprop classique
→k limit ´e = contexte limit ´e ...
Autres architectures R ´eseaux r ´ecurrents
R ´eseaux r ´ecurrents (4)
Real Time Recurrent Learning (RTRL) [Williams 1989]
La sortie du neuronej recoit :
tous lesx(t)de la couche pr ´ec ´edente pond ´er ´es parwje tous lesy(t−1)de sa couche pond ´er ´es par deswjj0
yj(t) =ϕ
E
X
e=0
wjexe(t) +
J
X
j0=0
wjj0yj0(t−1)
RTRL : apprentissage
Crit `ereJ = (yjd−yj)2 Calcul des ∂w∂J
sj
,
∂w∂Jje
et
∂w∂Jjj0 pour appliquer le gradientclassique deuxi `eme ordre possible
Complexit ´e importanteO(N4)
clement.chatelain@insa-rouen.fr R ´eseaux de Neurones 21 janvier 2016 47 / 60
Autres architectures R ´eseaux r ´ecurrents
BLSTM
Bidirectionnal Long Short Term Memory
A. Graves and J. Schmidhuber. Offline handwriting recognition with multidimensional recurrent neural networks. NIPS, 2009
Mod ´elisation des d ´ependences `a court/long terme Neurone formel complexe, avec un m ´ecanisme de gate Apprentissage par BPTT
Ex. de Perf HWR : 83%→91%WER
Autres architectures R ´eseaux r ´ecurrents
BLSTM (2)
Utilisation en g ´en ´eration
D ´emohttp://www.cs.toronto.edu/˜graves/handwriting.html
clement.chatelain@insa-rouen.fr R ´eseaux de Neurones 21 janvier 2016 49 / 60
Autres architectures R ´eseaux convolutionnels
Plan
1 Introduction
2 Principes g ´en ´eraux Neurone formel Topologies
3 Apprentissage(s) Posons le probl `eme
R ´eseau lin ´eaire `a une couche R ´eseau non lin ´eaire `a une couche R ´eseaux multicouches
4 Autres architectures Architectures profondes R ´eseaux r ´ecurrents R ´eseaux convolutionnels L ´egos
5 R ´eseaux de neurones dans la pratique Param ´etrisation
Mise en œuvre
Autres architectures R ´eseaux convolutionnels
Convolutionnal neural network (1)
R ´eseaux de neurones convolutionnels
Destin ´e `a traiter les images
M ´ecanisme de poids partag ´es→moins de param `etres, meilleure g ´en ´eralisation
Apprentissage de filtres par backprop classique
clement.chatelain@insa-rouen.fr R ´eseaux de Neurones 21 janvier 2016 51 / 60
Autres architectures R ´eseaux convolutionnels
Convolutionnal neural network (2)
Autres architectures L ´egos
Plan
1 Introduction
2 Principes g ´en ´eraux Neurone formel Topologies
3 Apprentissage(s) Posons le probl `eme
R ´eseau lin ´eaire `a une couche R ´eseau non lin ´eaire `a une couche R ´eseaux multicouches
4 Autres architectures Architectures profondes R ´eseaux r ´ecurrents R ´eseaux convolutionnels L ´egos
5 R ´eseaux de neurones dans la pratique Param ´etrisation
Mise en œuvre
clement.chatelain@insa-rouen.fr R ´eseaux de Neurones 21 janvier 2016 53 / 60
Bibliographie
Combinaison d’architectures
R ´eseaux de neurones dans la pratique
Plan
1 Introduction
2 Principes g ´en ´eraux
3 Apprentissage(s)
4 Autres architectures
5 R ´eseaux de neurones dans la pratique Param ´etrisation
Mise en œuvre
clement.chatelain@insa-rouen.fr R ´eseaux de Neurones 21 janvier 2016 55 / 60
R ´eseaux de neurones dans la pratique
Avantages et Inconv ´enients
Avantages
Un RdN approxime des probabilit ´es `a posteriorip(Ci/x) Tr `es rapide en d ´ecision
Supporte tr `es bien les grandes dimensions (E>qq centaines) Performances : architectures profondes `a l’ ´etat de l’art sur plusieurs probl `emes
Inconv ´enients
Param ´etrisation
Apprentissage long et parfois difficile `a contr ˆoler (minimum locaux) N ´ecessite bcp de donn ´ees
R ´eseaux de neurones dans la pratique Param ´etrisation
Param ´etrisation/choix du r ´eseau
Nombre de couches
Avec des caract ´eristiques : MLP avec 1 ou 2 couches
Sinon : Architecture profonde : Pas de caract ´eristiques `a extraire,, mais plus d’hyperparam `etres/
Si besoin de rejet de distance : Radial Basis Function : neurones = gaussiennes
Si s ´equence : r ´eseau r ´ecurrent ou MLP coupl ´e `a classifieur dynamique
Nombre de neurones couches cach ´ees
Classique : moyenne g ´eom ´etrique ou arithm ´etique de (E,S) Avec des deep : + difficile, premi `ere couche + grande queE
Fonction d’activation ϕ
fonction non lin ´eaire,tanh, sigmo¨ıde, c¸a ne change pas grand chose ...
clement.chatelain@insa-rouen.fr R ´eseaux de Neurones 21 janvier 2016 57 / 60
R ´eseaux de neurones dans la pratique Param ´etrisation
Param ´etrisation/choix du r ´eseau
R ´eglage du pas (voir cours Gradient)
pas fixe : petit ( 10−2, 10−3, 10−4, ...) pas adaptatif : diminue avec les it ´erations
line search : calcul du pas ”id ´eal” `a chaque it ´eration
M ´ethode du deuxi `eme ordre (gradient conjugu ´e), + de calculs
Les donn ´ees
Centr ´ees r ´eduites : c’est mieux
Taille de la base d’app : au moinsE2 ´el ´ements par classe Attention aux bases non balanc ´ees. Solutions :
I Compenser les proba a posteriorip(Ci/x)par 1/p(Ci)avecp(Ci) probabilit ´e `a priori de la la classeCi:Marche pas
I Echantillonner les donn ´ees des classes sur-repr ´esent ´ees´
I Dupliquer les ´echantillons sous-repr ´esent ´e
I Pendant l’apprentissage, pond ´erer les erreurs des exemples par 1/p(Ci)
R ´eseaux de neurones dans la pratique Mise en œuvre
Mise en œuvre
∃ de nombreuses librairies :
Torch3 (C++) / Torch5 (lua) (NEC)http://www.torch.ch/, http://torch5.sourceforge.net/
pybrain (python, TUM Munich)http://pybrain.org/
Theano (python, Montreal)
http://deeplearning.net/software/theano/
Caffe (Berkeley)http://caffe.berkeleyvision.org/
TensorFlow (Google)https://www.tensorflow.org/versions/
master/get_started/index.html
Exercice :
Coder en matlab/octave un MLP `a 1 couche cach ´ee, sans librairie Tester les hyperparam `etres :η; nb d’it ´eration, nb de neurones dans la couche cach ´ee, etc.
Base ? MNIST
clement.chatelain@insa-rouen.fr R ´eseaux de Neurones 21 janvier 2016 59 / 60
R ´eseaux de neurones dans la pratique Mise en œuvre
Bibliographie
F. Rosenblatt. Principles of Neurodynamics. New York : Spartan, 1962.
C.M. Bishop. Neural networks for pattern recognition, Oxford : Oxford University Press, 1995.
D.E. Rumelhart, G.E. Hinton and R.J. Williams. Learning internal representations by error propagation. Parallel Distributed Processing Explorations in the Microstructure of Cognition. MIT Press, Bradford Books, vol. 1, pp. 318-362, 1986.
J. Lerouge, R. Herault, C. Chatelain, F. Jardin, and R. Modzelewski,
”Ioda : an input output deep architecture for image labeling”, Pattern recognition, vol. 48, iss. 9, p. 2847-2858, 2015.
Soufiane Belharbi, Cl ´ement Chatelain, Romain H ´erault, S ´ebastien Adam : Input/Output Deep Architecture for Structured Output Problems.
CoRR abs/1504.07550 (2015)