Vous êtes sur la page 1sur 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

Classication 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 articiels 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 difcult dapprentissage avec des connexions en boucle

Rseaux de neurones p.5

Perceptron linaire (1/4)


Sparateur linaire
biais : activation = 1

x=

x1 x2

w0 w1 w2

d i=1 wi xi

+ w0 )

Classication de x effectue en fonction de lhyperplan


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

Rseaux de neurones p.6

Perceptron linaire (2/4)


Algorithme dapprentissage I Classication 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
sj = i wji ai aj = (sj ) si , ai wji wkj sk , ak (x) = tanh(x)
+1 1

(x) =
+1

1 1+exp(x)

Perceptron multi-couches
biais : activation = 1

x=

x1 x2

y1 y2

=y

Rseaux de neurones p.10

Perceptron multi-couches (2/9)


Fonction implmente : f : Rd Rm Erreur quadratique, en posant op = f (xp )
E (w ) =
p=1

Ep (w)

avec

1 Ep (w) = op yp 2

1 = 2

(opq ypq )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 t ,
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)


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 )
kSucc(j )

k wkj

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 neurone 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 ) =
p=1

Ep +
i,j

2 , wij

>0

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 ) =
p=1

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

op = f (xp )

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 sufcient. 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 Classication 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