les réseaux de neurones artificiels - acse...

69
Les réseaux de neurones artificiels Pierre Borne [email protected]

Upload: vuquynh

Post on 15-Sep-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

Les réseaux de neurones artificielsPierre [email protected]

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

0x0w

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⎡ ⎤= ⎣ ⎦…

( )lijw ièmej

ièmei( ) ( )l

if ⋅ ièmei

( )1i iz x=

11 2, , ,T

nx x x x⎡ ⎤= ⎣ ⎦…

( ) ( ) ( ) ( )1 1 10

1

lnl l l l

i ij j ij

y 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écurrents

R

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

= −

⎡ ⎤= ⎣ ⎦…( ) ( ) ( ) ( )2 arg min jj

z 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

jC jC

Algorithme des K-moyennes

Classe ( ) ( ) ( )minj j kk

x p x p w x p w∈ ⇔ − = −CjC

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

( )3iz

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= =

⎡ ⎤⎛ ⎞= + + ∀ =⎢ ⎥⎜ ⎟

⎝ ⎠⎣ ⎦∑ ∑ …

( ) ( ) ( ) ( )( )3 23

1

12

n

i ii

E t z t s t=

= −∑( ) ( ) ( ) ( ) ( ) ( )

( )1l lij ij l

ij

E tw t w t t

∂+ = −

Apprentissage supervisé du réseau multicouche

Méthode de rétropropagation du gradient

( ) ( ) ( ) ( )( )2

1

12

qnq

i ii

E t z t s t=

= −∑

( ) ( ) ( ) ( ) ( ) ( )( )1l ll

E tW t W t t

∂+ = −

Apprentissage supervisé

Rétropropagation du gradient

… … …

… … …

Couche 1 Couche Couche Couche 1l − l q

1ljtot −

( )1ljz −

litot

( )liz

Algorithme de rétropropagation du gradient

( ) ( ) ( ) ( ) ( )( ) ( )

( ) ( )( )

( )( )1

l ll l i i

ij ij ll lii 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= … …

{ }1 2, , , , ,p PY y y y y= … …

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ϕ

=

=

=

Analyse en composantes principales

Extraction de la composante principale

( )( )1

11

P T

p pp

x xP

µ µ=

Σ = − −− ∑

Σ

1x

2x

nx1

1 P

pp

xP

µ=

= ∑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η+ = + −

Analyse en composantes principalesRéseaux de neurones hiérarchiques

Σ

Σ

Σ1x

jx

nx

1y

iy

my

( ) ( ) ( ) ; 1,2, ,Ti iy t w t x t i m= = …

( ) ( ) ( ) ( ) ( ) ( ) ( )1

1i

i i i l ll

w t w t t y t x t y t w tη=

⎡ ⎤+ = + −⎢ ⎥⎣ ⎦∑

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−

=

= + =∑ …( ) ( ) ( ) ( ) ( ) ( ) ( )( )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

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δ= + + = …

0 1, 2, ,Ti ir x s i l− = = …

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 ≠

iuix

1iT1x

i nT

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 x

E d V V d V V+ −≠

= +∑∑∑

2 2

2 1 1 0xi xix i i x

E V V⎛ ⎞ ⎛ ⎞= − + − =⎜ ⎟ ⎜ ⎟⎝ ⎠ ⎝ ⎠

∑ ∑ ∑ ∑

1xii

V x= ∀∑1xix

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+ − − − −= … …

Modélisation et commande desprocessus

Modélisation

R R R

R RR

RN

ku 1k

RND

sortiecommande

ku 1ky +y +

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 2x1nx

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 ?