Vous êtes sur la page 1sur 113

INTELLIGENCE ARTIFICIELLE

Partie 6 : Réseaux multi-


multi-couches non bouclés

Tarik AL ANI, Département Informatique


ESIEE-Paris
E-mail : t.alani@esiee.fr
Url: http://www.esiee.fr/~alanit
Apprentissage du réseau est un problème
d’optimisation dans un processus stochastique
Un réseau de neurone statique implémente une fonction
paramétrable N( ) qui à chaque instant ou itération i, au
vecteur d’entrée Xe associe un vecteur de sortie Y, pour
e=1, 2, …, P où P est le nombre total d’exemples.
Ye= N(W,Xe)

X N(W,X) Y

Cette relation est entièrement déterminée par le vecteur


de paramètres internes (poids synaptiques) W.
06/11/2011
Apprentissage supervisé
Agir sur W de façon à « rapprocher le plus
possible » la trajectoire du réseau {Yie} d’une
trajectoire désirée {Die}, et ce, sur un
intervalle donnée i=1, 2, …, I.

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

εie = Die - N(W, Xie)) = Die - Yie 0

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

Le paramètre W* est celui qui rend le plus


probable l’observation {Xie}i=1, 2, …, I a
posteriori, connaissant Die, la sortie désirée, et
sachant que le modèle est parfait.

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

Max P min∑ Die−N(W, X ie)


i=1

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

fonction de coût fonction quadratique E

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)

Minsky et Papert [Minsky 69] ont montrés que


2 couches statiques non bouclées (Feed-
Forward Network) peut éviter beaucoup de
restrictions mais il n’ont pas présentés une
solution au problème d’apprentissage des
poids synaptiques des couches cachées.
06/11/2011
Une réponse à cette question a été
présentée par Rumelhart, Hinton et
Williams [Rumelhart 86], et des solutions
similaires ont été apparues [Werbos 74],
[Parker 85] et [LeCun 85].

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 .

b lj Biais du 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

y lj = tanh(s lj ) Sortie du neurone j de la couche l


x j = y 0
j jième entrée du réseau

−1 = y 00 0ième entrée du réseau


y j = y L
j jième sortie du réseau

06/11/2011
ylj = logistic (slj) = 1
−slj
-1 (1 + e )

-

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

couche l à l’erreur globale E. ∆ω ijl (e ) = -αδ lj yil −1


Adapter ω ijl (e) = ω ijl (e − 1) + ∆ω (e) lij
06/11/2011
Théorème d ’approximation universelle
Malgré que cette méthode peut être appliquée à un
réseau incluant plusieurs couches cachées, il a été
démontrée [Hornik 89], [Funahashi 89], [Cybenko
89], [Hartman 90] qu’une couche cachée suffit pour
obtenir une approximation de n’importe quelle
fonction qui peuvent posséder des discontinuités
finies avec une précision arbitraire, à condition que
les fonctions d’activation des unités cachées soient
non linéaires.
06/11/2011
L’apprentissage
Même principe que la règle delta. On dispose d’un
ensemble d’exemples qui sont des couples (entrées-
sorties désirées). A chaque étape,
1. Présentation: un exemple Xe est présenté en entrée
du réseau.
2. Propagation avant (relaxation
relaxation du réseau
réseau) (forward
forward
propagation) :
propagation
Laisser les coches cachées évaluent leurs sorties
YeL = =[y1eL , y2eL , …, yNseL ]
06/11/2011
Propagation avant (relaxation du réseau) (suite)

Laisser les neurones de sortie évaluent leurs sorties


en utilisant les sorties des couches cachées. Mesurer
ces sorties.
3. Comparer ces sorties aux sorties désirées
D=[d1, d2, …, dNs],
Calculer l’erreur E=[ε1e, ε2e, …, εNse].

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.

5. Test de convergence : Ce processus est répété, en


présentant successivement chaque exemple. Si, pour tous les
exemples, l’erreur est inférieure à un seuil choisi, on dit
alors que le réseau a convergé.

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

Une autre définition possible est de fixer s


1.0
une erreur à valeur faible, 0.001 par exemple.
06/11/2011
3. Normalisation des entrées

Chaque variable d’entrée devrait être décalée


tel que sa valeur moyenne (moyenné sur
l’ensemble d’apprentissage) est proche de 0
(ou petite comparée à son écart-type).

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

En général, la moyenne de chaque entrée à un


neurone devrait être petite par rapport à son écart-
type. Pour cette raison, la sigmoïde symétrique
produit une moyenne plus petite que celle obtenue
avec une sigmoïde positive (logistic function). Pour
cette raison elles produisent souvent une
convergence plus rapide que celle obtenue en
utilisant une fonction sigmoïde non symétrique.
06/11/2011
Le choix de la fonction sigmoïde suivante est très
conseillé.
Une sigmoïde utilisée par LeCun
f(s)=1.7159tanh(2s/3)
Propriétés : f(1)=1; f(-1)=-1; dérivée seconde est
f
maximale à s=1.
1.0
Remarque: si β>>1 , f(s) ≈ sgn(s) s
1.0 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 ».

Il est nécessaire (dans la mesure de


possible) alors que les variables
d’entrée soient non corrélées.
06/11/2011
Une des techniques la plus efficaces pour
décorréler les variables d’entrée : Analyse
de la Composante Principal (Principle
Principle
Component Analysis (PCAPCA) ou Karhunen
Karhunen--
Loeve Expansion (KLKL E)).

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

La procédure d’apprentissage nécessite que


le changement du poids soit proportionnel
à la dérivée partielle de Ee par rapport à W.
Une vraie descente de gradient nécessite
que des pas infinitésimales soit utilisés.

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

∆ω (e)=−αδ y +λ∆ω (e−1)


l
ij
i l −1
j i
l
ij
Ainsi, si la modification précédente du poids
∆ ω ijl ( e − 1 ) ∆ ω l
a été grande alors ij (e) sera aussi
grande. Ceci signifie que la modification du poids se
propage avec une certaine inertie vers l’itération
suivante. De cette façon les fluctuations dans
l’espace de l’erreur-poids sont lissées (filtre passe
bas). Le paramètre λ gouverne la contribution du
terme d’inertie (momentum
momentum term
term).
06/11/2011
Le rôle de terme d’accélération peut être représenté
par la figure suivante : la descente du gradient dans
l’espace de poids.
b a

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 ω

Où N est le nombre des entrées à une unités,


σ
etω est l’écart type de ses poids entrants.

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

Il faut égaliser les vitesses d’apprentissage


d’apprentissage.
Chaque poids devrait avoir sa propre taux.
Certains poids peuvent nécessiter des petits
taux d’apprentissage pour éviter la divergence,
tandis que d’autres peuvent nécessiter des
grands taux pour converger à une vitesse
raisonnable.

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

optimum Nombre des neurones


06/11/2011 cachés
9. Choisir le nombre d’itérations
On constate également une valeur optimale du
nombre d’itérations pendant la phase
d’apprentissage. L’erreur globale décroît rapidement
d’apprentissage
au début de l’apprentissage puis se met à augmenter.
On parle alors d’apprentissage “par
par cœur”.
cœur
Erreur
généralisation

apprentissage

Fig. 2.11 (b) optimum Nombre d’itérations


06/11/2011
Il convient alors de mémoriser la configuration
des poids qui fournit le minimum de l’erreur.
Une façon pratique consiste à « partitionner »
l’ensemble des exemples d’apprentissage en
trois sous-ensembles : le premier pour
l’apprentissage, le second pour la
généralisation et le troisième pour le test
test.

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

Où Papp le nombre des exemples d’apprentissage


disponibles.
Ns
1
E e = ∑ (d ie − yie ) 2
2 i =1
Cette erreur est mesurable pendant le processus
d’apprentissage.
06/11/2011
Donner une mesure plus réaliste de Eapp : la
différence entre la sortie désirée et la sortie
réelle doit être intégrée sur le domaine entier
de l’entrée.
Solution : effectuer une approximation (ou
estimation) de l’intégral en se disposant un
ensemble important d’exemples appelé
ensemble de test
test.

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

Où Ptest le nombre des exemples de test


disponibles.
Eapp et Etest dépendent du volume de
l’ensemble d’apprentissage et du nombre des
unités cachées.
06/11/2011
Exemple 1 [Ben 96] :
A. Effet du nombre des exemples d’apprentissage
Approximation d’une fonction y=f(x).
Supposons que nous effectuons deux apprentissages
avec:
• Papp=4 exemples
• Papp=20 exemples
Les itérations sont effectuées jusqu ’à ce qu’une
erreur stable est obtenue.
06/11/2011
Le réseau utilisé :
• 1 couche cachée avec 5 unités
munies des fonctions sigmïdes,
• 1 couche de sortie avec 1 unité
munie d’une fonction linéaire.

• Le nombre d’itérations =10 pour chaque


valeur de Papp et pour chaque valeur de Ptest.
06/11/2011
Exemple 1 (suite) Expérience 1:1 Utiliser un vecteur optimal
des poids Wopt , Eapp converge mais sa valeur dépend du
nombre des unités cachées et la fonction d’activation.

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

- En augmentant le nombre d’exemples


d’apprentissage les deux taux d’apprentissage
convergent vers la même valeur. Cette valeur
dépend de la puissance de représentation du
réseau : Étant donné des poids optimales,
comment peut-on considérer que
l’approximation est bonne?
06/11/2011
Exemple 1 (suite) - Remarques (suite) :
Cette erreur dépend du nombre d’unités
cachées et de la fonction d’activation.
Si le taux d’erreur d’apprentissage ne
converge pas vers le taux d’erreur de test,
alors ceci signifie que la procédure
d’apprentissage n’avait pas aboutit au
minimum global.

06/11/2011
Exemple 2 [Ben 96] :

La même fonction précédente est utilisée, mais dans ce cas


le nombre des unités cachées est augmenté à 20.
Expérience 1 : Etudier l’effet de surentraînement
« overtraining » sur la performance du réseau
Si le nombre des unités dans la couche cachée augmente, la
réponse du réseau « s’accord » avec la réponse désirée, mais
à cause du nombre élevé des unités cachées la fonction
réellement représentée par le réseau est « plus agitée » que
la fonction d’origine.

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)

5 unités cachées. 20 unités cachées.

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

nombre des unités cachées


ensemble de test
ensemble d ’apprentissage
Le taux moyen de l’erreur d’apprentissage et le taux
moyen de l’erreur de test en fonction du nombre d’unités
cachées.

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

Les réseaux de neurones linéaires ne peuvent


« implémenter » que des fonctions linéairement
séparables. En revanche, Cybenko [Cybenko 89] a
établi qu’une fonction quelconque peut être
approchée avec une seule couche cachée unique
suffit d ’effectuer une approximation de la fonction
continue. L’utilité de ces allégations dépend bien
entendu du nombre de neurones nécessaires dans
chaque couche.
06/11/2011
La représentation de l ’information

Cette représentation est essentielle.

Exemple: Déterminer la parité d’un nombre


représentation binaire : le problème est simple
représentation en base 3 : le problème devient plus
compliqué.

06/11/2011
Généralisation

La généralisation est la capacité à inférer des règles à la


lumière des exemples. D’un point de vue théorique,
l’habilité du réseau multi-couches à généraliser se pose en
termes mathématiques.
Shcwartz et al. [Scwartz 90] ont été les premiers à avoir
apporté une formulation rigoureuse de ce problème. Ils
montrent que la probabilité moyenne d’obtenir une
généralisation « correcte », pour une taille donnée de la base
d ’apprentissage, peut être déterminé (en principe) avant
l’apprentissage du réseau. Cette moyenne est déterminée sur
toutes les fonctions compatibles avec la base d ’exemple.
06/11/2011
Le nombre d ’exemples

Un ordre de grandeur du nombre d’exemples


nécessaires à la généralisation pour un réseau multi-
couches de N entrées et une sortie est fourni par
Vapnik [Vapnik 71] et Cover [Cover 65].

06/11/2011
Le nombre d ’exemples (suite)

L’idée se résume de la façon suivante : Considérons


une fonction booléenne f de {0,1}N à valeur dans
{0,1}. Ainsi, le réseau possède N entrées et et 1
sortie.
Désignons par g(fw) la probabilité que fw(X), la
fonction implémentée par le réseau, soit égale à
f(X), la fonction recherchée, lorsque l’entrée X est
choisie avec une certaine distribution P(X).

06/11/2011
Le nombre d ’exemples (suite)

La fonction g(fw) mesure à quel point fw se


rapproche de f indépendamment des exemples
choisis. L’idée est donc de connaître g(fw) pour
déterminer à quel point le réseau a généralisé.

06/11/2011
Le nombre d ’exemples (suite)

Si gp(fw ) désigne la fraction de l’ensemble d ’apprentissage


de taille P bien classifiée par le réseau, on peut utiliser
gp(fw ) en vue d’estimer g(fw) puisque gp(fw ) tend vers
g(fw) lorsque P tend vers l ’infini.
Toutefois l’estimateur gp(fw ) est biaisé car fw est le fruit de
la procédure d’apprentissage qui ne s’intéresse qu’à l ’erreur
sur la base d ’apprentissage.

06/11/2011
Le nombre d ’exemples (suite)

Vapnik [Vapnik 71] a démontré que

Pr ob(max f g p ( f ) − g ( f ) > ε ) ≤ 4m(2 p ) exp( − ε p 2


)
(1)
8

m(2P) représente le nombre maximum de fonctions binaires
différentes qu’il est possible de représenter avec le réseau.

06/11/2011
Le nombre d ’exemples (suite)

Ainsi, si l’apprentissage est parfait, i.e.


gp(fw)=1, alors
g(fw) = 1-ε
L’étude exhaustive de la capacité du
perceptron mène au résultat
m( p ) ≤ 2 + 1
N

lorsque P>N [Cover 65] .


06/11/2011
Le nombre d ’exemples (suite)

Le terme de droite dans l’équation 1 peut être


borné par une valeur arbitraire des lors que

p > 8 N log N / ε 2
(2)

En conséquence, le nombre d’exemple


nécessaires à l’apprentissage d’un réseau
multi-couches est au pire de l’ordre N log N.

06/11/2011
Le nombre d ’exemples (suite)

Le résultat (2) est encourageant


d ’autant plus que l’on compte 2N
exemples possibles. Toutefois, le
facteur ε2 au dénominateur place
une limite pratique à la précision
qu’il est possible d’obtenir avec un
réseau de taille ordinaire.

06/11/2011
Le nombre d ’exemples (suite)

Un résultat plus général concerne les


réseaux multi-couches de N entrées et M
neurones linéaire à seuil et W poids
(inclusion faite des seuils) est fourni par
Baum et Haussler [Baum 89].

06/11/2011
Le nombre d ’exemples (suite)

Si l ’erreur sur la base d ’apprentissage est


inférieure à ε/2, l ’ordre de grandeur du
nombre d ’exemples nécessaires pour avoir
une erreur de généralisation inférieure à ε est
au pire de
W / ε log( M / ε )

06/11/2011
Le nombre d ’exemples (suite)

Pour un réseau possédant une couche cachée,


une borne inférieure de m(P) permet de
montrer que W/e exemples permettent une
généralisation avec une erreur inférieure à e.

06/11/2011