View
226
Download
0
Category
Preview:
Citation preview
Les réseaux de neurones artificielsPierre Bornep.borne@ec-lille.fr
Les Réseaux de Neurones Artificiels
• 1 Présentation• 2 Apprentissage• 3 Analyse en composantes principales• 4 Classification• 5 Réseaux de Hopfield• 6 Modélisation et commande des
processus
Les réseaux de neurones artificiels
Présentation
Présentation
Neurone biologique
Axone
Dendrites
Synapse
Corps cellulaire
Présentation
Neurone artificiel
Σ z1x
ix
nx
f
0xMM
0w
1w
iw
nw
( )0
n
i ii
y w x
z f y=
=
=
∑
Présentation
Fonctions d’activation
a) b) c) d)
e) f) g) h)
Présentation
Le perceptronLe perceptron comporte une couche d’entrée constituée de neurones élémentaires dont la fonction d’activation est linéaire et une couche de sortie constituée d’un ou de plusieurs neurones dont la fonction d’activation est en général du type plus ou moins, ou tout ou rien
Présentation
Schéma du perceptron
.
..
.
..
0x
.
..
.
..
Σ
Σ
Σ
Σ
Σ
Σ
/
/
/
f
f
f
jx
nx
1z
iz
mz
10w1 jw
ijwinw
mnw
0 0y Wx w x= +
PERCEPTRONreprésentation matricielle
W
0w
+ y
xz
0 1x =
Perceptron
Séparation linéaireΣ f
Σ /
Σ /
Σ f
Σ f
1x
2x
1z
3z
Σ f
Σ f
4z
5z
2z
Séparation linéaireSéparation linéaire
Classification à partir du Perceptron
Présentation des réseaux multicouches
Réseaux multicouches Dans ce cas, le réseau comporte en général au moins trois couches : une couche d’entrée, une ou plusieurs couche(s) cachée(s) et une couche de sortie l’information circulant de l’entrée vers la sortie à travers la (les) couche(s) cachée(s).
Réseaux multicouches, notations: sortie du neurone de la couche l àneurones
: poids liant le neurone de la couche l -1 au neurone de la couche l: fonction d’activation du neurone de la couche l
( )liz
ièmei ln
( ) ( ) ( ) ( )1 2, , ,
l
Tl l l lnz z z z⎡ ⎤= ⎣ ⎦K
( )lijw ièmej
ièmei( ) ( )lif ⋅ ièmei
( )1i iz x=
11 2, , ,T
nx x x x⎡ ⎤= ⎣ ⎦K
( ) ( ) ( ) ( )1 1 10
1
lnl l l li ij j i
jy w z w+ + +
=
= +∑
Représentation
Schéma du réseau multicouches
Représentation matricielle
( )1z
( )2y ( )3y ( )3z + ( )2W
1
+ ( )2f( )3W
( )30w
+
1
( )3f x
( )20w
( )2z
Réalisation du OU exclusif
Il apparaît que ( )3z est égal à 1 pour 1 2x x≠ et à 0 dans le cas contraire.Il vient en effet :
1 22 2 1 0x x+ − > si 1x et/ou 2 1x = ( )21 1z⇒ =
1 22 2 1 0x x+ − < si 1 2 0x x= = ( )21 0z⇒ =
1 2 1.5 0x x− − + < si 1 2 1x x= = ( )22 0z⇒ =
1 2 1.5 0x x− − + > si 1x et/ou 2 0x = ( )22 1z⇒ =
Pour avoir ( )3 1z = , il faut avoir : ( ) ( )2 2
1 2 1z z= = Ce qui exclut le cas : 1 2x x= .
PrésentationRéseaux de neurones récurrentsR
R
R
R
R
( )0x t
( ) ( )1qz t +
Présentation
Schémas simplifiés
RN
R R
R
R
R
RNR
( )x t
( )x t
( )1z t +
( )1z t +
Les Réseaux de neurones artificiels
APPRENTISSAGE
Apprentissage non supervisé
Règle de Hebb
: valeur à l’instant du poids liant le neurone jau neurone i
: sortie à l’instant t du neurone: fonction d’activation du type tout ou rien
( )ijw t
ièmei( )iz t( )f v
( ) ( ) ( ) ( )1ij ij i jw t w t z t z tμ+ = +
( ) ( ) ( ) ( ) ( )1ij ij i j ijw t w t z t z t w tμ γ+ = + −
Apprentissage non supervisé
Règle de KohonenCette règle s’écrit sous la forme :
( ) ( ) ( ) ( )( )1ij ij i ijw t w t z t w tμ+ = + −
avec : ( )i I t∈ . Elle permet au neurone d’apprendre le vecteur présenté en entrée et
donc d’être utilisé en reconnaissance des formes. L’apprentissage a lieu lorsque l’indice du neurone appartient à un
ensemble ( )I t , défini en fonction des objectifs.
Apprentissage supervisé
Règle du perceptronL’objectif est d’apprendre K patronsNotons le patron présenté à l’instant t, la sortiedésirée et la sortie réelleErreur pour la sortie du neurone
Variante de la méthode
kp( )p t ( )s t
( )z t( ) ( ) ( )i i ie t s t z t= −èmei
( ) ( ) ( ) ( )( ) ( ) ( )0 0
1
1i i i
i i i
w t w t e t p t
w t w t e t
+ = +
+ = +
( ) ( ) ( ) ( ) ( )1i i iw t w t t e t p tη+ = +
Apprentissage compétitif standard( ) ( ) ( ) ( )1
1 2, , ,
j j
T
j j j j n
z t w t x t
w w w w
= −
⎡ ⎤= ⎣ ⎦K
( ) ( ) ( ) ( )2 arg min jjz t x t w t= −
( ) ( ) ( ) ( )1 2
1
12
n
j jj
E t t x t w tα=
= −∑
( ) ( ) ( ) ( )( )
( ) ( ) ( ) ( )1
j jj
j jj
E tt x t w t
w
E tw t w t t
w
α
η
∂= − −
∂
∂+ = −
∂
Apprentissage compétitif standard
Réseau
Min
Couche d’observation
Couche intermédiaire
Couche de sortie
1x
kxnx
( )1jz ( )2z
( )11z
( )1
1nz
Apprentissage compétitifAlgorithme des K-moyennes
C’est l’algorithme le plus simple et le plus répandu enclassification automatique.
Centre 1
Centre 2
Centre 3
Algorithme des K-moyennes
Classe ( ) ( ) ( )minj j kkx p x p w x p w∈ ⇔ − = −C
jC jC
jC
( ) ( ) 2
1 1
12
N K
k kp k
E p x p wα= =
= −∑∑
( ) ( )( )1
Nk
j jpj
E p x p ww
α=
∂= − −
∂ ∑
( ) ( )
( )1
1
N
jp
j N
jp
p x pw
p
α
α
=
=
=∑
∑
Algorithme des K-moyennesCet algorithme converge en un nombre fini d’itérations, mais la solution
obtenue peut varier suivant l’initialisation. Si les observations arrivent séquentiellement, il est possible d’adopter
une forme itérative de l’algorithme. Notons ( )x t l’observation disponible à l’instant t et ( )jw t le vecteur
définissant le centre de la classe jC au même instant. Il vient :
( ) ( ) ( )( ) ( ) ( )( )1
1 11
jj j j
j
tw t w t x t w t
N tα +
+ = + + −+
avec : ( )jN t le nombre d’éléments de la classe jC à l’instant t :
( ) ( ) ( )1 1j j jN t N t tα+ = + +
A l’instant 1t + , seul le centre jw tel que :
( )1 1j tα + = est actualisé, les autres restant inchangés.
Apprentissage compétitif
Apprentissage pénalisant le rival
( ) ( )( ) ( )
arg min
arg min
kk
kk g
g x t w t
r x t w t≠
= −
= −
gw
rw
Apprentissage compétitif
Apprentissage pénalisant le rival
( ) ( ) ( ) ( ) ( )( )( ) ( ) ( ) ( ) ( )( )( ) ( ) { }
1
1
1 ,
g g g
r r r
k k
w t w t t x t w t
w t w t t x t w t
w t w t k g r
η
γ
+ = + −
+ = − −
+ = ∀ ∉
Algoritme compétitif pénalisant le rival
- si le nombre K de neurones est supérieur au nombre réel de classesen présence, les neurones gagnants évoluent vers les centres des classes etles autres s’éloignent de l’ensemble des observations ;
- si le nombre K de neurones est inférieur au nombre de classes enprésence, il y a oscillation des vecteurs poids entre les classes durantl’apprentissage ; ce qui indique la nécessité d’ajouter une ou plusieursclasses.
Apprentissage supervisé
• Réseau à 3 couches
Couche d’entréeneurones
Couche cachéeneurones
Couche de sortieneurones
ix( )1kz
( )2jz ( )3
iz
Apprentissage supervisé
• Rétropropagation du gradient
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )2 1
3 3 2 1 2 30 0 3
1 1, 1, ,
n n
i ij jk k j ij k
z t f w t f w z t w t w t i n= =
⎡ ⎤⎛ ⎞= + + ∀ =⎢ ⎥⎜ ⎟
⎝ ⎠⎣ ⎦∑ ∑ K
( ) ( ) ( ) ( )( )3 23
1
12
n
i ii
E t z t s t=
= −∑( ) ( ) ( ) ( ) ( ) ( )
( )1l lij ij l
ij
E tw t w t t
wη
∂+ = −
∂
Apprentissage supervisé du réseau multicouche
Méthode de rétropropagation du gradient
( ) ( ) ( ) ( )( )2
1
12
qnqi i
i
E t z t s t=
= −∑
( ) ( ) ( ) ( ) ( ) ( )( )1l ll
E tW t W t t
wη
∂+ = −
∂
Apprentissage supervisé
Rétropropagation du gradient
… … …
… … …
…
…
…
…
Couche 1 Couche Couche Couche 1l − l q
1ljtot − ( )1l
jz−
litot
( )liz
Algorithme de rétropropagation du gradient
( ) ( ) ( ) ( ) ( )( ) ( )
( ) ( )( )
( )( )1
l ll l i iij ij ll l
ii ij
E t z t tot tw t w t
tot tz t wη
⎛ ⎞⎛ ⎞⎛ ⎞∂ ∂ ∂+ = − ⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟∂∂ ∂⎝ ⎠⎝ ⎠⎝ ⎠
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )1q q q qij ij i jw t w t t t z tη δ+ = −
( ) ( ) ( ) ( ) ( )( ) ( )( )( )
qiq q
i i i qi
f tot tt z t s t
tot tδ
∂= −
∂
Les réseaux de neurones artificiels
Analyse en composantes principales
Analyse en composantes principales
Ensemble des observations:
Ensemble de leurs projections : { }1 2, , , , ,p PX x x x x= K K
{ }1 2, , , , ,p PY y y y y= K K
n mp px y∈ → ∈R R[ ]
[ ]( )
1 2
1 2
, , ,
, , ,
Tk k k kn
Tk k k km
x x x x
y y y y
Y Xϕ
=
=
=
K
K
Analyse en composantes principales
Extraction de la composante principale
Σ
1x
2xM
nx
y
( ) ( ) ( )1
n
i ii
y t w t x t=
= ∑( ) ( ) ( ) ( ) ( ) ( ) ( )( )1i i i iw t w t t y t x t y t w tη+ = + −
( )( )1
11
P T
p pp
x xP
μ μ=
Σ = − −− ∑
1
1 P
ppx
Pμ
=
= ∑
Analyse en composantes principalesRéseaux de neurones hiérarchiques
Σ
Σ
Σ1x
jx
nx
1y
iy
my
( ) ( ) ( ) ( ) ( ) ( ) ( )1
1i
i i i l ll
w t w t t y t x t y t w tη=
⎡ ⎤+ = + −⎢ ⎥⎣ ⎦∑
( ) ( ) ( ) ; 1,2, ,Ti iy t w t x t i m= = K
Analyse en composantes principales
Réseaux de neurones hiérarchiquesL’algorithme de Hebb généralisé est le suivant : 1) Choisir ( )tη petit paramètre positif et choisir le nombre maximum
d’itérations T . 2) Initialiser les poids du réseau à des valeurs aléatoires proches de
zéro. 3) Présenter au réseau une observation ( )x t de la base
d’apprentissage. 4) Calculer les équations du réseau et actualiser les poids
conformément à la règle précédemment définie. 5) Tant que t T< , faire 1t t= + et aller en 3.
Analyse en composantes principales
Réseaux de neurones adaptatifs
Σ
Σ
Σ
1x
jx
nx
1y
iy
my
( ) ( ) ( ) ( ) ( )1
1
1, 2, ,i
Ti i il l
l
y t w t x t v t y t j m−
=
= + =∑ K
( ) ( ) ( ) ( ) ( ) ( ) ( )( )21i i i i iw t w t t y t x t y t w tη+ = + −
( ) ( ) ( ) ( ) ( ) ( ) ( )( )211i i i i i iv t v t t y t Y t y t v tη −+ = − +
Analyse en composantes principales
• Perceptron avec projection dans la couche cachée
.
.
.
.
.
.
Analyse en composantes principalesMéthodes de projection non linéaire
L’algorithme de Sammon consiste à déterminer laprojection qui minimise la fonction d’erreur : PNLE
( )2
1 , 1 ,
x yuv uv x
PNL uvxu v P u v Puv
d dE d
d≤ ≤ ≤ ≤
⎛ ⎞− ⎛ ⎞⎜ ⎟= ⎜ ⎟⎜ ⎟ ⎝ ⎠⎝ ⎠∑ ∑
( ) ( ) ( )1
2
21 PNLp p
p p
E Ey t y t ty y
η−
⎡ ⎤∂ ∂+ = − ⎢ ⎥
∂ ∂⎢ ⎥⎣ ⎦
Analyse en composantes principales
Perceptron avec projection dans la couchecachée
Σ
Σ
Σ
1px
pnx
( )31z
Σ f
Σ f
( )3nzΣ
( )21z
M
M
M
M
M
M
M
Réseaux de neurones artificiels
Classification
Classification
Classification automatique superviséeExemple :
12345678910
1 2 3 4 5 6 7 8 9 10
ClassificationRéseaux multicouches
La première couche de neurones permet de définir des séparateurs linéaires afin de distinguer les classes de vecteurs. La deuxième couche réalise la fonction logique ET permettant de définir des zones et la troisième couche va servir à regrouper les zones de même nature en réalisant la fonction OU.
1 1
+ +
1
+
x
( )10w
( )1y ( )2y ( )3y( )1W
( )3z
Classification
• Réalisation du « ou » exclusif
2
2
-1-1
-1
1.5
1
1
1
1 -1.5
1
Σ
Σ
Σ
Σ
Classification
Cartes topologiques de Kohonen
connexions
sorties
(a)
sorties
(b)
minv rrw x w x− = −( ) 1
1 ef σσ −=
+
( ) ( ) ( ) ( ) ( ) ( )( )' ' '1 , ' 'v v vw t w t v v t x t w t v Vα η+ = + − ∀ ∈
Réseaux de neurones artificiels
Réseaux de Hopfield
Réseaux de Hopfield
Réseaux totalementconnectés …
…
…
.
.
.
.
.
.
.
.
.
.
.
.…
+
W
zx
f
( ) ( )signei if y y=
Réseaux de Hopfield discrets
Reconnaissance de patrons
Il vient si le neurone est choisi pour l’actualisation l’instant t+1 :
12H ij i j i i
i j iE w z z x z= − −∑∑ ∑
1
1 pT
k kk
PW p p In n=
= −∑
ièmei
( ) ( )
( )
1 si
1 signe
j j
i ij j ij i
z t z t j i
z t w z x≠
+ = ≠
⎛ ⎞+ = +⎜ ⎟
⎝ ⎠∑
Initialisation du réseau : i iz x i= ∀
Réseaux de Hopfield continus
Optimisation
Critère :
Contraintes :
[ ]1 1 21 avec , , ,2
TT TnE x Rx s x x x x xδ= + + = K
0 1, 2, ,Ti ir x s i l− = = K
1'2
T TE x Tx b x c= + +12
T TE x Tx b x= +
( ) 1
1 expi i
i
f u xuτ
= =⎛ ⎞+ −⎜ ⎟⎝ ⎠
( )ddu E Tx bt x
∂= − = − +
∂
( ) ( ) ( )d d diag 1d d
TT i
ixE E x u Tx b x Tx b
t x u t τ∂ ∂ ⎧ ⎫⎛ ⎞= = − + − +⎨ ⎬⎜ ⎟∂ ∂⎝ ⎠ ⎩ ⎭
Réseaux de Hopfield continus
Schéma du réseau
− Σ
0i iT ≠
iu ix1iT
1x
inT
nx
ib
Réseaux de Hopfield continus
Problème du voyageur de commerceVisiter n villes. grandeur égale à 1 si le voyageur visite la ville x à l’étape i
représente la distance pour aller de la ville x à la ville y
Le réseau de Hopfield est constitué de neurones
xiV
xyd
( )1 , 1 , 112 xy xi y i yx xi y i
i x y xE d V V d V V+ −
≠
= +∑∑∑
2 2
2 1 1 0xi xix i i x
E V V⎛ ⎞ ⎛ ⎞= − + − =⎜ ⎟ ⎜ ⎟⎝ ⎠ ⎝ ⎠
∑ ∑ ∑ ∑
1xiiV x= ∀∑1xi
x
V i= ∀∑
2n
Réseaux de neurones artificiels
Modélisation et commande des processus
Modélisation et commande desprocessus
La faculté de recopie par apprentissage des Réseaux de Neurones (RN) permet une utilisation particulièrement intéressante pour la modélisation et la commande des processus, en particulier en utilisant des réseaux de neurones dynamiques.
( )1 1 1, , , , , , ,N Dk k k k n k k k ny f u u u y y y+ − − − −= K K
Modélisation et commande desprocessus
Modélisation
RND
sortiecommandeR R R
R RR
RN
ku ku1ky +1ky +
Modélisation
Modèle direct
processus
système d’apprentissage
RND
commande sortie
Modélisation
Modèle inverse
processus
système d’apprentissage
RNDmodèle inverse
commande sortie
Commande
Utilisation du modèle neuronal inverse
RNDmodèle inverse
système de commande processus
consigne sortie
Commande
Commande à Modèle Interne neuronal
système de commande processus
RNDmodèle direct
consigne sortie
+−
Commande
Recopie d’un système de commande
systèmed’apprentissage
consigne
sortie
RNDcorrecteur
système de commande
modèle du processus
Commande
Commande à modèle de référence
systèmed’apprentissage
consigne
modèle de référence du
système bouclé
RNDsystème de commande
sortiemodèle du processuscommande
Réseaux de neurones artificiels
Les réseaux neuro-flous
Réseaux neuro-flous
Le réseau neuro-flou, étudié ici , comporte cinq couches. La première couche, formée de neurones linéaires, transmet sans
changement les variables d’entrée à la deuxième couche qui calcule lesdegrés d’appartenance des variables d’entrée aux diverses classes dessituations préalablement déterminées.
La troisième couche calcule le degré d’appartenance de la partieprémisses en réalisant l’opérateur ET, par exemple en prenant le minimumdes appartenances ayant activé la ièmek règle.
En notant kI l’ensemble des indices des fonctions d’appartenance ayantpermis d’activer cette règle, il vient :
( ) ( )( )3 2mink
k ll Iz z
∈=
Les poids liant la troisième à la quatrième couche sont égaux à 1.
Réseaux neuro-flousLa quatrième couche calcule les degrés d’appartenance aux parties conclusions dont les classes sont définies par les fonctions d’activation des neurones de cette couche. Elle réalise la fonction OU, par
exemple pour la ièmej variable de la couche 4 :
( ) ( ){ }4 3maxj
j kk Iy z
∈=
jI étant l’ensemble des indices des variables de la troisième couche, intervenant dans la
détermination de la ièmej variable de la quatrième couche.
La fonction d’appartenance associée à cette variable peut être, là encore, de la forme triangle, trapèze ou fonction gaussienne de la forme :
( )( )
( )
24
4exp jj
j
u cf u
σ
⎛ ⎞⎛ ⎞−⎜ ⎟= −⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠⎝ ⎠ La cinquième couche du réseau réalise la défuzzification, par exemple suivant l’expression :
( )
( ) ( ) ( )
( ) ( )
4 4 4
54 4
i
i
j j jj I
ij j
j I
c zz
z
σ
σ∈
∈
=∑
∑
Réseaux neuro-flous
1x 2x 1nx
1 1 1 1 1 1 1
1 1 1 1
…
…
…
…
…
5ième couche :couche de sortie
( ) ( ){ }5 5iz z=
4ième couche
( ) ( ){ }4 4jz z=
3ième couche
( ) ( ){ }3 3kz z=
2ième couche
( ) ( ){ }2 2lz z=
{ }mx x=
1ière couche : couche d’entrée
Réseaux de neurones artificiels
Questions ?
Recommended