Apprentissage et reconnaissance { GIF-4101 / GIF-7005...

46
Perceptron multicouche Apprentissage et reconnaissance – GIF-4101 / GIF-7005 Professeur : Christian Gagn´ e Semaine 12 : 23 novembre 2016 GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagn´ e 1 / 46

Transcript of Apprentissage et reconnaissance { GIF-4101 / GIF-7005...

Page 1: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Perceptron multicouche

Apprentissage et reconnaissance – GIF-4101 / GIF-7005Professeur : Christian Gagne

Semaine 12 : 23 novembre 2016

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 1 / 46

Page 2: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Intelligence naturelle

Cerveau : siege de l’intelligence naturelleI Calculs paralleles et distribuesI Apprentissage et generalisationI Adaption et contexteI Tolerant aux fautesI Faible consommation d’energie

Machine computationnelle biologique !

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 2 / 46

Page 3: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Neurone biologique2.2. MODELE D’UN NEURONE 9

FIG. 2.2 – Schema d’un neurone biologique.

il engendre un potentiel electrique qui se propage a travers son axone1 pour eventuellement ve-nir exciter d’autres neurones. Le point de contact entre l’axone d’un neurone et le dendrite d’unautre neurone s’appelle le synapse. Il semble que c’est l’arrangement spatial des neurones et deleur axone, ainsi que la qualite des connexions synaptiques individuelles qui determine la fonc-tion2 precise d’un reseau de neurones biologique. C’est en se basant sur ces connaissances que lemodele mathematique decrit ci-dessus a ete defini.

Un poids d’un neurone artificiel represente donc l’efficacite d’une connexion synaptique. Unpoids negatif vient inhiber une entree, alors qu’un poids positif vient l’accentuer. Il importe deretenir que ceci est une grossiere approximation d’un veritable synapse qui resulte en fait d’un pro-cessus chimique tres complexe et dependant de nombreux facteurs exterieurs encore mal connus.Il faut bien comprendre que notre neurone artificiel est un modele pragmatique qui, comme nousle verrons plus loin, nous permettra d’accomplir des taches interessantes. La vraisemblance bio-logique de ce modele ne nous importe peu. Ce qui compte est le resultat que ce modele nouspermettra d’atteindre.

Un autre facteur limitatif dans le modele que nous nous sommes donnes concerne son caracterediscret. En effet, pour pouvoir simuler un reseau de neurones, nous allons rendre le temps discretdans nos equations. Autrement dit, nous allons supposer que tous les neurones sont synchrones,c’est-a-dire qu’a chaque temps t, ils vont simultanement calculer leur somme ponderee et produireune sortie a(t) = f(n(t)). Dans les reseaux biologiques, tous les neurones sont en fait asynchrones.

Revenons donc a notre modele tel que formule par l’equation 2.2 et ajoutons la fonction d’ac-

1Un axone peut etre plus ou moins long selon le type de neurone.2Notez bien, cependant, que des theories recentes remettent en cause cette hypothese. Mais ceci sort du cadre du

cours !

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 3 / 46

Page 4: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Modele de neurone artificiel

Xf

ya

w0

w1

w2

wR

1

. . .

R entréesy = f

RX

t=1

wixi + w0

!

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 4 / 46

Page 5: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Reseau de neurones

Chaque neurone est un discriminant lineaire avec une fonction detransfert f

y = f

(∑

i

wixi + w0

)= f(wT x + w0)

Exemples de fonctions de transfertI Fonction lineaire : flin(a) = aI Fonction sigmoıde : fsig (a) = 1

1+exp(−a)I Fonction seuil : fseuil (a) = 1 si a ≥ 0 et fseuil (a) = 0 autrement

Plusieurs neurones connectes ensembles forment un reseau deneurones

I Reseau a une couche : neurones connectes sur les entreesI Reseau a plusieurs couches : certains neurones sont connectes sur les

sorties d’autres neurones

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 5 / 46

Page 6: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Reseau de neurones (une couche)

Xf

1

...

Xf

1

Xf

1

...

R entrées K neurones

w1,0

w2,0

wK,0

w1,1

w1,3

w1,R

w2,1

w2,3

w2,R

w1,2

w2,2

wK,1wK,2

wK,3

wK,R

a1

a2

aK

y1

y2

yK

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 6 / 46

Page 7: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Perceptron multicouche

Reseau a une couche : ensemble de discriminants lineairesI Incapable de classer correctement des donnees non lineairement

separables

Reseau a plusieurs couches (perceptron multicouche)I Discriminants lineaires (neurones) cascades a la sortie d’autres

discriminants lineairesI Capable de classer des donnees non lineairement separablesI Ensemble de classifieurs simplesI Chaque couche fait une projection dans un nouvel espace

Lors du traitement de donnees, l’information se propage des entreesvers les sorties

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 7 / 46

Page 8: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Perceptron multicouche

Xf

1

...

Xf

1

Xf

1

...D entrées R1 neurones

Xf

Xf

1

Xf

1

...

Xf

Xf

1

Xf

1

...

1 1

R2 neurones K neurones

x1

x2

x3

xD

h1(x)

h2(x)

hK(x)

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 8 / 46

Page 9: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Probleme du XOR

Probleme du XOR

x1 = [0 0]T r1 = 0x2 = [0 1]T r2 = 1x3 = [1 0]T r3 = 1x4 = [1 1]T r4 = 0

Exemple de donnees nonlineairement separables

−0.5 0 0.5 1 1.5−0.5

0

0.5

1

1.5

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 9 / 46

Page 10: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Reseau pour le probleme du XOR

X

X

Xx1

x2

h(x)

2

2

-1

-1

-1

1,5

1

1-1,5

−0.5 0 0.5 1 1.5−0.5

0

0.5

1

1.5

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 10 / 46

Page 11: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Topologies de reseaux

Selon la topologie de reseau utilise, differentes frontieres de decisionssont possibles

I Reseau avec une couche cachee et une couche de sortie : frontieresconvexes

I Deux couches cachees ou plus : frontieres concavesF Le reseau de neurones est alors un approximateur universel

Nombre de poids (donc de neurones) determine directement lacomplexite du classifieur

I Determination de la bonne topologie est souvent ad hoc, par essais eterreurs

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 11 / 46

Page 12: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Formes de frontieres de decision

50 CHAPITRE 5. PERCEPTRON MULTICOUCHE

Entrée

p

-1

R

a1

Couche sigmoïde

a1 = logsig(W1p − b1)

W1

b1

+ n1

S1 x 1

S1 x RS1 x 1

S1 x 1

S1

R x 1a2

Couche linéaire

a2 = purelin(W2a1 − b2)

W2

b2

+ n2

S2 x 1

S2 x 1

S2 x 1

S2

S2 x S1

-1

FIG. 5.10 – Reseau multicouche permettant de faire de l’approximation de fonction.

(a) (b) (c) (d)

FIG. 5.11 – Exemples de frontieres de decision : (a) convexe ouverte ; (b) convexe fermee ; (c)concave ouverte ; et (d) concave fermee.

couche cachee. Intuitivement, un peu a la facon des series de Fourier qui utilisent des sinus et co-sinus, cette preuve passe par la demonstration que l’on peut approximer n’importe quelle fonctiond’interet par une combinaison lineaire de sigmoıdes.

5.3.3 Classification

Pour faire de la classification, on utilisera des reseaux soit a deux, soit a trois couches de neu-rones sigmoıdes. On peut montrer qu’une seule couche cachee suffit a engendrer des frontieres dedecision4 convexes, ouvertes ou fermees, de complexite arbitraire, alors que deux couches cacheespermettent de creer des frontieres de decision concaves5 ou convexes, ouvertes ou fermees, decomplexite arbitraire. La figure 5.11 montre en deux dimensions differents types de frontieres dedecision. Intuitivement, on veut voir que la premiere couche cachee d’un tel reseau sert a decouperl’espace d’entree a l’aide de frontieres de decision lineaires, comme on l’a vu pour le perceptronsimple, la deuxieme couche sert a assembler des frontieres de decision non- lineaires6 convexes en

4Notez bien qu’une frontiere de decision n’est pas necessairement une fonction !5Une courbe (surface) convexe ne comporte aucun changement dans le signe de la courbure, alors qu’une courbe

concave implique un point d’inflexion.6Les non- linearites proviennent des sigmoıdes !

Exemples de frontieres de decision : (a) convexe ouverte ; (b) convexefermee ; (c) concave ouverte ; et (d) concave fermee

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 12 / 46

Page 13: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Nombre de neurones sur la couche cachee

-10

1

-1

0

1

00.511.52

1 2 3 4 5

1

2

3

4

5

x1

x2

y1

y2

y1

y2

y3

input

2-2-1 2-3-1

1-1

-1

-1

patternsnot separated

patternsseparated

FIGURE 6.12. Seven patterns from a two-dimensional two-category nonlinearly sepa-rable classification problem are shown at the bottom. The figure at the top left shows thehidden unit representations of the patterns in a 2-2-1 sigmoidal network with bias fullytrained to the global error minimum; the linear boundary implemented by the hidden-to-output weights is marked as a gray dashed line. Note that the categories are almostlinearly separable in this y1y2-space, but one training point is misclassified. At the topright is the analogous hidden unit representation for a fully trained 2-3-1 network withbias. Because of the higher dimension of the hidden layer representation, the categoriesare now linearly separable; indeed the learned hidden-to-output weights implement aplane that separates the categories. From: Richard O. Duda, Peter E. Hart, and David G.Stork, Pattern Classification. Copyright c© 2001 by John Wiley & Sons, Inc.

Tire de R.O. Duda, P.E. Hart, D.G. Stork, Pattern Classification, Wiley Interscience, 2001.

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 13 / 46

Page 14: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Nombre de neurones sur la couche cachee

M = 1

0 1

−1

0

1 M = 3

0 1

−1

0

1 M = 10

0 1

−1

0

1

1-1-1 1-3-1 1-10-1Tire de C. M. Bishop, Pattern Recognition and Machine Learning, Springer, 2006.

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 14 / 46

Page 15: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Retropropagation des erreurs

Apprentissage avec le perceptron multicouche : determiner les poidsw,w0 de tous les neurones

Retropropagation des erreursI Apprentissage par descente du gradientI Couche de sortie : correction guidee par l’erreur entre les sorties

desirees et obtenuesI Couches cachees : correction selon les sensibilites (influence du neurone

sur l’erreur dans la couche de sortie)

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 15 / 46

Page 16: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Retropropagation des erreurs

Xf

1

Xf

1

...

Xf

1

...X

f

Xf

1

1

· · ·

· · ·

wj,R

atj

wj,0

ytj

wj,1�tj

�t1 = et

1yt1(1 � yt

1)

�tK = et

KytK(1 � yt

K)�tR

�t1

yt1

ytR

w1,j

wK,j

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 16 / 46

Page 17: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Valeurs de sortie des neurones

Valeur y tj du neurone j pour la donnee xt

y tj = f(at

j ) = f

(R∑

i=1

wj ,iyti + wj ,0

)

I f : fonction d’activation du neuroneI at

j =∑R

i=1 wj,iyti + wj,0 : sommation ponderee des entrees du neurone

I wj,i : poids du lien connectant le neurone j au neurone i de la coucheprecedente

I wj,0 : biais du neurone jI y t

i : sortie du neurone i de la couche precedente pour la donnee xt

I R : nombre de neurones sur la couche precedente

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 17 / 46

Page 18: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Erreur de la couche de sortie

Un ensemble de donnees X = {xt ,rt}Nt=1, avec rt = [r t

1 r t2 . . . r t

K ]T ,ou r t

j = 1 si xt ∈ Cj , autrement r tj = 0

Erreur observee pour donnee xt sur neurone j de la couche de sortie

etj = r t

j − y tj

Erreur quadratique observee pour donnee xt sur les K neurones de lacouche de sortie (un neurone par classe)

E t =1

2

K∑

j=1

(etj )2

Erreur quadratique moyenne observee pour les donnees du jeu X

E =1

N

N∑

t=1

E t

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 18 / 46

Page 19: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Correction de l’erreur pour la couche de sortie

Correction des poids par descente du gradient de l’erreur quadratiquemoyenne

∆wj ,i = −η ∂E

∂wj ,i= − η

N

N∑

t=1

∂E t

∂wj ,i

L’erreur du neurone j depend des neurones de la couche precedenteI Developpement en utilisant la regle du chaınage des derivees

( ∂f∂x = ∂f

∂y∂y∂x )

∂E t

∂wj,i=

∂E t

∂etj

∂etj

∂y tj

∂y tj

∂atj

∂atj

∂wj,i

∂E t

∂wj,0=

∂E t

∂etj

∂etj

∂y tj

∂y tj

∂atj

∂atj

∂wj,0

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 19 / 46

Page 20: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Calcul des derivees partielles

Developpement avec fonction d’activation sigmoıde (y tj = 1

1+exp(−atj )

)

∂E t

∂etj

=∂

∂etj

1

2

K∑l=1

(etl )2 = et

j

∂etj

∂y tj

=∂

∂y tj

r tj − y t

j = −1

∂y tj

∂atj

=∂

∂atj

1

1 + exp(−atj )

=exp(−at

j )

[1 + exp(−atj )]2

=1

1 + exp(−atj )

exp(−atj ) + 1− 1

1 + exp(−atj )

= y tj (1− y t

j )

∂atj

∂wj,i=

∂wj,i

R∑l=1

wj,l ytl + wj,0 = y t

i

∂atj

∂wj,0=

∂wj,0

R∑l=1

wj,l ytl + wj,0 = 1

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 20 / 46

Page 21: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Apprentissage pour la couche de sortie

Apprentissage des poids de la couche de sortie

∆wj ,i = − ηN

N∑

t=1

∂E t

∂wj ,i= − η

N

N∑

t=1

∂E t

∂etj

∂etj

∂y tj

∂y tj

∂atj

∂atj

∂wj ,i

N

N∑

t=1

etj y

tj (1− y t

j )y ti

Apprentissage des biais de la couche de sortie

∆wj ,0 = − ηN

N∑

t=1

∂E t

∂wj ,0= − η

N

N∑

t=1

∂E t

∂etj

∂etj

∂y tj

∂y tj

∂atj

∂atj

∂wj ,0

N

N∑

t=1

etj y

tj (1− y t

j )

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 21 / 46

Page 22: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Regle du delta

Poser un delta δtj , qui corresponds au gradient local du neurone j

pour la donnee xt

δtj = et

j ytj (1− y t

j )

∆wj ,i =η

N

N∑

t=1

δtj y

ti

∆wj ,0 =η

N

N∑

t=1

δtj

Formulation utile pour correction de l’erreur sur les couches cachees

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 22 / 46

Page 23: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Correction de l’erreur pour les couches cachees

Gradient de l’erreur pour les couches cachees

∂E t

∂wj ,i=∂E t

∂y tj

∂y tj

∂atj

∂atj

∂wj ,i

Seul ∂E t

∂y tj

change,∂y t

j

∂atj

et∂at

j

∂wj,isont les memes que sur la couche de

sortieI Erreur pour un neurone de la couche cachee depend de l’erreur des

neurones k de la couche suivante (retropropagation des erreurs)

E t =1

2

k

(etk )2

∂E t

∂y tj

=∂

∂y tj

1

2

k

(etk)2 =

k

etk

∂etk

∂y tj

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 23 / 46

Page 24: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Correction de l’erreur pour les couches cachees

∂E t

∂y tj

=∂

∂y tj

1

2

k

(etk)2 =

k

etk

∂etk

∂y tj

=∑

k

etk

∂etk

∂atk

∂atk

∂y tj

=∑

k

etk

∂(r tk − y t

k)

∂atk

∂ (∑

l wk,lytl + wk,0)

∂y tj

=∑

k

etk [−y t

k(1− y tk)]wk,j

δtk = et

k [y tk(1− y t

k)]

∂E t

∂y tj

= −∑

k

δtkwk,j

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 24 / 46

Page 25: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Correction de l’erreur pour les couches cachees

Correction de l’erreur correspondante

∂E t

∂wj ,i=

∂E t

∂y tj

∂y tj

∂atj

∂atj

∂wj ,i

= −[∑

k

δtkwk,j

]y t

j (1− y tj )y t

i

δtj = y t

j (1− y tj )∑

k

δtkwk,j

∆wj ,i = −η ∂E

∂wj ,i= − η

N

N∑

t=1

∂E t

∂wj ,i=η

N

N∑

t=1

δtj y

ti

∆wj ,0 = −η ∂E

∂wj ,0= − η

N

N∑

t=1

∂E t

∂wj ,0=η

N

N∑

t=1

δtj

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 25 / 46

Page 26: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Retropropagation des erreurs

Xf

1

Xf

1

...

Xf

1

...X

f

Xf

1

1

· · ·

· · ·

wj,R

atj

wj,0

ytj

wj,1�tj

�t1 = et

1yt1(1 � yt

1)

�tK = et

KytK(1 � yt

K)�tR

�t1

yt1

ytR

w1,j

wK,j

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 26 / 46

Page 27: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Apprentissage par lots et en ligne

Apprentissage par lotsI Guide par l’erreur quadratique moyenne (E = 1

N

∑t E

t)I Correction des poids une fois a chaque epoque, en calculant l’erreur

pour tout le jeu de donneesI Relative stabilite de l’apprentissage

Apprentissage en ligneI Correction des poids pour chaque presentation de donnees, donc N

corrections de poids par epoqueI Guide par l’erreur quadratique de chaque donnee (E t)I Requiert la permutation de l’ordre de traitement a chaque epoque pour

eviter les mauvaises sequencesI Apprentissage en ligne est plus rapide que par lots, mais avec risque de

plus grandes instabilites

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 27 / 46

Page 28: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Saturation des neurones

Plage operatoire des neurones avec fonction sigmoıde autour de 0I Pour valeurs de a faibles fsig (a)→ 0, et pour valeurs de a elevee,

fsig (a)→ 1

fsig (1) = 0,7311, fsig (5) = 0,9933, fsig (10) ≈ 1

Pour valeurs grandes/petites, disons x < −10 ou x > 10, gradientpratiquement nul

I Apprentissage extremement lent

Valeurs d’entrees, les xt , doivent etre normalisees au prealable dans[−1, 1]

I Typiquement, normalisation selon valeurs min et max du jeu dedonnees pour chaque dimension

I Appliquer la meme normalisation aux donnees evaluees (ne pasrecalculer la normalisation)

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 28 / 46

Page 29: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Valeurs desirees en sortie

En classement, valeurs desirees r ti ∈ {0, 1}

I Souffre egalement du probleme de saturation des neurones avecfonction sigmoıde

I On vise a approximer les r ti avec les neurones de la couche de sortie

fsig (a) = 0 ⇒ a→ −∞, fsig (a) = 1 ⇒ a→∞

Solution : transformer les valeurs desirees en valeurs r ti ∈ {0,05, 0,95}

I Si xt ∈ Ci alors r ti = 0,95

I Autrement r ti = 0,05

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 29 / 46

Page 30: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Initialisation des poids

Les poids et biais d’un perceptron multicouche sont initialisesaleatoirement

I Typiquement, on initialise les poids et biais uniformement dans[−0,5, 0,5]

wj,i ∼ U(−0,5, 0,5), ∀i ,j

Perceptron multicouche est donc un algorithme stochastiqueI D’une execution a l’autre, on n’obtient pas necessairement les memes

resultats

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 30 / 46

Page 31: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Algorithme de retropropagation

1 Normaliser donnees d’entraınement x ti ∈ [−1,1] et sortie desirees r t

j ∈ {0,05, 0,95}2 Initialiser les poids et biais aleatoirement, wi,j ∈ [−0,5, 0,5]

3 Tant que le critere d’arret n’est pas atteint, repeter :

1 Calculer les sorties observees en propageant les donnees vers l’avant2 Calculer les erreurs observees sur la couche de sortie

etj = r t

j − y tj , j = 1, . . . ,K , t = 1, . . . ,N

3 Ajuster les poids et biais en retropropageant l’erreur observee

wj,i = wj,i + ∆wj,i = wj,i +η

N

t

δtj y

ti

wj,0 = wj,0 + ∆wj,0 = wj,0 +η

N

t

δtj

ou le gradient local est defini par :

δtj =

{et

j ytj (1− y t

j ) si j ∈ couche de sortiey t

j (1− y tj )∑

k δtkwk,j si j ∈ couche cachee

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 31 / 46

Page 32: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Surapprentissage et critere d’arret

Nombre d’epoques : facteurdeterminant pour lesurapprentissage

Critere d’arret : lorsque l’erreursur l’ensemble de validationaugmente (generalisation)

Requiert utilisation d’une partiedes donnees de l’ensemble pourla validation

J/n

epochs

trainingtest

validation

1 2 3 4 5 6 7 8 9 10 11

FIGURE 6.6. A learning curve shows the criterion function as a function of the amountof training, typically indicated by the number of epochs or presentations of the full train-ing set. We plot the average error per pattern, that is, 1/n

∑np=1 Jp. The validation error

and the test or generalization error per pattern are virtually always higher than the train-ing error. In some protocols, training is stopped at the first minimum of the validationset. From: Richard O. Duda, Peter E. Hart, and David G. Stork, Pattern Classification.Copyright c© 2001 by John Wiley & Sons, Inc.

Tire de R.O. Duda, P.E. Hart, D.G. Stork,Pattern Classification, Wiley Interscience, 2001.

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 32 / 46

Page 33: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Momentum

Regle du delta generalisee

wj ,i (n) = wj ,i (n − 1) +η

N

t

δtj y

ti + α∆wj ,i (n − 1)

wj ,0(n) = wj ,0(n − 1) +η

N

t

δtj + α∆wj ,0(n − 1)

Facteur ∆wj ,i (n − 1) est la correction effectuee au poids/biais al’epoque precedente

Parametre α ∈ [0,5, 1] est nomme momentum

Donne une « inertie » a la descente du gradient, en incluant unecorrection provenant des iterations precedentes

Avec momentum, le facteur ∆wj ,i (n − 1) depend lui-meme de lacorrection de l’iteration precedente ∆wj ,i (n − 2), et ainsi de suite

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 33 / 46

Page 34: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Momentum

w1

J(w)

stoch

astic

w. momen

tum

FIGURE 6.18. The incorporation of momentum into stochastic gradient descent byEq. 37 (red arrows) reduces the variation in overall gradient directions and speeds learn-ing. From: Richard O. Duda, Peter E. Hart, and David G. Stork, Pattern Classification.Copyright c© 2001 by John Wiley & Sons, Inc.

Tire de R.O. Duda, P.E. Hart, D.G. Stork, Pattern Classification, Wiley Interscience, 2001.

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 34 / 46

Page 35: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Regression avec perceptron multicouche

Algorithme de retropropagation developpe ici pour fonction detransfert sigmoıde, pour le classement

I D’autres fonctions de transfert peuvent etre utiliseesF Fonction lineaire : flin(a) = aF Fonction tangente hyperbolique : ftanh(a) = tanh(a)F Fonction ReLU (rectified linear unit) : fReLU (a) = max(0,a)

I En fait, toutes fonctions continues derivables sur R peuvent etreutilisees

Perceptron multicouche approprie pour de la regressionI Topologie conseillee : une couche cachee avec fonction sigmoıde et une

couche de sortie avec fonction lineaireI Critere de l’erreur quadratique moyenne approprie pour la regression

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 35 / 46

Page 36: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Methode du deuxieme ordre

La descente du gradient est une methode du premier ordre (deriveespremieres)

Possibilite de faire mieux avec des methodes du deuxieme ordreMethode de Newton

I Basee sur l’expansion de la serie de Taylor du deuxieme ordre,x′ = x + ∆x un point dans le voisinage de x

F (x′) = F (x + ∆x) ≈ F (x) +∇F (x)T ∆x +1

2∆xT∇2F (x)∆x = F (x)

I Recherche un plateau dans l’erreur quadratique F (x)

∂F (x)

∂x= ∇F (x) +∇2F (x)∆x = 0

∆x = −(∇2F (x))−1∇F (x)

I Calcul de l’inverse de la matrice Hessienne ((∇2F (x))−1) couteux encalculs

I Methode du gradient conjugue evite le calcul de l’inverse de la matriceHessienne

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 36 / 46

Page 37: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Fonctions de base radiale

Fonctions de base radiale (RBF : Radial Basis Functions)

φi (x) = exp

[−‖x−mi‖2

2s2i

]

Consiste en une fonction gaussienne centree sur mi avec une influencelocale parametree par si

I A strictement parler, ce n’est pas une densite de probabilite de loimultinormale (

∫∞−∞ φi (x)dx 6= 1)

Idee : chaque fonction gaussienne capture un groupe de donnees dansun certain voisinage

Avec R fonctions gaussiennes, projection dans un espace a Rdimensions

φ = [φ1 . . . φR ]T : RD → RR

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 37 / 46

Page 38: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Discrimination avec fonctions gaussiennes

Discrimination avec R fonctions gaussiennes (K classes)

hj (x) =R∑

i=1

wj ,iφi (x) + wj ,0 =R∑

i=1

wj ,i exp

[−‖x−mi‖2

2s2i

]+ wj ,0

Parametres du discriminant a estimerI Positions mi des fonctions gaussiennesI Etalement si des fonctions

F Frequent de le partager entre les fonctions gaussiennes, si = s, ∀i

I Poids wj,i des fonctions gaussiennesF Poids wj,i lie la j-ieme classe a la i-ieme fonction gaussienneF Peut etre fixe a des constantes, wi = ±1, selon l’association entre

fonctions gaussiennes et classes

I Biais wj,0 des sortiesF Avec poids egaux, ex. wj,i = ±1, biais peut etre nul, wj,0 = 0

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 38 / 46

Page 39: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Reseau RBF et retropropagation

Reseau RBF peut etre vu comme un cas particulier d’un perceptronmulticouche

I Une couche cachee avec fonction gaussienneI Couche de sortie avec fonction lineaire

Developpement des equations pour mettre a jour les mi , wj , wj ,0 etmeme si avec descente du gradient est une instance de l’algorithmede retropropagation des erreurs

I Corrige d’abord les poids wj et wj,0 sur la couche de sortieI Corrige ensuite les positions des centres mi et etalements si

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 39 / 46

Page 40: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Reseau RBF comme reseau de neurones

...

...

D entrées R neurones gaussiennes

X

X

1

X

1

...1

K neurones linéaires en sortie

x1

x2

x3

xD

s1

s2

sR

m1

m2

mR

�1(x)

�2(x)

�R(x)

w1,0

w2,0

wK,0

w1,1

w1,2

w1,3

w2,1

w2,2

w2,3

wK,1

wK,2

wK,3

h1(x)

h2(x)

hK(x)

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 40 / 46

Page 41: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Apprentissage avec descente du gradient (wj et wj ,0)

Critere d’erreur quadratique

E(w,w0|X ) =1

N

N∑t=1

1

2

K∑j=1

(etj )2 =

1

2N

N∑t=1

K∑j=1

[r tj −

(R∑

i=1

wj,iφi (xt ) + wj,0

)]2

Derivee partielle pour wi et wi ,0

∂E

∂wj,i= −

1

N

N∑t=1

[r tj −

(R∑

i=1

wj,iφi (xt ) + wj,0

)]φi (xt ) = −

1

N

N∑t=1

etj φi (xt )

∂E

∂wi,0= −

1

N

N∑t=1

[r tj −

(R∑

i=1

wj,iφi (xt ) + wj,0

)]= −

1

N

N∑t=1

etj

Descente du gradient pour wj ,i = wj ,i + ∆wj ,i , i = 0, . . . ,K

∆wj ,i = −η ∂E

∂wj ,i=η

N

N∑

t=1

etj φi (xt), ∆wj ,0 = −η ∂E

∂wj ,0=η

N

N∑

t=1

etj

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 41 / 46

Page 42: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Apprentissage avec descente du gradient (mi)

Derivee partielle pour mi = [mi ,1 mi ,2 · · · mi ,D ]T

∂φi (xt)

∂mi ,k=

∂ exp[−‖xt−mi‖2

2s2i

]

∂mi ,k=

(x tk −mi ,k)

s2i

exp

[−‖x

t −mi‖2

2s2i

]

=(x t

k −mi ,k)

s2i

φi (xt)

∂E

∂mi ,k= − 1

N

N∑

t=1

K∑

j=1

wj ,i

[r tj −

(R∑

i=1

wj ,iφi (xt) + wj ,0

)]∂φi (xt)

∂mi ,k

= − 1

N

N∑

t=1

K∑

j=1

etj wj ,i

(x tk −mi ,k)

s2i

φi (xt)

Apprentissage : mi ,k = mi ,k + ∆mi ,k , i = 1, . . . ,R, k = 1, . . . ,D

∆mi ,k = −η ∂E

∂mi ,k=η

N

N∑

t=1

K∑

j=1

etj wj ,i

(x tk −mi ,k)

s2i

φi (xt)

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 42 / 46

Page 43: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Apprentissage avec descente du gradient (si)

Derivee partielle pour si

∂φi (xt)

∂si=

∂ exp[−‖xt−mi‖2

2s2i

]

∂si= 2‖xt −mi‖2

2s3i

exp

[−‖x

t −mi‖2

2s2i

]

=‖xt −mi‖2

s3i

φi (xt)

∂E

∂si= − 1

N

N∑

t=1

K∑

j=1

wj ,i

[r tj −

(R∑

i=1

wj ,iφi (xt) + wj ,0

)]∂φi (xt)

∂si

= − 1

N

N∑

t=1

K∑

j=1

etj wj ,i

‖xt −mi‖2

s3i

φi (xt)

Apprentissage : si = si + ∆si , i = 1, . . . ,R

∆si = −η∂E∂si

N

N∑

t=1

K∑

j=1

etj wj ,i

‖xt −mi‖2

s3i

φi (xt)

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 43 / 46

Page 44: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Apprentissage en bloc et hybride

Apprentissage en bloc de reseau RBFI Apprentissage en bloc de wj , wj,0, mi et si par descente du gradient

peut etre relativement lourd, computationnellement parlantI Convergence lente vers resultats satisfaisants

Apprentissage hybrideI Fixer si = s et apprendre les positions mi par clustering (ex. K -means)I Ensuite, apprendre wj et wj,0 par descente du gradient

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 44 / 46

Page 45: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Scikit-learn

Depuis version 0.18 (fin septembre 2016), MLP est disponible dansscikit-learn

I Plus necessaire d’utiliser scikit-neuralnetwork pour les devoirs !I Scikit-learn utilise certaines avancees des reseaux profonds (mais pas

toutes)I Pas d’acceleration GPU pour les calculs, rigidite des modeles utilisables

neural_network.MLPClassifier : perceptron multicouche pour leclassement

I Minimise entropie croisee pour du classement avec des methodesbasees sur le gradient

Eentr = −∑

t

r t log y t + (1− r t) log(1− y t)

neural_network.MLPRegressor : perceptron multicouche pour laregression

I Minimise l’erreur quadratique avec des methodes basees sur le gradient

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 45 / 46

Page 46: Apprentissage et reconnaissance { GIF-4101 / GIF-7005 ...vision.gel.ulaval.ca/~cgagne/enseignement/apprentissage/A2016/... · Intelligence naturelle Cerveau : si ege de l’intelligence

Parametres de MLPClassifier et MLPRegressor

hidden_layer_sizes (tuple) : nombre de neurones sur chaque couche cachee (defaut :(100,))

activation (string) : ‘identity’ (lineaire), ‘logistic’ (sigmoıde), ‘tanh’ et ‘relu’ (defaut :‘relu’)

solver (string) : ‘lbfgs’ (quasi-Newton), ‘sgd’ (descente du gradient stochastique),‘adam’ (sgd avec determination automatique du taux d’apprentissage) (defaut : ‘adam’)

alpha (float) : parametre de la regularisation L2 des poids (defaut : 0,0001)

batch_size (int) : taille des lots pour chaque mise a jour (defaut : min(200,N))

learning_rate_init (float) : taux d’apprentissage initial (defaut : 0,001)

learning_rate (string) : ‘constant’, ‘invscaling’ (learning rate init / pow(t, power t)),‘adaptive’ (taux actuel reduit lorsque apprentissage stagne) (defaut : ‘constant’)

max_iter (int) : nombre maximal d’epoques (defaut : 200)

tol (float) : tolerance, arret de l’apprentissage si gain < tolerance pour plus de deuxepoques (defaut : 10−4)

momentum (float) : momentum pour la descente du gradient (defaut : 0,9)

early_stopping (bool) : arret lorsque erreur sur ensemble de validation ne baisse plus(defaut : False)

validation_fraction (float) : portion des donnees utilisees pour la validation avec l’earlystopping (defaut : 0,1)

GIF-4101 / GIF-7005 (U. Laval) Perceptron multicouche C. Gagne 46 / 46