Title: Ingnierie des connaissances:
1Ingénierie des connaissances Réseaux de
Neurones Artificiels Jean-Marc Adamo Mars 2002
2Réseaux de Neurone Artificiels Neuromimétisme
2
- Principe
- observer lorganisation du système nerveux
central - comprendre le principe de son fonctionnement au
niveau de la cellule - et du réseau de cellules
- simuler lorganisation et les mécanismes
observés dans le fonctionnement - du système nerveux central pour développer des
algorithmes dapprentissage
3Réseaux de Neurone Artificiels organisation du
système nerveux central au niveau cellulaire
3
- Le système nerveux central au niveau cellulaire
- vaste collection de cellules nerveuses
(neurones) 1010 à 1011 - vaste réseau dinterconnexion inter-cellulaire
4Réseaux de Neurone Artificiels organisation du
neurone
4
- Le neurone
- possède un corps le soma
- autour du soma se développe un arbre de fibres
les dendrites - (103 à 104 par neurone)
- le soma est prolongé par un tronc laxone,
portant à son extrémité - un arbre de fibres terminales.
- Les dendrites
- portent des organes de connexion les synapses
- chaque synapse est une interface de connexion
entre le dendrite - qui le porte et une fibre terminale (provenant
dun autre neurone) - linterface de connexion est active
- nest pas quun simple point de connexion
- amplifie ou inhibe le signal reçu dune fibre
terminale - avant de transmettre le signal modifié au soma.
5Réseaux de Neurone Artificiels Apprentissage /
connaissance acquise / activité dun réseau de
neurones
5
- Lapprentissage d'un réseau de neurones résulte
- de la construction progressive du réseau
dinterconnexion et/ou - du réglage progressif des fonctions synaptiques
damplification - ou dinhibition
- La connaissance (au niveau cellulaire) acquise
par un réseau de neurones, - à l instant t, s'identifie
- à larchitecture du réseau d'interconnexion, à
cet instant, et - à létat des fonctions synaptiques
damplification ou dinhibition - à cet instant.
- Lactivité du neurone consiste
- à intégrer lensemble des signaux reçus sur ses
connexions - synaptiques, et
- à émettre un signal le long de son axone à
condition que la
6Réseaux de Neurone Artificiels modèle formel du
neurone (neurone artificiel)
6
- Neurone artificiel
- synapses
- variables synaptiques xi
- poids synaptiques wi
-
x1 - fonction dintégration de signaux ? xi
-
xn - seuil dactivation valeur numérique
-
1 si x gt
seuil - fonction dactivation ?(seuil) x
-
-1 si x ?
seuil -
? wi xi
7Réseaux de Neurone Artificiels neurone
artificiel normalisation
7
La réponse d un neurone artificiel est
1 si ? 1 ? i ? n wi xi gt seuil y
?(w0) (? 1 ? i ? n wi xi )
-1 si ? 1 ? i ? n wi xi ? seuil Ce qui
équivaut à
1 si ? 0 ? i ?
n wi xi gt 0 y ?(0) (? 0 ?
i ? n wi xi )
-1 si ?
0 ? i ? n wi xi ? 0
On note ? ?(0) . Ce qui conduit au schéma
w0 -seuil x0 1
8Réseaux de Neurone Artificiels neurone
artificiel puissance dexpression
8
- Le neurone artificiel est capable de représenter
les fonctions booléennes - élémentaires AND, OR , NOT
- AND
- y ?(w0 x0 w1 x1 w2 x2)
- avec x0 1, w0 -0.8, w1 0.5, w2
0.5. - OR
- y ?(w0 x0 w1 x1 w2 x2)
9Réseaux de Neurone Artificiels neurone
artificiel puissance dexpression
9
- Un neurone artificiel isolé nest pas capable de
représenter la fonction booléenne - XOR (ou exclusif)
- Dune manière plus générale, un neurone
artificiel isolé est seulement capable de - représenter les fonctions booléennes dont le
graphe est linéairement séparable, - c est à dire,
-1
-1
-1
-1
1
1
1
1
10Réseaux de Neurone Artificiels neurone
artificiel puissance dexpression
10
11Réseaux de Neurone Artificiels neurone
artificiel puissance dexpression
11
- Conclusions
- Le neurone artificiel isolé a une puissance
dexpression insuffisante pour - être pratiquement utile.
- On sait que toute fonction booléenne pour
sexprimer sous la forme dune - expression construite avec AND, OR et NOT (forme
normale), par exemple - x1 XOR x2 (x1 OR x2) AND (NOT x1 OR NOT x2).
- Donc, toute fonction booléenne peut être
représentée sous forme dun - réseau de neurones artificiels.
- Nous noterons plus loin que
12Réseaux de Neurone Artificiels modèle continu
12
La fonction escalier ? nest pas différentiable,
ce qui rend difficile lutilisation des outils
mathématiques applicables aux fonctions continues
pour construire des algorithmes
dapprentissage. On utilisera désormais deux
approximations continues de la fonction
escalier (lune ou lautre).
tanh(?x)
13Réseaux de Neurone Artificiels modèle continu
13
Pour les deux fonctions continues précédemment
définies le paramètre ? permet de régler
lintensité de la pente au voisinage de 0. Par
exemple pour y tanh(?x)
14Réseaux de Neurone Artificiels modèle continu
puissance dexpression
14
- Les résultats suivants ont été établis (Cybenko,
Hornik, fin des années 80) - Toute fonction booléenne peut être exactement
simulée par un réseau de neurones - artificiels (RNA) à 2 niveaux.
- Toute fonction continue et bornée peut être
approximée par un RNA à 2 niveaux. - Lapproximation peut être rendue aussi précise
que possible en augmentant le - nombre des variables cachées.
15Réseaux de Neurone Artificiels Illustration
15
1. Echantillonnage (construction du fichier
dapprentissage). 2. Apprentissage (réglage des
poids synaptiques). 3. Utilisation du RNA
pour conduire de manière autonome.
16Réseaux de Neurone Artificiels Apprentissage
d'un RNA à un seul niveau
16
avec sj ? 0 ? i ? n wij xi
- Fichier dapprentissage D vecteurs
- (D paires valeurs proposées en entrée, valeurs
attendues en sortie) - (ox11, , ox1n oy11, , oy1m)
- (oxd1, , oxdn oyd1, , oydm)
- (oxD1, , oxDn oyD1, , oyDm)
17Réseaux de Neurone Artificiels Apprentissage
d un RNA à un seul niveau
17
Position du problème Déterminer la matrice des
poids synaptiques w01 .. w0m
W wi1 .. wim wn1 .. wnm telle
que lécart entre les valeurs calculées par le
RNA à partir des données dentrée du fichier
dapprentissage et les valeurs de sorties de ce
fichier soit minimum. Autrement formulé,
déterminer W qui minimise lexpression E(W)
1/2 ? 1 ? d ? D ? 1 ? j ? m (ydj ?
oydj)2 où ydj ?(? 0 ? i ? n wij oxdi.
).
18Réseaux de Neurone Artificiels Apprentissage
d un RNA à un seul niveau
18
- Résolution du problème
- Pour descendre vers le minimum, on utilise la
méthode de la tangente - de plus forte pente
- A létape initiale k 0,
- on choisit un point arbitraire sur
lhypersurface E(W). - A toute étape k 0, 1 , ,
- on détermine la tangente de plus forte pente au
point - courant,
- on descend dans la direction de cette tangente
dune - distance définie par le pas de progression.
- Larrêt de la procédure est décidé selon un
critère darrêt qui sera - discuté plus loin.
19Réseaux de Neurone Artificiels Apprentissage
d un RNA à un seul niveau
19
- Résolution du problème (suite)
- tangente de plus forte pente
- La tangente de plus forte pente à E(W) en Wk est
le gradient en Wk - défini par
- ?(Wk)
20Réseaux de Neurone Artificiels Apprentissage
d un RNA à un seul niveau
20
une dimension par élément de la matrice des poids
synaptiques
- Résolution du problème (suite)
- Interprétation géométrique du gradient
- ?(Wk) représente la projection, dans
lespace ?mn des m?n dimensions, - du vecteur directeur
unitaire de la tangente montante de plus - forte pente au point de la
surface E(W) correspondant à Wk . - Equation dévolution
21Réseaux de Neurone Artificiels Apprentissage
d un RNA à un seul niveau
21
Problèmes posés par la méthode du gradient de
plus grande pente E(W) 1/2 ? 1 ? d ? D ? 1 ? j
? m (ydj ? oydj)2, avec ydj ?( sdj
) et sdj ? 0 ? i ? n wij oxdi. La
fonction non linéaire ? est présente dans
l expression de E(W) ? E(W) ne possède pas, en
général, un seul minimum ? La méthode du gradient
ne garantit pas que lon atteigne le plus petit
des minima!
W0
E(W)
E(W)
W0
W
W
Un seul minimum
Plusieurs minima
22Réseaux de Neurone Artificiels Apprentissage
d un RNA à un seul niveau
22
Problèmes posés par le choix du pas de
progression (paramètre d apprentissage) Equatio
n dévolution Wk1 Wk ? ??(Wk), k ? 0, où ?
est le pas de progression. Paramètre ? choisi
trop petit ? convergence lente.
Paramètre ? choisi trop grand ? défaut de
convergence ou oscillations.
23Réseaux de Neurone Artificiels Apprentissage
d un RNA à un seul niveau
23
- Résolution du problème (suite)
- calcul des termes de la matrice ?(Wk) )
- E(W) 1/2 ? 1 ? d ? D ? 1 ? j ? m (ydj ?
oydj)2, - avec ydj ?(sdj ) et sdj ? 0 ? i ? n
wij oxdi.
??(sdj )
alors
(Wk) ? (1 ? ?(sdj (Wk))2)
? (1 ? ydj (Wk)2).
? sdj
Par conséquent
24Réseaux de Neurone Artificiels Apprentissage
d un RNA à un seul niveau
24
- Résolution du problème (suite)
- calcul des termes de la matrice ?(Wk)
- E(W) 1/2 ? 1 ? d ? D ? 1 ? j ? m (ydj ?
oydj)2, - avec ydj ?(sdj ) et sdj ? 0 ? i ? n
wij oxdi.
??(sdj )
alors
(Wk) ? ?(sdj (Wk)) (1 ? ?(sdj (Wk)))
? ydj (Wk) (1 ? ydj (Wk)).
? sdj
Par conséquent
25Réseaux de Neurone Artificiels Apprentissage
d un RNA à un seul niveau
25
- Algorithme (batch algorithm)
- Initialiser les poids du RNA avec de valeurs
aléatoires faibles - (comprises entre - 0.5 et 0.5, par exemple).
- Fixer la valeur de ? (par exemple 0.5).
- Tant que la condition darrêt nest pas remplie
(discutée plus loin) - wijk1 wijk ? ??ij(Wk)
- wijk ? ? ? 1 ? d ? D ?jk
oxdi - où ?jk ? (ydj (Wk) ? oydj) (1 ?
ydj (Wk)2) - ou
- ? (ydj (Wk) ? oydj)
ydj (Wk) (1 ? ydj (Wk)).
Contribution de chaque erreur individuelle entre
valeur observée et valeur attendue pour chaque
vecteur du fichier dapprentissage À létape k
26Réseaux de Neurone Artificiels Apprentissage
d un RNA à un seul niveau
26
- Variation probabiliste (incremental algorithm)
- A chaque itération, au lieu de faire porter le
calcul du gain sur tous les - vecteurs formant dans le fichier dapprentissage
- ? 1 ? d ? D ?jk oxdi
- où
- ?jk ? (ydj (Wk) ? oydj) (1
? ydj (Wk)2) - ou
- ? (ydj (Wk) ? oydj)
ydj (Wk) (1 ? ydj (Wk)) - on fait porter le calcul du gain sur un seul de
ces vecteurs tiré au hasard. - Dans ce cas le gain devient
- ?jk oxdi
- où
- ?jk ? (ydj (Wk) ? oydj) (1
? ydj (Wk)2) - ou
- ? (ydj (Wk) ? oydj)
ydj (Wk) (1 ? ydj (Wk))
27Réseaux de Neurone Artificiels Apprentissage
d un RNA à niveaux multiples
27
RNA
Fichier d apprentissage D vecteurs
(D paires valeurs proposées en entrée,
valeurs
attendues en sortie) (ox11, , ox1n0
oy11, , oy1n3) (oxd1, , oxdn0
oy11, , oydn3) (oxD1, , oxDn0
oy11, , oyDn3)
28Réseaux de Neurone Artificiels Apprentissage
d un RNA à niveaux multiples
28
Position du problème Déterminer les matrices de
poids synaptiques pour l'ensemble des niveaux
h w(h)01 .. w(h)0 nh
W(h) w(h)i1 .. w(h)i
nh
w(h)nh-11 w(h)nh-1
nh telles que lécart entre les valeurs
calculées par le RNA à partir des
données dentrée du fichier dapprentissage et
les valeurs de sorties de ce fichier
soit minimum. Autrement formulé, déterminer W
qui minimise lexpression E(W) 1/2 ? 1 ? d ?
D ? 1 ? j ? m (x(H)dj ? oydj)2 où H est
le nombre de niveaux du RNA, et
x(h)dj ?(? 0 ? i ? n(h-1) w(h)ij x(h ?
1)di. ), pour tout h, 2 ? h ? H
x(1)dj ?(? 0 ? i ? n0 w(1)ij oxdi. ),
Pour tout niveau h, 1 ? h ? H
29Réseaux de Neurone Artificiels Apprentissage
d un RNA à niveaux multiples
29
- Résolution du problème
- Pour descendre vers le minimum, on utilise la
méthode de la tangente - de plus forte pente
- A létape initiale, k 0,
- on choisit un point arbitraire sur lhyper
surface E(W). - A toute étape k 0, 1, ,
- on détermine la tangente de plus forte pente au
point - courant,
- on descend dans la direction de cette tangente
dune - distance définie par le pas de progression.
- Larrêt de la procédure est décidé selon un
critère darrêt qui sera - défini plus loin.
30Réseaux de Neurone Artificiels Apprentissage
d un RNA à niveaux multiples
30
- Résolution du problème (suite)
- tangente de plus forte pente
- on pose W ? 1 ? h ? H W(h), W représente
lensemble de tous les poids. - La tangente de plus forte pente à E(W) en Wk est
le gradient en Wk - défini par?(Wk) ? 1 ? h ? H ?(W(h)k), où
- ?(W(h)k)
- ?(Wk) représente la projection, dans l espace?
n1n2 nH-1nH, du système - de vecteurs directeurs de la tangente de plus
forte pente montante au - point Wk.
31Réseaux de Neurone Artificiels Apprentissage
d un RNA à niveaux multiples
31
Calcul des termes de la matrice ?(Wk)
E(W) 1/2 ? 1 ? d ? D ? 1 ? j ? m (x(H)dj(W)
? oydj)2 x(h)dj ?(s(h)dj) avec
s(h)dj ? 0 ? i ? n(h-1) w (h)ij x(h ?
1)di, pour 2 ? h ? H x(1)dj ?(s(1)dj)
avec s(1)dj ?(? 0 ? i ? n0 w (1)ij oxdi. ),
Cas où h H (calcul des termes de ?(Wk) pour le
dernier niveau du RNA) un calcul identique à
celui fait pour les RNAs à 1 niveau conduit au
résultat
où ?k(H)dj ? (x(H)dj (Wk) ? oydj) (1
? x(H)dj (Wk)2) ou
? (x(H)dj (Wk) ? oydj)
x(H)dj (Wk) (1 ? x(H)dj (Wk))
leffet de lerreur commise par le réseau à
létape k est directement calculable au
dernier niveau du RNA puisque les variables de
sortie de ce niveau sont celles du RNA tout
entier. Cet effet nest pas directement
calculable aux autres niveaux du RNA. Il faut
donc trouver le moyen de rétropropager cet effet
à partir du dernier niveau jusquau niveau 1
(niveaux h lt H).
32Réseaux de Neurone Artificiels Apprentissage
d un RNA à niveaux multiples
32
calcul des termes de la matrice ?(Wk) (suite)
E(W) 1/2 ? 1 ? d ? D ? 1 ? j ? m
(x(H)dj(W) ? oydj)2 x(h)dj
?(s(h)dj) avec s(h)dj ? 0 ? i ? n(h-1) w
(h)ij x(h ? 1)di, pour 2 ? h ? H x(1)dj
?(s(1)dj) avec s(1)dj ?(? 0 ? i ? n0 w
(1)ij oxdi. ),
Cas où h lt H (rétropropagation de lerreur)
x(h-1)di (Wk)
(Wk)
(Wk)
(Wk) ? 1 ? d ? D
puisque la valeur E(W) est fonction de w(h)ij à
travers un s(h)dj.
(Wk)
? 1 ? r ? nh1
(Wk)
(Wk)
puisque la valeur E(W) est fonction de s(h)dj
à travers tous les s(h1)dr vers lequel il est
diffusé après seuillage (somme de toutes les
contributions).
(Wk)
(Wk)
? 1 ? r ? nh1
(Wk)
? (1 ? x(h)dj (Wk)2) ou ? x(h)dj (Wk) (1 ?
x(h)dj (Wk))
(Wk)
? 1 ? r ? nh1
wk(h1)jr
On note ?k(h)dq
puisque la valeur s(h1)dr est fonction de
chaque s(h)dj à travers un x(h)dj.
rétropropagation de lerreur
(Wk)
? (1 ? x(h)dj (Wk)2) ou ? x(h)dj (Wk) (1 ?
x(h)dj (Wk))
Il vient ?k(h)dj ? 1 ? r ? nh1 wk(h1)jr
?k(h1)dr
Pour finir, on obtient
(Wk) ? 1 ? d ? D ?k(h)dj x(h-1)di (Wk)
33Réseaux de Neurone Artificiels Apprentissage
d un RNA à niveaux multiples
33
Cas où h lt H conclusion
où ?k(h)dj (? 1 ? r ? nh1 wk(h1)jr
?k(h1)dr )
? (1 ? x(h)dj (Wk)2) ou ? x(h)dj (Wk) (1 ?
x(h)dj (Wk))
34Réseaux de Neurone Artificiels Apprentissage
d un RNA à niveaux multiples
34
- Algorithme (batch algorithm)
- Initialiser les poids du RNA avec de valeurs
aléatoires faibles - (comprises entre - 0.5 et 0.5, par exemple)
- Fixer la valeur de ? (par exemple 0.5)
- Tant que la condition darrêt nest pas remplie
(discutée plus loin) -
- si niveau h H (dernier niveau)
- w(H)ijk1 w(H)ij k ? ? ? 1 ? d ? D
?k(H)dj x(H-1)di (Wk) - où ?k(H)dj ? (x(H)dj (Wk) ?
oydj) (1 ? x(H)dj (Wk)2) - ou
- ?
(x(H)dj (Wk) ? oydj) x(H)dj (Wk) (1 ?
x(H)dj (Wk)) - si niveau h lt H (autres niveaux)
35Réseaux de Neurone Artificiels Apprentissage
dun RNA à niveaux multiples
35
- Variation probabiliste (incremental algorithm)
- A chaque itération, au lieu de faire porter le
calcul du gain sur tous les - vecteurs formant dans le fichier dapprentissage
- ? 1 ? d ? D ?k(h)dj
x(h-1)di (Wk) - où
- ?jk est calculé selon le niveau,
comme spécifié sur la page précédente, - on fait porter le calcul du gain sur un seul de
ces vecteurs tiré au hasard. - Dans ce cas le gain devient
- ?k(h)dj x(h-1)di (Wk)
- où
- ?jk est calculé selon le niveau,
comme spécifié sur la page précédente, - où d est un nombre tiré au hasard
sur lintervalle entier1, D. - On montre que, si ? est suffisamment petit,
lalgorithme utilisant le nouveau - calcul de gain converge avec une forte
probabilité vers lun des minima de
36Réseaux de Neurone Artificiels Apprentissage
d un RNA à niveaux multiples
36
- Critère darrêt observation du biais du fichier
dapprentissage - On estime quà partir dun certain moment,
lalgorithme dapprentissage parcourt - des régions sur E(W) qui rendent compte des
spécificités du fichier - dapprentissage bien plus que des propriétés
générales de la population. - Si on calcule, à chaque pas, lerreur (1) par
rapport au fichier d'apprentissage et - (2) par rapport à un autre fichier (fichier de
contrôle) voici ce quon observe le plus - souvent
Erreur mesurée par rapport au fichier
d apprentissage par lalgorithme E(W) 1/2 ?
1 ? d ? D ? 1 ? j ? m (x(H)dj ? oydj)2
taux d erreur
Erreur mesurée par rapport au fichier de contrôle
nombre ditérations
37Réseaux de Neurone Artificiels Apprentissage
d un RNA à niveaux multiples
37
- Critère darrêt Méthode du double fichier
- On utilise deux fichiers apprentissage et
contrôle. - Lerreur calculée sur le fichier dapprentissage
est utilisée pour effectuer la - modification des poids synaptiques comme
spécifié dans l algorithme de - rétropropagation.
- Lerreur calculée sur le fichier de contrôle est
utilisée pour contrôler larrêt - de la procédure dapprentissage. On procède de
la manière suivante - Lalgorithme sauvegarde le dernier minimum local
rencontré de lerreur - mesurée par rapport au fichier de contrôle. On
note M ce minimum. - Dès que la dernière erreur calculée sur ce même
fichier dépasse M dune - quantité ? fixée à priori on arrête la
procédure dapprentissage.
taux d erreur
Erreur mesurée par rapport au fichier
d apprentissage par lalgorithme E(W) 1/2 ?
1 ? d ? D ? 1 ? j ? m (x(H)dj ? oydj)2
Erreur mesurée par rapport au fichier de contrôle
?
M
nombre ditérations
38Réseaux de Neurone Artificiels Apprentissage
d un RNA à niveaux multiples
38
- Raffinement de la procédure de rétropropagation
addition dun moment - Utilité
- Accélérer dans les régions de forte pente où on
ne risque pas de rater le minimum - cherché en donnant au pas de progression une
valeur forte. - Décélérer dans les régions de faible pente où on
risque de rater le minimum cherché - en donnant au pas de progression une valeur
forte. - On introduit un paramètre ?, 0 ? ? ? 1, appelé
moment, dans léquation dévolution de la - manière suivante
- w(h)ij k1 w(h)ij k ? ? ? 1 ? d ? D
?k(h)dj x(h-1)di (Wk) ?(w(h)ij k-1 ?
w(h)ij k)
terme accélérateur si (w(h)ij k-1 ? w(h)ij k) est
grand (forte pente) terme décélérateur si (w(h)ij
k-1 ? w(h)ij k) est petit (faible pente)