Sie sind auf Seite 1von 20

Rseaux de neurones

Liva Ralaivola
liva@lif.univ-mrs.fr

Laboratoire dInformatique Fondamentale de Marseille


UMR 6166 CNRS Universit de Provence
http://www.lif.univ-mrs.fr

Rseaux de neurones p.1

Contexte

Classification supervise (pattern recognition)


S = {(x1 , y1 ), . . . , (x` , y` )} ensemble dapprentissage
X = Rd , Y = {0, 1}m

0

0

1

xi de classe c yi = 0 1 en ceme position

.
.
.
0
Utilisation
temps dapprentissage long autoris
et/ou apprentissage en ligne requis
nombre de donnes assez grand
interprtabilit du modle non ncessaire
possible bruit sur les donnes
Rseaux de neurones p.2

Plan
Historique
Perceptron linaire
Perceptron multi-couches

Rseaux de neurones p.3

Historique (1/2)
Motivations biologiques
systmes apprenants composs de rseaux connects de
plusieurs units
capacits de mmoire/adaptabilit de ces systmes

Rseaux de neurones p.4

Historique (2/2)
Caractristiques rseau de neurones biologique
nombre de neurones dans le cerveau : 1011 neurones chacun
tant connect 104 autres neurones
temps de transmission de linformation entre deux neurones
du cerveau : 103
mais temps dactivation du rseau trs rapide : 101 secondes
pour la reconnaissance dun proche
connexions en boucles
Caractristiques rseau de neurones artificiels
nombre de neurones : de lordre de quelques centaines au
maximum avec quelques dizaines de connexions
temps de transmission de linformation entre deux neurones :
1010 secondes
difficult dapprentissage avec des connexions en boucle

Rseaux de neurones p.5

Perceptron linaire (1/4)


Sparateur linaire
biais : activation = 1

x=

x1

w0
w1

x2

w2

Pd

i=1 wi xi

+ w0 )

Classification de x effectue en fonction de lhyperplan

"
#
w0
1

= 0 o w = w1 et x
=
wx
x
w2

Rseaux de neurones p.6

Perceptron linaire (2/4)


Algorithme dapprentissage I
Classification binaire yi {1, +1}
Initialisation w = 0
Rpter jusqu convergence ou bien atteinte dun nombre
max ditrations
pour tous les exemples (xp , yp ) faire
p ) = yp
si (w x
ne rien faire
sinon
p
w w + yp x

Rseaux de neurones p.7

Perceptron linaire (3/4)


Algorithme dapprentissage II (descente de gradient)
Initialiser w alatoirement
Rpter jusqu convergence ou atteinte dun nombre max
ditrations
Initialiser wi 0
Pour tous les exemples (xp , yp )
p
calculer la sortie s = w x
pour chaque composante wi
wi wi + (yp s)xpi

pour chaque composante wi faire


wi wi + wi

Rseaux de neurones p.8

Perceptron linaire (4/4)


Proprits du perceptron linaire
convergence de lalgorithme du perceptron garantie si
sparabilit des exemples possible
sparation impossible du XOR

Extensions
perceptron multi-couches
kernel adatron [Friess et al., 1998]
voted perceptron [Freund and Schapire, 1999]

Rseaux de neurones p.9

Perceptron multi-couches
(1/9)
Neurone formel
P

sj = i wji ai
aj = (sj )
wkj

si , ai wji

(x) = tanh(x)
+1

sk , ak

(x) =

1
1+exp(x)

+1

Perceptron multi-couches
biais : activation = 1

x=

x1
x2

y1

=y

y2

Rseaux de neurones p.10

Perceptron multi-couches
(2/9)
Fonction implmente : f : Rd Rm
Erreur quadratique, en posant op = f (xp )
E(w) =

`
X
p=1

Ep (w)

avec

1
1X
2
(opq ypq )2
Ep (w) = kop yp k =
2
2 q=1

autres fonctions possibles (e.g. cross-entropy)


Descente de gradient
wt+1 = wt w E(w), > 0

Descente de gradient stochastique, la prsentation de


lexemple (xp , yp )
wt+1 = wt t w Ep (w), > 0

Rseaux de neurones p.11

Perceptron multi-couches
(3/9)
, t : pas dapprentissage, pas dapprentissage adaptatif
Proprits de t pour descente de gradient stochastique
X
t

t ,

t <

Exercices
Montrer que pour assez petit la descente de gradient permet
de diminuer chaque tape lerreur E
De quelle forme peut tre t ?

Rseaux de neurones p.12

Perceptron multi-couches
(4/9)
P
sj = i wji ai
aj = (sj )

Rtropropagation du gradient (j si, ai wji


wkj sk , ak
neurone cach, k neurone de sorj
i
k
tie), activation logistique
Ep
Ep sj
Ep
drivation en chane : w
=
=
sj wji
sj ai = j ai
ji
Montrer que pour k et tous les neurones de la couche de sortie
Ep
k =
= (ypk ak )ak (1 ak )
sk

Montrer que pour j et tous les neurones de la couche cache


j = aj (1 aj )

k wkj

kSucc(j)

Rseaux de neurones p.13

Perceptron multi-couches
(5/9)
Algo. apprentissage : 1 couche cache, (x) = (1 + ex )1
Rpter jusqu convergence
pour chaque exemple (xp , yp ) faire
propager linformation
pour chaque neurone de sortie k calculer
k ak (1 ak )(ypk ak )
pour chaque neuroneP
cach j calculer
j aj (1 aj ) kSucc(j) k wkj
t
par
calculer le pas wij
t
= j ai
wij
mettre jour les wji avec
t
wji wji + wij
passer litration suivante
tt+1

Rseaux de neurones p.14

Perceptron multi-couches
(6/9)
t
avec
Ajout dun moment : mise jour selon wji wji + wij
t1
wij ,
t wij j ai + ij

0<1

acclre la convergence de lalgorithme


na pas deffet sur la gnralisation
Couches caches
rtropropagation du gradient marche pour nimporte quel
nombre de couches caches
couche cache : changement de reprsentation (cf exercices)

Rseaux de neurones p.15

Perceptron mutli-couches
(7/9)
Exemple dautres fonctions derreurs
Erreur quadratique pnalise (weight decay)
E(w) =

`
X
p=1

Ep +

2
,
wij

>0

i,j

pnalise les rseaux avec des poids importants


exercice : r-crire lquation de mise jour de wij
correspondante
Entropy croise (cross-entropy), cas binaire yp {0, 1}, 1
neurone de sortie
E(w) =

`
X

(yp log(op ) + (1 yp ) log(1 op )) ,

op = f (xp )

p=1

Rseaux de neurones p.16

Perceptron multi-couches
(8/9)
Capacits de modlisation des perceptrons multi-couches
[Cybenko, 1988, Cybenko, 1989]
toute fonction continue borne peut tre approche avec une
erreur arbitrairement petite par un PMC une couche cache
toute fonction peut tre approche avec une erreur
arbitrairement petite par un PMC deux couches caches
Importance de la rgularisation [Bartlett, 1997]
contrle de la taille des poids pour la gnralisation

Rseaux de neurones p.17

Perceptron multi-couches
(9/9)
Notions non prsentes
partage de poids
slection automatique de la structure
par ajout de neurones
par suppression de connexions
gradient conjugu
gradient exponentiel
...
Rseaux rcurrents
Rseaux RBF

Rseaux de neurones p.18

Conclusion
Perceptron linaire
algorithmes dapprentissage
limitation du perceptron linaire
Perceptron multi-couches
neurone formel avec activation sigmoidale
calcul de gradient par rtropropagation
qualit de lapprentissage malgr les minima locaux
gradient stochastique
choix de larchitecture
rgularisation

Rseaux de neurones p.19

Rfrences
[Bartlett, 1997] Bartlett, P. L. (1997). For valid generalization the size of the weights
is more important than the size of the network. In Adv. in Neural Information Processing Systems, volume 9, page 134.
[Cybenko, 1988] Cybenko, G. (1988). Continuous valued neural networks with two
hidden layers are sufficient. Technical report, Department of Computer Science,
Tufts University, Medford, MA.
[Cybenko, 1989] Cybenko, G. (1989). Approximation by superpositions of a sigmoidal
function. Mathematics of Control, Signals, and Systems, 2 :303314.
[Freund and Schapire, 1999] Freund, Y. and Schapire, R. E. (1999). Large Margin
Classification Using the Perceptron Algorithm. Machine Learning, 37(3) :277296.
[Friess et al., 1998] Friess, T., Cristianini, N., and Campbell, N. (1998). The KernelAdatron Algorithm : a Fast and Simple Learning Procedure for Support Vector Machines. In Shavlik, J., editor, Machine Learning : Proc. of the 15th Int. Conf. Morgan
Kaufmann Publishers.

Rseaux de neurones p.20

Das könnte Ihnen auch gefallen