Académique Documents
Professionnel Documents
Culture Documents
X N(W,X) Y
06/11/2011
Comment choisir W de manière adéquate?
Approche intuitive :
Hypothèses :
- W* vecteur de poids optimales existe tel
que
Die =N(W*, Xie)
- N est inversible
06/11/2011
Problèmes :
existence de W* ni l’inversibilité
Ni l’existence inversibilité de
N( . ) (N est hautement non-linéaire et
totalement inconnue de l’expérimentateur)
ne sont assurées.
06/11/2011
Conséquence :
Nous somme contraints d’adapter W selon une
procédure itérative, et donc de minimiser une
fonction coût qui mesure l’erreur résiduelle du
modèle N(W, Xie).
06/11/2011
Quelle fonction de coût choisir ?
Nous savons uniquement que le minimum de
cette fonction doit correspondre à la meilleure
solution W*, tel que
06/11/2011
Identification de W* et caractérisation
de la fonction de coût
Approche : Estimateur du Maximum de
vraisemblance
C’est une méthode empirique : elle n’obéit
à aucun critère statistique.
Justification : Propriétés asymptotiques
∞
lorsque I tend vers l’infini [Delmas 92].
06/11/2011
Supposons que
- le couple {Die , Xie} soit sujet du
hasard,
- W* existe tel que N(W*, Xie) ait
capturé parfaitement la partie déterministe
de la relation entre X et d sur la trajectoire
i=1, 2, …, I.
06/11/2011
Le modèle peut donc être décrit par :
Die = N(W*, Xie) + εie
où {εεie} symbolise la partie imprévisible de la
relation qui lie X à d (bruit
bruit).
Faute d’information Hypothèse : Les
composants du vecteur bruit {εεie} sont supposés
blanc gaussiens : suite indépendante de variables
aléatoires gaussiennes centrées et identiquement
distribuées de variance σ2.
06/11/2011
Identification de W* et caractérisation de la
fonction de coût-
coût-Maximum de
vraisemblance
06/11/2011
Cette probabilité s’exprime comme le produit
des probabilités marginales:
P= c * ∏{
I
i =1
[
exp − 1
2σ 2
D − N (W , X )
i
e
i
e
2
]}
c est une constante.
I 2
06/11/2011
Nous sommes amenés à considérer la somme des
erreurs quadratiques sur l’ensemble d’apprentissage
constitué de P exemples:
I
E =∑εiT εi
i=1
06/11/2011
Apprentissage un problème
d’optimisation :
Déterminer le vecteur de poids W* qui
minimise le coût E, sous contrainte de la
topologie du réseau.
06/11/2011
Adapter itérativement W Algorithme de
descente du gradient stochastique.
Après chaque présentation de la base
d’apprentissage constituée des séquences
{Xie, Die}i=1, 2, …, P . Les poids sont adaptés suivant:
∂E
∇ W = −α
∂W
α >0 est le pas d’apprentissage: une constante
choisie convenablement.
06/11/2011
• Pourquoi l’apprentissage pour ce type des réseaux
est un problème difficile?
Le principe des méthodes d’adaptation de poids
synaptiques que l’on a vu jusqu’à maintenant est
basé sur un apprentissage supervisé : on connaît à
chaque fois la sortie désirée. Un « professeur » qui
connaît parfaitement la classification attendue guide
le réseau en lui rappelant à chaque étape le bon
résultat.
06/11/2011
• Si l’on introduit une couche supplémentaire de
neurones entre la couche d’entrée, et la couche
de sortie, comment évaluer l’impact de la
modification d’un poids de la première couche
sur la réponse finale?
Ou encore, que doit indiquer le « professeur »
comme sortie attendue au neurones de la
couche cachée?
06/11/2011
Le «Credit Assignment » problème
C’est un problème général à tous les systèmes à
apprentissage, qu’ils soient naturels ou
artificiels.
Exemple: Lorsqu’un joueur d’échecs perd une
partie, sauf dans le cas où il a commis une
erreur flagrante sur la fin, il lui est très difficile
de tirer les enseignements de cette défaite. En
particulier il lui serait impossible d’en tirer un
enseignement particulier pour chacun des coups
qu’il a joués au cours de la partie.
06/11/2011
Dans le cas des réseaux de neurones à
plusieurs couches de connexions
modifiables, ce problème s’exprime de la
façon suivante :
Comment répercuter sur chacune des
connexions le signal d’erreur qui n’a été
mesuré que sur la couche de sortie, après
avoir traversé plusieurs étapes non linéaires
cachées?
06/11/2011
Solution du «Credit Assignment » problème
Algorithme de rétro-
rétro-propagation du gradient
Minimiser l’erreur quadratique (une fonction des
poids synaptiques) commise sur l’ensemble des
exemples présentés, en utilisant un algorithme de
gradient. Dans ce cas, une fonction d’activation
dérivable (sigmoide ou tanh) permet de calculer la
dérivée de l’erreur quadratique par rapport à un
poids donnée afin de réaliser la descente de gradient.
06/11/2011
La rétro-propagation du gradient (generalized
delta rule)
06/11/2011
Notations
Un réseau à (L) couches:
• 1 couche d’entrée (passive) avec Ne entrées.
• (L-1) couches cachées, chacune comporte
N hl , (1 ≤ l ≤ L − 1) neurones.
• 1 couche de sortie avec (Ns ) neurones.
– Aucune retour de la couche de sortie vers n ’importe
quelle couche cachée n ’est autorisée.
– Aucune connexion entre les nœuds de même couche
n ’est autorisée.
06/11/2011
Notations
Poids de la connexion entre le neurone i
ω l
ij
ω =β l
0j
de la couche l-1 au neurone j de la
couche l .
s lj = ω
∑ ij i
l
y l −1
+ b l
j
i
Entrée du neurone j de la couche l
06/11/2011
ylj = logistic (slj) = 1
−slj
-1 (1 + e )
-
Yε
X - D
ε
-
ε
ε:erreur
Entrées Une ou plusieurs couches Couche de sortie :Sorties désirées
Ne entrées cachées : N hl neurones Ns neurones
06/11/2011
Soit l’erreur
erreur quadratique associée à la sortie i pour
l’exemple (e) présenté au réseau
Eie(W) = εieTεie = (die− yie)2, 1 ≤ e ≤ P et 1 ≤ i ≤ Ns
Attention : l’indice i représente ici le numéro du
neurone et non pas le numéro d’itération.
L’erreur
erreur totale pour l’exemple (e) est alors donné
par Ns
E e(W)= 1 ∑Eie(W)
2 i=1
06/11/2011
L’idée alors est de réaliser la descente du
erreur totale en fonction des
gradient sur l’erreur
poids. Pour effectuer cela, il faut prendre en
compte tous les poids (les nœuds cachés et
les nœuds de sortie).
06/11/2011
Les nœuds de sortie sont accessibles pour
l’apprentissage.
Par contre, les nœuds cachés appartient à des
couches intermédiaires qui sont inaccessibles
pour l’apprentissage (nous ne pouvons pas
prédire ou évaluer leurs sorties).
06/11/2011
Idée centrale de la rétro
rétro--propagation :
Les erreurs à la sortie des unités cachées sont
déterminées par une rétro-propagation des
erreurs en provenance des unités de la couche
de sortie.
Cette méthode est une généralisation de la
règle delta pour des fonctions d ’activation
non-linéaires et pour des réseaux à multi-
couches.
06/11/2011
La somme des erreurs quadratiques (erreur
erreur
globale) sur un ensemble d’apprentissage
globale
constitué de P couples (entrée-cible) est prise
en considération :
P
E (W ) = ∑ E (W )
g e
e =1
06/11/2011
Malgré, théoriquement, que l’algorithme
de rétro-propagation réalise une descente
du gradient sur l’erreur
erreur totale uniquement
si les poids sont ajustés après avoir
présenté l’ensemble complet des exemples
d’apprentissage, il est plus pratique que la
règle d’apprentissage soit appliquée à
chaque exemple Xe et après avoir calculé
Ee.
06/11/2011
Par la règle delta ∂E (W )
∇(W ) = −α ,
∂W
le calcul du gradient d’erreur par rapport à
ω ijl est calculé pour l’exemple (e).
Les contributions de tous les nœuds sur
l’erreur global sont calculées.
06/11/2011
La rétro-propagation n’est rien de plus qu’un
algorithme efficace pour déterminer cette
dérivée partielle [Rumelhart 86], [Le Cun 85].
06/11/2011
La rétro-
rétro-propagation du gradient (generalized delta rule)
• Algorithme de rétro-propagation : Pour tous les exemples d’apprentissage
e=1, 2, …,P faire à l = L, calculer
ε j (e) = d j (e) − y j (e),
δ jL (e) = ε j (e) f ' (s Lj )
∆ωijL (e) = -αδ jL yiL−1
Adapter ωijL (e) = ωijL (0) + ∆ωijL (e)
∂ε 'ε Pour L − 1,...,1 calculer
δ = l
l
j
∂s j désigne la contribution δ lj = f ' ( sil ) ∗ ∑ δ lj +1ω (e − 1) lij+1
individuelle du neurone j sur la j
06/11/2011
4. Rétro-
Rétro-propagation : l’erreur commise sur la sortie (somme
quadratique des erreurs sur chaque cellule de sortie) est
calculée. Cette erreur est ensuite rétro-propagée dans le
réseau, donnant lieu à une modification de chaque poids.
06/11/2011
Adaptation du poids en utilisant la fonction
d’activation Sigmoïde non symétrique appelée
fonction logistique (logistic
logistic function
function)
f
Si
f((ss) = 1 −s
1.0
(1+e ) 0.5
0,0 s
alors ∂f(s)
f (s) =
'
= f(s)(1− f(s)) = y(1− y)
∂s
06/11/2011
Implémentation pratique de l’algorithme d’apprentissage
Algorithme principal
Données initiales :
W1(0)=[Wij0 (0) Wijl (0) Wij2 (0)… WijNe (0)], entrés-couche caché
ωij1 (0) ωij2(0) ωij3 (0)… ωijNh (0)]T,
où Wijl(0)=[ω
W2(0)=[Wij0 (0) Wijl (0) Wij2 (0)… WijNh (0)], couche caché-sortie
ωij1 (0) ωij2(0) ωij3 (0)… ωijNs(0)]T,
où Wijl(0)=[ω
X=[X1, X2, …, XP];
où Xi=[-1 x1, x2, …, xNe]T,
E(min)=[εε1(min), ε2(min), …, εNs(min)],
D=[d1, d2, …, dNs], α, P, Ne, Ns, Nh1, Nh2 ,…, NhL-1
Répéter
Pour chaque exemple d’apprentissage
Algorithme de rétro-propagation
Adapter W1(e) et W2(e),
fin
jusqu’à ce que l(erreur est minimale selon un seuil donnée E ≤ E(min)
06/11/2011
Remarques importante
1. Ordre de présentation des exemples
d’apprentissage
Comme nous l’avons mentionné précédemment,
malgré, théoriquement, que l’algorithme de rétro-
propagation réalise une descente du gradient sur
l’erreur globale uniquement si les poids sont
ajustés après avoir présenté l’ensemble complet
des exemples d’apprentissage, il est plus pratique
que la règle d’apprentissage soit appliquée à
chaque exemple Xe et après avoir calculé Ee.
06/11/2011
Il est prouvé empiriquement que cette technique
produit une convergence plus rapide. Cependant,
ordre dans lequel les
un soin particulier à l’ordre
exemples d’apprentissage sont introduits doit
être apporté.
06/11/2011
Par exemple, quand la même séquence sont
utilisées à toutes les itérations, le réseau peut
converger vers des valeurs de poids synaptiques
qui favorisent quelques exemples qui sont les
premiers dans la séquence. Ce problème peut
être résolue en utilisant une méthode de
permutation de l’apprentissage.
l’apprentissage
06/11/2011
2. Que veut dire une erreur acceptable?
acceptable
Une définition possible pour l’apprentissage des
ensembles booléens pourrait être d’assurer que
tous les nœuds de la sortie ont des réponses dans
l’un des deux ensembles {0; 0.5}, {0.5; 1} pour
une fonction non symétrique (logistic function),
ou {-1; 0}, {0; 1} pour une sigmoïde symétrique,
f
et ceci en fonction des cibles. 1.0
06/11/2011
La vitesse à laquelle la sortie correspondant
à un poids particulier varie avec la descente
de gradient est proportionnelle à la
covariance de son entrée.
06/11/2011
Pour égaliser les vitesses d’apprentissage des
poids d’entrée, les variables d’entrée devrait
être normalisées pour avoir approximativement
des covariances égales.
06/11/2011
Pour égaliser les vitesses d’apprentissage de ces
poids avec celles des poids de la couche
suivante, cette covariance devrait être
comparable aux covariances espérées des unités
cachées (autour de 1 en utilisant le type de
sigmoïde symétrique proposé par LeCun).
06/11/2011
f
Choix de la fonction d’activation 1.0
e−s −1 s
f(s)=tanh(s)== s
e +1 1.0
06/11/2011
Inconvénient de la normalisation :
Dans le cas où certaines entrées sont
connues d’être moins signifiantes que
d’autres, les normaliser vers des valeurs
plus basses les rendre invisibles au
processus d’apprentissage.
06/11/2011
Des corrélations entre les variables
d’entrée introduisent aussi « des
directions préférées de changements
des variables ».
06/11/2011
Ramener la moyenne à zéro
KLE
Égalisation de la covariance
06/11/2011
Dans certains cas, l’entrée possède un sens
particulier qui pourrais être détruit par la
méthode (KLE).
Exemple : si les variables d’entrée sont des
pixels d’une image et que le réseau utilise des
connexions locales.
06/11/2011
4. Accélération de l’apprentissage
(momentum
momentum term)
term
06/11/2011
La vitesse d’apprentissage est gouverné par le
taux d’apprentissage (α). Si ce taux est trop
augmenté, l’apprentissage devient instable et le
réseau fluctue dans ce cas autour de l’erreur
minimale.
06/11/2011
Un moyen pour résoudre ce problème consiste à
modifier la règle d’apprentissage obtenu par une
application de la descente du gradient exact.
exact
Cette modification consiste à rajouter un terme
qui inclus une proportion de la dernière
modification du poids.
06/11/2011
La nouvelle règle est
c
a : α est faible (tend vers 0), b : α est élevé (tend vers 1), c : α est élevé
mais un terme d’accélération (momentum) est utilisé.
06/11/2011
5. Choisir les valeurs des cibles
Il faut éviter de saturer les unités de sortie
(Paralysie
Paralysie du réseau
réseau). Choisir les valeurs à
l’intérieur de la fonction sigmoïde et non pas
sur ses valeurs maximale et minimale. Le
dernier choix provoque les poids des unités
de sortie et celles des unités cachées à
diverger vers l’infini. Cette situation donne
des valeurs erronées à la sortie du réseaux.
06/11/2011
La solution pour ce problème est d’utiliser des
valeurs cibles sur les le point de la dérivée seconde
maximale de la fonction sigmoïde symétrique. C’est
le meilleur moyen de prendre en compte la non
f
linéarité sans saturer les unités.
1.0
s
1.0 1.0
f(s)=1.7159tanh(2s/3)
06/11/2011
6. Initialiser les poids synaptiques
Initialiser les poids tel que l’écart type espéré
(expected standard deviation) des sommes
pondérées est sur la transition entre la partie
linéaire et la partie saturée de la f fonction
sigmoïde symétrique. 1.0
s
1.0 1.0
06/11/2011
• Des valeurs initiales grandes saturent les
unités, produisant des petits gradients et un
apprentissage lent.
• Des valeurs initiales petites correspondes à
une surface d’erreur très plate (spécialement
avec des sigmoïdes symétriques).
06/11/2011
En supposant que la fonction sigmoïde
symétrique proposée dernièrement
f(s)=1.7159tanh(2s/3)
est utilisée, la valeur espérée de l’écart type
des entrées d’une unité est environs 1, et la
valeur désirée de l’écart type de sa somme
pondérée est aussi environs 1.
06/11/2011
En supposant que les entrées sont
indépendantes, la valeur espérée de l’écart
type de la somme pondérée est
1 1
σ =(∑ ω ) =N σ
i i
2 2 2 ω
06/11/2011
Pour assurer que σ est proche de 1, les poids
entrants d’une unité peut être tirés à partir
d’une distribution avec un écart type
−1
σω =N 2
06/11/2011
7. Choisir les taux d’apprentissage
06/11/2011
A cause des corrélations possibles entre les
variables d’entrée, le taux d’apprentissage
d’une unité devrait être inversement
proportionnel à la racine carrée du nombre
−1
d’entrées de cette unité : α = const • N 2
Les taux d’apprentissage dans les couches
inférieures devraient être, en général, plus
grands que ceux dans les couches supérieures.
06/11/2011
8. Choisir le nombre de neurones cachés
On constate que plus on augmente le nombre de
neurones de la couche cachée plus l’erreur global du
réseau sur les formes apprises diminue; mais si ce
nombre est trop important alors le pouvoir de
généralisation décroît alors, [MASS 92].
Erreur
généralisation
apprentissage
apprentissage
06/11/2011
En général, l’apprentissage n’est pas parfait.
Les erreurs d’apprentissage sont influencée par :
1. Le choix de l’algorithme d’apprentissage et le
nombre d’itérations,
2. Le nombre des exemples d’apprentissage,
3. Le nombre des unités cachées
- pour des fonctions lisses : un petit nombre est
suffisant,
- pour des fonctions fluctuantes : un nombre
plus élevé est nécessaire.
06/11/2011
Supposons maintenant que l’algorithme
d’apprentissage est déjà choisi, nous
considérons alors l’effet des points 2 et 3 sur
l’erreur d’apprentissage.
Définition d’une mesure adéquate de
l ’erreur :
Les plupart des algorithmes sont basés sur la
minimisation de l’erreur d’un ensemble des
exemples disponibles.
06/11/2011
• Taux de l’erreur d’apprentissage :
Ce taux est l’erreur moyenne par exemple
d’apprentissage : 1
P app
Eapp =
e
∑E
Papp e =1
06/11/2011
• Taux d ’erreur de test :
Ce taux est l’erreur moyenne de l’ensemble de
test : 1 P test
Etest = e
∑E
Ptest e =1
Papp=4 Papp=20
Fonction désirée
fonction d’apprentissage
exemples d’apprentissage
06/11/2011
Exemple 1 (suite) Expérience 2 : Utiliser un ensemble de
test avec Ptest ≠ Papp. Avec le même W optimale et le
même nombre d’itérations.
P app
ensemble de test
ensemble d’apprentissage
niveau d’erreur minimale globale
06/11/2011
Exemple 1 (suite)
Remarques :
- L’erreur d’apprentissage augmente en
augmentant le volume de l’ensemble
d’apprentissage, et l’erreur de test diminue
en augmentant ce volume.
- Une erreur faible d’apprentissage sur un
petit ensemble d’apprentissage ne garantie
pas des bonnes performances du réseau.
06/11/2011
Exemple 1 (suite) - Remarques (suite) :
06/11/2011
Exemple 2 [Ben 96] :
06/11/2011
Exemple 2 - Expérience 1 (suite)
Cet agitation est plus particulièrement importante
si les exemples d’apprentissage sont « bruités »
(c’est le cas réel). Dans ce cas la réponse du
réseau « s’accord » avec le bruit au lieu
d’effectuer une approximation lisse de la
fonction désirée.
06/11/2011
Exemple 2 - Expérience 1 (suite)
Fonction désirée
fonction d ’apprentissage
exemples d ’apprentissage
06/11/2011
Exemple 2 (suite)
Expérience 2 Étudier l’effet de pointe « peaking
effect »
Cette expérience montre qu’un grand nombre
d’unités cachées aboutit à une petite erreur sur
l’ensemble d’apprentissage mais n’aboutit pas
nécessairement à une petite erreur sur l’ensemble
de test.
06/11/2011
Exemple 2 - Expérience 2 (suite)
taux de l ’erreur
06/11/2011
10. Si la fonction de coût à minimiser n’est pas
convexe, l’algorithme peut converger vers des
minima locaux et dans ce cas la valeur initiale des
poids influe sur la solution finale.
Solutions :
- Une bonne choix d’un algorithme d’optimisation
- Augmenter le nombre d’unités cachées pour augmenter
l’espace de l’erreur. Ainsi la chance de tomber dans un
minimum local est plus faible (mais attention de ne pas
augmenter ce nombre au delà d ’une certaine limite).
06/11/2011
11. Le temps d’apprentissage est relativement
long, de quelques minutes à quelques heures,
suivant la complexité et le nombre d’exemples
à apprendre.
06/11/2011
12. La structure du réseau est figé et il n’existe
que des méthodes empiriques pour obtenir le
réseau adapté à la résolution d’un problème
particulier. En particulier l’utilisation de
fonction de type sigmoïde avec des seuils
égaux à +1et -1 fait plus vite converger
l’algorithme.
06/11/2011
Exemple 3 [Ben 96] : approximation d’une fonction à
partir des exemples.
Supposons que nous avons un système, par exemple
un processus chimique, un processus économique,
…, pour lequel nous souhaitons trouver ses
caractéristiques.
L’entrée et la sortie du système sont représentées
par un vecteur à 2 dimension X et un scalaire d
respectivement.
06/11/2011
Exemple 3 (suite) : Il s’agit d ’estimer la relation
d=f(X) en utilisant des couples
{X(e), d(e)}, e=1,2, … , 80.
Les poids du réseau sont initialisés avec des valeurs
faibles et le réseau est entraîné avec T=5000
itérations en utilisant l’algorithme de retro-
propagation.
06/11/2011
Exemple 3 (suite) : Topologie
1 couche cachée à 10 unités,
1 couche de sortie à 1 unité,
Les fonctions d ’activation de la couche cachée : sigmoïde,
Les fonctions d ’activation de la couche de sortie : linéaire.
x1
x2 .
.
06/11/2011
Exemple 3 (suite)
a. Exemples d ’apprentissage
b. Approximation d=f(X) par
le réseau.
c. Fonction utilisée pour
(a) (b)
générer les exemples
d ’apprentissage entrées-
sorties
d. Erreur d ’approximation
(c) (d)
E = c-b.
06/11/2011
Exemple 4 : Étudier l’influence des connaissances a
priori sur l’apprentissage de la fonction
f(x)=sin(2x)sin(x)
• Nombre d’exemple P=10 tirés de la fonction f(x)
• 1 entrée x
• 1 sortie y
Cas (a) : Utiliser 1 couche cachée avec 4 unités
munies des fonctions d’activation f(s)=sin(s).
Cas (b) : Utiliser 1 couche cachée avec 8 unités
munies des fonctions d’activation sigmoïdes.
06/11/2011
Exemple 4 (suite)
Des bonnes connaissances a priori
influent sur les résultats.
a. Une couche cachée avec 4
unités munies des fonctions
d’activation f(s)=sin(s).
(a) fonction réelle
fonction réalisée
b. Une couche cachée avec 8
unités munies des fonctions
d’activation sigmoïdes (les points
d’apprentissage ne sont pas les
mêmes que ceux utilisés en (a).
06/11/2011 (b) fonction réelle
fonction réalisée
Problèmes pratiques et théoriques concernant la
capacité des couches - Questions essentielles
- Combien de couches sont nécessaires à la résolution
de tel ou tel problème ?
- Combien de neurones par couches ?
- Quelle est la vitesse de convergence ?
- Qu’entend-on exactement par généralisation ?
- Quelle est l ’influence du pas d ’apprentissage ?
- etc.
06/11/2011
Le nombre de couches nécessaires
06/11/2011
Généralisation
06/11/2011
Le nombre d ’exemples (suite)
06/11/2011
Le nombre d ’exemples (suite)
06/11/2011
Le nombre d ’exemples (suite)
06/11/2011
Le nombre d ’exemples (suite)
06/11/2011
Le nombre d ’exemples (suite)
p > 8 N log N / ε 2
(2)
06/11/2011
Le nombre d ’exemples (suite)
06/11/2011
Le nombre d ’exemples (suite)
06/11/2011
Le nombre d ’exemples (suite)
06/11/2011
Le nombre d ’exemples (suite)
06/11/2011