Quelques Types de RØseaux de Neurones La · PDF fileles poids du neurone gagnant sont...

52
as Architecture des Systèmes d’Information Quelques Types de Réseaux de Neurones La Rétropropagation Philippe Leray [email protected] INSA Rouen -Département ASI - Laboratoire PSI Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.1/52

Transcript of Quelques Types de RØseaux de Neurones La · PDF fileles poids du neurone gagnant sont...

asArchitecture des Systèmes d’Information

Quelques Types de Réseaux de Neurones

La Rétropropagation

Philippe Leray

[email protected]

INSA Rouen -Département ASI - Laboratoire PSI

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.1/52

asArchitecture des Systèmes d’Information

Histoire ...

1940 : La machine de Turing1943 : Le neurone formel (McCulloch & Pitts)1948 : Les réseaux d’automates (Von Neuman)1949 : Première règle d’apprentissage (Hebb)

1958-62 : Le Perceptron (Rosenblatt)1960 : L’Adaline (Widrow & Hoff)1969 : Perceptrons (Minsky & Papert)

limites du Perceptronbesoin d’architectures plus complexes,mais comment effectuer leur apprentissage ?

1974 : Rétropropagation (Werbos)pas de succès ! ? ! ?

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.2/52

asArchitecture des Systèmes d’Information

Histoire ... (suite)

1986 : Rétropropagation (Rumelhart & McClelland)nouvelles architectures de réseaux de neuronesapplications

reconnaissance de l’écriturereconnaissance et synthèse de la parolevision (traitement d’images)

1990 : Société de l’Informationnouvelles applications

recherche et filtrage d’information sur le Webextraction d’information, veille technologiquemultimedia (indexation, ...)data-mining

besoin de combiner plusieurs modèles

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.3/52

asArchitecture des Systèmes d’Information

Plan

Qu’est-ce qu’un neuroneQu’est-ce qu’un réseau de neurones

Les types d’architecturesLes types d’apprentissage

Quelques réseaux de neurones usuelsMultiLayer Perceptron (MLP)Perceptron MultiCouches (PMC)Radial Basis Function Network (RBF)Réseau à fonctions de base radiale (RBR)Self-Organizing Maps (SOM)Cartes de Kohonen

Un algorithme d’apprentissage : la rétropropagation

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.4/52

asArchitecture des Systèmes d’Information

Un neurone

Modélisation simplifiée d’un neurone biologique(Mc Culloch & Pitts)

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.5/52

asArchitecture des Systèmes d’Information

Un réseau de neurones

Principe :graphe orienté : interconnexion d’élements simples(les neurones)échange d’information via les connexionscalcul distribué et coopératif

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.6/52

asArchitecture des Systèmes d’Information

Un réseau de neurones (suite)

Caractéristiques :architecture

type d’interconnexionchoix des fonctions de transferts

mode d’apprentissagecomment estimer (=apprendre) les poids

Utilisation :système de décisionapproximation de fonctionsrésolution de problèmesmémorisation et compression

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.7/52

asArchitecture des Systèmes d’Information

Un réseau de neurones (suite)

Outil de représentation des connaissances :représentation distribuée : chaque neurone "participe"

Avantages :Tolérance par rapport aux fautes (élimination d’unneurone...)Apprentissage automatique des poidsCapacité de généralisation

Inconvénients :Représentation complexeParamètres difficiles à interpréter physiquement (boitenoire)

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.8/52

asArchitecture des Systèmes d’Information

Différentes architectures

Besoin de structurer les interconnexions entre neuronesmatrice de connectivité

Types d’architectures courantesréseaux feedforwardréseaux récurrentscartes topologiques

Besoin d’apprendre les poids des connexions

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.9/52

asArchitecture des Systèmes d’Information

Réseaux feedforward

Organisation des neurones en couches successives

Le calcul de y se fait en propageant les calculs de lagauche vers la droite(avec éventuellement des connexions directes linéaires : y = a ∗ x + FW (x))

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.10/52

asArchitecture des Systèmes d’Information

Réseaux récurrents

Présence d’au moins une boucle de rétroactionau niveau des neurones ou entre les couchesex : x(t − 1)

#+ Whi

YYY

,,YYYYYY

&&LLLLLLLLLLLLLL

��@@@

@@@@

@@@@

@@@@

@@@

...��

Woh

CCC

!!CCCx(t − p)

22eeeeeeeeeee

,,YYYYYYYYYYY

&&LLLLLLLLLLLLLL ∫ // / // x̃(t)

bj

x̃(t − q)

22eeeeeeeeeeee

,,YYYYYYYYYYYY

88rrrrrrrrrrrrrr

...HP ∫

=={{{{{{{

x̃(t − 1)

3;

88rrrrrrrrrrrrrr22eeeeeeeeeee

??~~~~~~~~~~~~~~~~~~

Prise en compte de l’aspect temporel du phénomène,"mémoire"Modèles plus durs à mettre en œuvre (convergence)

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.11/52

asArchitecture des Systèmes d’Information

Réseaux récurrents

NARX (prévision)

NARMAX (identification)

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.12/52

asArchitecture des Systèmes d’Information

Différents types d’apprentissage

Apprentissage superviséon fournit une série d’exemples x et de résultats yl’algo doit trouver W tel que y = FW (x) (avec unebonne généralisation)ex : méthodes de gradient stochastique endiscrimination linéaire

Apprentissage semi-supervisé (renforcement)on fournit des exemples et des indications sur lerésultat (vrai/faux)

Apprentissage non superviséon fournit seulement des exemples x à l’algoritmheil doit trouver W tel que les x soient correctementgroupés selon FW (avec une bonne généralisation)

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.13/52

asArchitecture des Systèmes d’Information

Réseaux de neurones usuels

Réseaux feedforward + apprentissage superviséMultiLayer Perceptron (MLP)Perceptron MultiCouches (PMC)Radial Basis Function Network (RBF)Réseau à fonctions de base radiale (RBR)Support Vector Machines (SVM)

Réseaux récurrents + apprentissage superviséTime Delay Neural Networks (TDNN)Réseaux de Jordan, Elman, NARMAX, ...=⇒ cf. Annexe Web Séries Temporelles

Carte topologique + apprentissage non superviséSelf-Organizing Maps (SOM)Cartes de Kohonen

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.14/52

asArchitecture des Systèmes d’Information

Perceptron Multi-couches

Réseau feedforward (1986)

fonction de transfert = tanh (sauf sortie linéaire)méthode d’apprentissage supervisée classique :rétropropagation du gradient (cf. détail en fin de cours)

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.15/52

asArchitecture des Systèmes d’Information

Perceptron Multi-couches

Approximation de fonctionsCybenko 1989 :

Pour toute fonction saturante continue f ,alors l’espace des fonctions de la formeg(x) =

∑Nj=1 νjf(wt

jx) est dense dans C(In)

i.e. quelque soit h ∈ C(In) et ε > 0, il existe g telque | g(x)− h(x) |< ε sur In

ClassificationHornik et al. 1989 :

Pour toute fonction saturante continue f ,pour toute mesure de probabilité m sur Rn,alors l’espace des fonctions de la formeg(x) =

∑Nj=1 νjf(wt

jx) est uniformément dense surles compacts de C(Rn)

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.16/52

asArchitecture des Systèmes d’Information

Perceptron Multi-couches

Exemple en classification (Bennani & Gallinari 1991)identification du locuteur parmi les 102 personnesenregistrées

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.17/52

asArchitecture des Systèmes d’Information

Perceptron Multi-couches

Système modulaire pour l’OCR : LeNet (LeCun 1989)convolution et ré-échantillonage

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.18/52

asArchitecture des Systèmes d’Information

Perceptron Multi-couches

Système modulaire pour l’OCR : LeNet5 (LeCun 1995)

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.19/52

asArchitecture des Systèmes d’Information

Perceptron Multi-couches

Exemple en mémorisation/compression : réseau diaboloPMC qui reconstruit au mieux les images données en entréesortie de la couche cachée = représentation compacte de l’imagepoids = algo de compression/décompression

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.20/52

asArchitecture des Systèmes d’Information

Réseau à fonction de base radiale

Réseau feedforward à une couche cachée(Broomhead & Lowe 1988, Moody & Darken 1989)

fonction de transfert = gaussienneg(x,w) = exp(−‖x−w‖2

2σ2 )

(ou toute autre fonction noyau)version parcimonieuse de la régression spline

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.21/52

asArchitecture des Systèmes d’Information

Réseau à fonction de base radiale

Méthode d’apprentissage classique :Nb et paramètres des gaussiennes (non supervisé)=clustering (regrouper les points en classe, UV DM)

Nb de gaussiennes = nb de clusters trouvésParamètres de chaque gaussienne = (µ, σ) dechaque cluster

LVQ, K-Means, EM, ...

Couche de sortie (supervisé)Paramètres de la combinaison linéaire : moindrecarrés

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.22/52

asArchitecture des Systèmes d’Information

Réseau à fonction de base radiale

Propriétés d’approximationPark & Sandberg 1991 :

pour toute fonction d’entrée/sortie f ,il existe un RBR avec– un ensemble de centre {wi},– une largeur commune σ > 0

tel que la fonction réalisée par le RBR est prochede f(x) pour la norme Lp (p > 0)

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.23/52

asArchitecture des Systèmes d’Information

Apprentissage non supervisé

Inspiration biologiqueauto-organisation de certaines parties du systèmenerveuxil n’y a pas "d’enseignant"

Applicationsclustering

aucune connaissance sur les classes des points(classes inconnues ou trop compliquées à obtenir)

réduction d’informationsregroupement de points ressemblants en unvecteur représentatif.

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.24/52

asArchitecture des Systèmes d’Information

Cartes Auto-organisatrices

Inspiration biologique :

les neurones du cerveau (cortex) sont organisés enrégions correspondants à des fonctions sensoriellesdifférentes

des stimuli proches vont activer des neurones ducortex qui sont eux aussi proches

⇒ Notion de topologie et de carte du cortex

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.25/52

asArchitecture des Systèmes d’Information

Cartes Auto-organisatrices

Principe (Kohonen, 1990)

trouver une projectionentre :

l’espace des données(grande dimension)l’espace des représen-tations(dimension réduite)

la projection doit conser-ver la topologie des don-nées

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.26/52

asArchitecture des Systèmes d’Information

Cartes Auto-organisatrices

Apprentissage compétitif :principe = encourager le neurone "vainqueur"les poids du neurone gagnant sont rapprochés duvecteur d’entrée

exemple pour les cartes topologiques :

présentation de l’exemple xk

choix du neurone gagnant i∗ tel que ‖ xk − Wi∗ ‖= min ‖ xk − Wi ‖

choix de Ni∗ voisinage de i∗ (topologie)

modification des poids : ∆Wi(k + 1) =

ε(k)(xk − Wi(k)) si i ∈ Ni∗

0 sinon

on fait décroître ε(k) et la taille de Ni(k) pendant l’apprentissage

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.27/52

asArchitecture des Systèmes d’Information

Cartes Auto-organisatrices

Avantages :l’espace de sortie est un espace de représentations⇒ on peut visualiser les sorties de la carteon peut représenter des données de grandedimensionACP non-linéaire

Inconvénients :temps de convergencepas de preuve de convergence en multidimensionnelpas d’unicité de la représentation

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.28/52

asArchitecture des Systèmes d’Information

Cartes Auto-organisatrices

Exemple : Websom

représentation de documents issus duWeb (http ://websom.hut.fi)

projection du contenu de 7 millions demsgs de 83 newsgroups sur une SOM

les textes ressemblants se regroupentdans des endroits proches de la carte

la couleur traduit le nb de textes proje-tés dans chaque zone

possibilité de recherche libre (projec-tion de la requête sur la carte)

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.29/52

asArchitecture des Systèmes d’Information

Retour sur la rétropropagation

Algorithme de gradient :-) ...Quelques rappels :

moindres carrés stochastiquesalgorithmes de gradient

Utilisation dans le cadre des réseaux de type perceptronmulticouches :

principesbatch / séquentielméthodes du premier ordre, du second ordre

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.30/52

asArchitecture des Systèmes d’Information

Moindres carrés stochastiques

(Adaline, Widrow & Hoff 1960)

Fonction de décision : D(xi) = ψ(w′xi + b)

Fonction de coût :J(w, b) =

∑ni=1(Ψ(w′xi + b)− yi)

2 =∑n

i=1(Ψ(WXi)− yi)2

Pour trouver les meilleurs W , il faut minimiser J :

∆ =∂J(W )

∂W= 2

n∑

i=1

(Ψ(WXi)− yi)∂Ψ(WXi)

∂W

∆ = 2

n∑

i=1

(Ψ(WXi)− yi)Ψ′(WXi)Xi

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.31/52

asArchitecture des Systèmes d’Information

Moindres carrés stochastiques

Problème : Ψ n’est pas toujours dérivable⇒ l’Adaline simplifie Ψ(WX) 'WX

Utilisation d’un algorithme de gradient itératif :

W ←WinitRépéter

W ←W − ρ∆Tant qu’il reste des Xi mal classés

ou que J n’évolue plus

⇒ D’autres approximations possibles

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.32/52

asArchitecture des Systèmes d’Information

Méthodes de gradient

∆ = 2∑n

i=1(Ψ(WXi)− yi)Ψ′(WXi)Xi

AdalineApproximation linéaire∆ = 2

∑ni=1(WXi − yi)Xi

PerceptronΨ′ = 1∆ = 2

∑ni=1(Ψ(WXi)− yi)Xi

Neurone FormelΨ devient ϕ = tanh (sigmoïde)∆ = 2

∑ni=1(ϕ(WXi)− yi)ϕ

′(WXi)Xi

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.33/52

asArchitecture des Systèmes d’Information

Notations Perceptron Muticouches

Le biais de chaque couche devient une "entrée"supplémentaire de la coucheex : y

(1)j = f(

∑n0

i=1 wjixi + bj) = f(∑n0

i=0 wjixi) avec x0 = 1 et wj0 = bj

couche 1 : W1 = [wji]

couche 2 : W2 = [wkj ]

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.34/52

asArchitecture des Systèmes d’Information

Propagation

Calcul des sorties du réseau en propageant les valeursde x de couche en couche

a(1)j =

∑n0

i=0wjixi

x(1)j = f(a

(1)j )

a(2)k =

∑n1

j=0wkjx(1)j

yk = g(a(2)k )

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.35/52

asArchitecture des Systèmes d’Information

Propagation en Matlab

Version parallélisée traitant tous les exemples à la fois :-)

Function y = propag(x,w1,w2)

n = size(x,1) ; % nb d’exemples

a1 = [x ones(n,1)]*w1 ;x1 = tanh(a1);

a2 = [x1 ones(n,1)]*w2 ;y = a2;

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.36/52

asArchitecture des Systèmes d’Information

Calcul de l’erreur

On présente un exemple xξ = [xξ1 ... xξn0 ]

dont on connait la sortie "désirée" ydξ = [yd

ξ1 ... ydξn2

]

On calcule la sortie du PMC : yξ = [yξ1 ... yξn2 ]

Erreur pour cet exemple : eξ = ydξ − yξ = [eξ1 ... eξn2 ]

Coût local associé : Jξ = 12

∑n2

k=1 e2ξk

Coût global : J =∑N

ξ=1 Jξ

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.37/52

asArchitecture des Systèmes d’Information

Apprentissage des paramètres

Mise à jour de wji et wkj selon une règle delta :

∆w = −η ∂J∂w

Problème : calcul de ∂J∂wji

et ∂J∂wkj

Rétropropagation = calcul intelligent de ces dérivées...

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.38/52

asArchitecture des Systèmes d’Information

Couche de sortie

Calcul de ∂J∂wkj

pour un exemple fixé :

∂J∂wkj

= ∂J∂yk

× ∂yk

∂a(2)k

×∂a

(2)k

∂wkj

↙ ↙ ↙

J = 12

∑n2

k′=1(ydk′ − y′k)

2 yk = g(a(2)k ) a

(2)k =

∑n1

j=0 wkjx(1)j

↓ ↓ ↓

−(ydk − yk) g′(a

(2)k ) = 1 x

(1)j

posons Errk ≡∂J

∂a(2)k

= −(ydk − yk)g

′(a(2)k ) ∂J

∂wkj= Errk × x

(1)j

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.39/52

asArchitecture des Systèmes d’Information

Couche cachée

Calcul de ∂J∂wji

pour un exemple fixé :

∂J∂wji

= ∂J

∂x(1)j

×∂x

(1)j

∂a(1)j

×∂a

(1)j

∂wji

↙ ↙ ↙

∂J

∂x(1)j

=∑n2

k=0∂J

∂a(2)k

∂a(2)k

∂x(1)j

y(1)j = f(a

(1)j ) a

(1)j =

∑n0

i=0wjixi

↓ ↓ ↓∂J

∂x(1)j

=∑n2

k=0Errkwkj f ′(a(1)j ) xi

Errj ≡∂J

∂a(1)j

= (∑n2

k=0Errkwkj)f′(a

(1)j ) ∂J

∂wji= Errj × xi

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.40/52

asArchitecture des Systèmes d’Information

Propagation en Matlab

Function y = retropropag(x,yd,w1,w2)

...

a1 = [x ones(n,1)]*w1 ; x1 = tanh(a1);a2 = [x1 ones(n,1)]*w2 ; y = a2;

ERRk = -(yd-y);GradW2 = [x1 ones(n,1)]’ * ERRk ;

ERRj = (w2(1:n2-1,:)*ERRk’)’ .* (1-x1.*x1) ;GradW1 = [x ones(n,1)]’ * ERRj ;

w1 = w1 - pas1 .* GradW1 ;w2 = w2 - pas2 .* GradW2 ;

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.41/52

asArchitecture des Systèmes d’Information

Exemple

x = [0.5 1] ; yd = [0.5 1]W1 = [0.5 0.5 ; 0.5 0.5] (pas de biais pour simplifier)W2 = [1 1 ; 1 1]

a(1) = [0.75 0.75]

x(1) = [0.6351 0.6351]

a(2) = [1.2703 1.2703]

y = [1.2703 1.2703]

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.42/52

asArchitecture des Systèmes d’Information

Exemple

ERRk = [0.7703 0.2703]GradW2 = [0.4893 0.1717 ; 0.4893 0.1717]ERRj = [0.7703 0.2703]GradW1 = [0.3104 0.3104 ; 0.6208 0.6208]

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.43/52

asArchitecture des Systèmes d’Information

Exemple

Mise à jour de W1 et W2 :W1 = [0.3448 0.3448 ; 0.1896 0.1896]

W2 = [0.7554 0.9142 ; 0.7554 0.9142]

Nouvelle propagation : y = [0.5242 0.6344]

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.44/52

asArchitecture des Systèmes d’Information

Exemple

Evolution de y1 et y2 ...On converge bien vers le résultat yd = [0.5 1]

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.45/52

asArchitecture des Systèmes d’Information

Gradient Batch vs. Séquentiel

2 façons d’appliquer l’algorithme de rétropropagation

Batch : mise à jour des poids après la présentation detous les exemples

calculs et stockage plus lours si trop d’exemplesmoins de 5000 exemplesoutils : Matlab, ...

Séquentiel (on line, stochastique) : mise à jour despoids après chaque exemple

besoin de tirer l’exemple au hasardproblèmes de convergenceplus de 5000 exemplesoutils : SNNS, Programmes C, Java, ...

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.46/52

asArchitecture des Systèmes d’Information

Pas d’apprentissage

Problème de réglage :trop petit : convergence "lente" vers la solutiontrop grand : risque d’oscillations

Heuristiques courantes :diminuer le pas d’apprentissage au fur et à mesure

"à la main"en fonction de la forme de la surface d’erreur

approximations :Premier ordre :– Rétropropagation avec moment d’inertie– Delta-Bar-Delta, Rprop, ...Second ordre :– Quickprop– Levenberg Marquard

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.47/52

asArchitecture des Systèmes d’Information

Premier ordre

Moment d’inertie (Rumelhart et al. 1986)∆wji(t) = −ηErrj × xi + α∆wji(t− 1) (| α |< 1)

Delta-Bar-Delta (Jacobs 1988)calcul d’un gradient moyen :

δji(t) = (1− φ)Errjxi + φδji(t− 1)

modification du pas d’apprentissage selon la directiondu gradient par rapport au gradient moyen :

ηji(t+1) =

ηji(t) + u si Errjxiδji(t− 1) > 0 (on accélère)

ηji(t)× d si Errjxiδji(t− 1) < 0 (on freine)

ηji(t) sinon

∆wji(t) = −ηji(t)Errj × xi

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.48/52

asArchitecture des Systèmes d’Information

Premier ordre

Rprop (Riedmiller and Braun 1993)modification du pas d’apprentissage selon l’évolutionde la direction (signe) du gradientle pas d’apprentissage est bornéun poids n’est modifié que s’il "va dans le bon sens"

ηji(t+ 1) =

min(ηji(t)u, ηmax) si (Errjxi)(t)(Errjxi)(t− 1) > 0 (on accélère)

max(ηji(t)d, ηmin) si (Errjxi)(t)(Errjxi)(t− 1) < 0 (on freine)

ηji(t) sinon

∆wji(t+ 1) =

{−ηji(t)sgn(Errjxi) si "accélération" ou "surplace"

0 sinon

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.49/52

asArchitecture des Systèmes d’Information

Second ordre

Développement de Taylor de la fonction de coût :J(w + h) ≈ J(w) + ( ∂J

∂w)′h+ 1

2h′H(w)h

H : matrice hessienne du coût

H =

∂2J∂w2

1

∂2J∂w1∂w2

· · · ∂2J∂w1∂wn

∂2J∂w1∂w2

∂2J∂w2

2

...... . . . ...

∂2J∂w1∂w2

· · · · · · ∂2J∂w2

n

calcul du gradient : ∂J∂w

(w + h) ≈ ∂J∂w

(w) + h′H(w)

on cherche h tel que le gradient soit nul (min. du coût) :∆W = h = −H−1(w) ∂J

∂w(w)

Problème : calcul de H−1

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.50/52

asArchitecture des Systèmes d’Information

Second ordre

Approximation du hessien :hessien = matrice diagonale : ∆w(t) = − ∂J

∂w/ ∂2J

∂w2

Quickprop (Fahlman 1988) : on évite de calculer H :

∂2J

∂w2≈

∂J∂w

(t+ 1)− ∂J∂w

(t)

∆w(t)

∆w(t) = −∆w(t− 1)∂J∂w

(t)∂J∂w

(t)− ∂J∂w

(t−1)

Il existe d’autres méthodes qui calculent (partiellement)les informations du 2nd ordre (⇒ gradient conjugué)

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.51/52

asArchitecture des Systèmes d’Information

Références

Neural Networks : a comprehensive foundation, S. Haykin, Prenctice Hall.

Neural Networks : a systematic introduction, R. Rojas, Springer.

The Handbook of Brain Theory and Neural Networks, M.A. Arbib, MIT Press.

Self-Organizing Maps, T. Kohonen, Springer.

Réseaux Neuronaux et Traitement du Signal, J. Hérault & C. Jutten, Hermès.

Backpropagator’s Reviewplein de choses sur la rétropropagation : http ://www.dontveter.com/bpr/bpr.htmlun petit tutoriel : http ://www.dontveter.com/bpr/public2.html

Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.52/52