You are on page 1of 52

Quelques Types de Réseaux de Neurones

La Rétropropagation
Philippe Leray
Philippe.Leray@insa-rouen.fr

INSA Rouen -Département ASI - Laboratoire PSI

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.1/52
Histoire ...

1940 : La machine de Turing


1943 : 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 Perceptron
besoin d’architectures plus complexes,
mais comment effectuer leur apprentissage ?

1974 : Rétropropagation (Werbos)


pas de succès ! ? ! ?

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.2/52
Histoire ... (suite)

1986 : Rétropropagation (Rumelhart & McClelland)


nouvelles architectures de réseaux de neurones
applications
reconnaissance de l’écriture
reconnaissance et synthèse de la parole
vision (traitement d’images)

1990 : Société de l’Information


nouvelles applications
recherche et filtrage d’information sur le Web
extraction d’information, veille technologique
multimedia (indexation, ...)
data-mining
besoin de combiner plusieurs modèles

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.3/52
Plan

Qu’est-ce qu’un neurone


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

Les types d’architectures


Les types d’apprentissage

Quelques réseaux de neurones usuels


MultiLayer 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


as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.4/52
Un neurone

Modélisation simplifiée d’un neurone biologique


(Mc Culloch & Pitts)

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.5/52
Un réseau de neurones

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

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.6/52
Un réseau de neurones (suite)

Caractéristiques :
architecture
type d’interconnexion
choix des fonctions de transferts
mode d’apprentissage
comment estimer (=apprendre) les poids

Utilisation :
système de décision
approximation de fonctions
résolution de problèmes
mémorisation et compression

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.7/52
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’un
neurone...)
Apprentissage automatique des poids
Capacité de généralisation

Inconvénients :
Représentation complexe
Paramètres difficiles à interpréter physiquement (boite
noire)

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.8/52
Différentes architectures

Besoin de structurer les interconnexions entre neurones


matrice de connectivité

Types d’architectures courantes


réseaux feedforward
réseaux récurrents
cartes topologiques

Besoin d’apprendre les poids des connexions

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.9/52
Réseaux feedforward

Organisation des neurones en couches successives

Le calcul de y se fait en propageant les calculs de la


gauche vers la droite
(avec éventuellement des connexions directes linéaires : y = a ∗ x + F W (x))

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.10/52
Réseaux récurrents

Présence d’au moins une boucle de rétroaction


au niveau des neurones ou entre les couches
ex : x(t − 1) YYY
@@LLL Whi YYYY R
#+ ... @@ LLL YeY2,
 @e@eeeLLeeeerrr~?8
e CCC
e @ LLr ~~
x(t − p) YYY@@ rrr L WohCCC
LLL YrYr@Y@Y~Y~Y~LYLL& R
r LrLrL ~@~@ eeYe,28 /=! / / x
e(t)
rreeeee~L~eLeLee@@rrr {{
e(t − q) YY~Y~~ rrr
x LLrL@@ {{
{
HP ~ YrYrYYYY LL@ R
YY & {{
3; ... ~~r~rrr eeeeeeY2,
~r eeeee
x
e(t − 1)
bj

Prise en compte de l’aspect temporel du phénomène,


"mémoire"
Modèles plus durs à mettre en œuvre (convergence)
as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.11/52
Réseaux récurrents

NARX (prévision)

NARMAX (identification)

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.12/52
Différents types d’apprentissage

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

Apprentissage semi-supervisé (renforcement)


on fournit des exemples et des indications sur le
résultat (vrai/faux)

Apprentissage non supervisé


on fournit seulement des exemples x à l’algoritmhe
il doit trouver W tel que les x soient correctement
groupés selon FW (avec une bonne généralisation)
as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.13/52
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
as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.14/52
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)

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.15/52
Perceptron Multi-couches

Approximation de fonctions
Cybenko 1989 :
Pour toute fonction saturante continue f ,
alors l’espace des fonctions de la forme
PN
g(x) = j=1 νj f (wjt x) est dense dans C(I n )
i.e. quelque soit h ∈ C(I n ) et  > 0, il existe g tel
que | g(x) − h(x) |<  sur I n

Classification
Hornik et al. 1989 :
Pour toute fonction saturante continue f ,
pour toute mesure de probabilité m sur R n ,
alors l’espace des fonctions de la forme
PN
g(x) = j=1 νj f (wjt x) est uniformément dense sur
les compacts de C(Rn )
as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.16/52
Perceptron Multi-couches

Exemple en classification (Bennani & Gallinari 1991)


identification du locuteur parmi les 102 personnes
enregistrées

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.17/52
Perceptron Multi-couches

Système modulaire pour l’OCR : LeNet (LeCun 1989)


convolution et ré-échantillonage

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.18/52
Perceptron Multi-couches

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

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.19/52
Perceptron Multi-couches

Exemple en mémorisation/compression : réseau diabolo


PMC qui reconstruit au mieux les images données en entrée
sortie de la couche cachée = représentation compacte de l’image
poids = algo de compression/décompression

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.20/52
Réseau à fonction de base radiale

Réseau feedforward à une couche cachée


(Broomhead & Lowe 1988, Moody & Darken 1989)

fonction de transfert = gaussienne


−kx−wk2
g(x, w) = exp( 2σ2 )
(ou toute autre fonction noyau)
version parcimonieuse de la régression spline
as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.21/52
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és
Paramètres de chaque gaussienne = (µ, σ) de
chaque cluster

LVQ, K-Means, EM, ...

Couche de sortie (supervisé)


Paramètres de la combinaison linéaire : moindre
carrés

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.22/52
Réseau à fonction de base radiale

Propriétés d’approximation
Park & 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 proche


de f (x) pour la norme Lp (p > 0)

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.23/52
Apprentissage non supervisé

Inspiration biologique
auto-organisation de certaines parties du système
nerveux
il n’y a pas "d’enseignant"

Applications
clustering
aucune connaissance sur les classes des points
(classes inconnues ou trop compliquées à obtenir)
réduction d’informations
regroupement de points ressemblants en un
vecteur représentatif.

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.24/52
Cartes Auto-organisatrices

Inspiration biologique :

les neurones du cerveau (cortex) sont organisés en


régions correspondants à des fonctions sensorielles
différentes

des stimuli proches vont activer des neurones du


cortex qui sont eux aussi proches

⇒ Notion de topologie et de carte du cortex

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.25/52
Cartes Auto-organisatrices

Principe (Kohonen, 1990)

trouver une projection


entre :
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

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.26/52
Cartes Auto-organisatrices

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

exemple pour les cartes topologiques :

présentation de l’exemple xk

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

choix de Ni∗ voisinage de i∗ (topologie)



 (k)(xk − W (k)) si i ∈ Ni∗
i
modification des poids : ∆Wi (k + 1) =
 0 sinon

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

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.27/52
Cartes Auto-organisatrices

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

Inconvénients :
temps de convergence
pas de preuve de convergence en multidimensionnel
pas d’unicité de la représentation

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.28/52
Cartes Auto-organisatrices

Exemple : Websom

représentation de documents issus du


Web (http ://websom.hut.fi)

projection du contenu de 7 millions de


msgs de 83 newsgroups sur une SOM

les textes ressemblants se regroupent


dans 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)

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.29/52
Retour sur la rétropropagation

Algorithme de gradient :-) ...


Quelques rappels :
moindres carrés stochastiques
algorithmes de gradient

Utilisation dans le cadre des réseaux de type perceptron


multicouches :
principes
batch / séquentiel
méthodes du premier ordre, du second ordre

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.30/52
Moindres carrés stochastiques

(Adaline, Widrow & Hoff 1960)

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

Fonction de
Pncoût : 0 Pn
J(w, b) = i=1 (Ψ(w xi + b) − yi ) = i=1 (Ψ(W Xi ) − yi )2
2

Pour trouver les meilleurs W , il faut minimiser J :


X n
∂J(W ) ∂Ψ(W Xi )
∆= =2 (Ψ(W Xi ) − yi )
∂W i=1
∂W

n
X
∆=2 (Ψ(W Xi ) − yi )Ψ0 (W Xi )Xi
i=1

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.31/52
Moindres carrés stochastiques

Problème : Ψ n’est pas toujours dérivable


⇒ l’Adaline simplifie Ψ(W X) ' W X

Utilisation d’un algorithme de gradient itératif :

W ← Winit
Répéter
W ← W − ρ∆
Tant qu’il reste des Xi mal classés
ou que J n’évolue plus

⇒ D’autres approximations possibles

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.32/52
Méthodes de gradient
Pn 0
∆=2 i=1 (Ψ(W X i ) − y i )Ψ (W Xi )Xi

Adaline
Approximation linéaire
Pn
∆ = 2 i=1 (W Xi − yi )Xi

Perceptron
Ψ0 = 1 P
∆ = 2 ni=1 (Ψ(W Xi ) − yi )Xi

Neurone Formel
Ψ devient ϕ = tanh (sigmoïde)
Pn
∆ = 2 i=1 (ϕ(W Xi ) − yi )ϕ0 (W Xi )Xi

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.33/52
Notations Perceptron Muticouches

Le biais de chaque couche devient une "entrée"


supplémentaire de la couche
(1) P n0 P n0
ex : yj = f( i=1 wji xi + bj ) = f ( i=0 wji xi ) avec x0 = 1 et wj0 = bj

couche 1 : W1 = [wji ]

couche 2 : W2 = [wkj ]

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.34/52
Propagation

Calcul des sorties du réseau en propageant les valeurs


de x de couche en couche

(1) Pn0
aj = i=0 wji xi
(1) (1)
xj = f (aj )

(2) Pn1 (1)


ak = j=0 wkj xj
(2)
yk = g(ak )

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.35/52
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;

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.36/52
Calcul de l’erreur

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


dont on connait la sortie "désirée" ydξ = [yξ1
d d
... yξn 2
]

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

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


Pn2 2
Coût local associé : Jξ = 2 k=1 eξk
1

PN
Coût global : J = ξ=1 Jξ

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.37/52
Apprentissage des paramètres

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


∂J
∆w = −η ∂w

Problème : calcul de ∂J
∂wji
et ∂J
∂wkj

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

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.38/52
Couche de sortie

Calcul de ∂J
∂wkj
pour un exemple fixé :
(2)
∂ak
∂J
∂wkj
= ∂J
∂yk
× ∂yk
(2) × ∂wkj
∂ak
. . .
1
Pn2 d (2) (2) Pn1 (1)
J= 2
(y
k =1 k0
0 − yk0 )2 yk = g(ak ) ak = j=0 wkj xj
↓ ↓ ↓
(2) (1)
−(ykd − yk ) g 0 (ak ) = 1 xj

(2) (1)
posons Errk ≡ ∂J
(2) = −(ykd − yk )g 0 (ak ) ∂J
∂wkj
= Errk × xj
∂ak

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.39/52
Couche cachée

Calcul de ∂J
∂wji
pour un exemple fixé :
(1) (1)
∂xj ∂aj
∂J
∂wji
= ∂J
(1) × (1) × ∂wji
∂xj ∂aj
. . .
∂J
Pn2 ∂J ∂ak
(2)
(1) (1) (1) Pn0
(1) = k=0 ∂a(2) ∂x(1) yj = f (aj ) aj = i=0 wji xi
∂xj k j

↓ ↓ ↓
∂J
Pn2 (1)
(1) = k=0 Errk wkj f 0 (aj ) xi
∂xj

∂J
Pn2 0 (1) ∂J
Errj ≡ (1) =( k=0 Err k w kj )f (aj ) ∂wji
= Errj × xi
∂aj

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.40/52
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 ;

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.41/52
Exemple

x = [0.5 1] ; y d = [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]

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.42/52
Exemple

ERRk = [0.7703 0.2703]


GradW 2 = [0.4893 0.1717 ; 0.4893 0.1717]
ERRj = [0.7703 0.2703]
GradW 1 = [0.3104 0.3104 ; 0.6208 0.6208]

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.43/52
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]

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.44/52
Exemple

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

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.45/52
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 de


tous les exemples
calculs et stockage plus lours si trop d’exemples
moins de 5000 exemples
outils : Matlab, ...

Séquentiel (on line, stochastique) : mise à jour des


poids après chaque exemple
besoin de tirer l’exemple au hasard
problèmes de convergence
plus de 5000 exemples
outils : SNNS, Programmes C, Java, ...

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.46/52
Pas d’apprentissage

Problème de réglage :
trop petit : convergence "lente" vers la solution
trop 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
as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.47/52
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 − φ)Errj xi + φδji (t − 1)

modification du pas d’apprentissage selon la direction


du gradient par rapport au gradient moyen :

 ηji (t) + u si Errj xi δji (t − 1) > 0 (on accélère)
ηji (t+1) = ηji (t) × d si Errj xi δji (t − 1) < 0 (on freine)

ηji (t) sinon

as
Architecture des Systèmes d’Information
∆wji (t) = −ηji (t)Errj × xi
Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.48/52
Premier ordre

Rprop (Riedmiller and Braun 1993)


modification du pas d’apprentissage selon l’évolution
de la direction (signe) du gradient
le 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 (Errj xi )(t)(Errj xi )(t − 1) > 0 (on accélère)
max(ηji (t)d, ηmin ) si (Errj xi )(t)(Errj xi )(t − 1) < 0 (on freine)

ηji (t) sinon


−ηji (t)sgn(Errj xi ) si "accélération" ou "surplace"
∆wji (t + 1) =
0 sinon

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.49/52
Second ordre

Développement de Taylor de la fonction de coût :


∂J 0
J(w + h) ≈ J(w) + ( ∂w ) h + 12 h0 H(w)h

H : matrice hessienne
 du coût 
∂2J ∂2J ∂2J
∂w12 ∂w1 ∂w2
··· ∂w1 ∂wn
 .. 
 ∂2J ∂2J
. 
 ∂w1 ∂w2 ∂w22 
H= .. .. 
 ... 
 . . 
∂2J ∂2J
∂w1 ∂w2
··· ··· 2
∂wn

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

as
Architecture des Systèmes d’Information
Problème : calcul de H −1
Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.50/52
Second ordre

Approximation du hessien :
∂J ∂ 2 J
hessien = matrice diagonale : ∆w(t) = − ∂w / ∂w2
Quickprop (Fahlman 1988) : on évite de calculer H :
∂J ∂J
∂2J ∂w
(t + 1) − ∂w (t)
2

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

Il existe d’autres méthodes qui calculent (partiellement)


les informations du 2nd ordre (⇒ gradient conjugué)

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.51/52
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 Review
plein de choses sur la rétropropagation : http ://www.dontveter.com/bpr/bpr.html
un petit tutoriel : http ://www.dontveter.com/bpr/public2.html

as
Architecture des Systèmes d’Information Quelques Types de Réseaux de NeuronesLa Rétropropagation – p.52/52

You might also like