Vous êtes sur la page 1sur 102

INTRODUCTION AUX

RESEAUX DE NEURONES
Grald PETITJEAN
gerald.petitjean@eurodecision.com

BIBLIOGRAPHIE
1.
2.
3.
4.
5.
6.

F. Blayo et M. Verleysen, Les Rseaux de Neurones Artificiels ,Que


Sais-Je ?, n3042
J.-P. Renard, Rseaux neuronaux (une introduction accompagne
dun modle Java), Vuibert
G. Dreyfus, M. Samuelides, J.-M. Martinez, M. B. Gordon, F. Badran,
S. Thiria, L. Hrault, Rseaux de neurones (mthodologies et
applications), Eyrolles
C. M. Bishop, Neural networks for pattern recognition, Oxford
University
T. Mitchell, Machine learning, Mac Graw Hill
A. Cornujols, L. Miclet, Y. Kodratoff, Apprentissage artificiel,
Eyrolles

Sur le net :
C. Touzet, Les Rseaux de Neurones Artificiels : Introduction au
Connexionnisme, 1992

OUTILS / BIBLIOTHEQUES
Outils commerciaux :
1. Matlab : neural networks toolbox
http://www.mathworks.com/products/neuralnet/
2. Netral : Neuro One
http://www.netral.com/index.html
http://www.netral.com/logiciels/neuroone-fr.html
Outils open-source / gratuits :
1. JOONE : bibilothque JAVA open source (licence LGPL)
http://www.jooneworld.com/
2. Scilab : ANN toolbox
http://www.scilab.org/
http://www.scilab.org/contrib/displayContribution.php?fileID=165
3. Matlab : netlab toolbox
http://www.ncrg.aston.ac.uk/netlab/index.php

RESEAUX DE NEURONES
Connexionisme.
Modlisation mathmatique du cerveau humain.
Rseaux de neurones formels = rseaux d units de calcul
lmentaire interconnectes.
2 axes de recherche :
- tude et modlisation des phnomnes naturels d apprentissage
(biologie, physiologie du cerveau)
- algorithmes pour rsoudre des problmes complexes

RESEAUX DE NEURONES
Applications :
statistiques : analyse de donnes / prvision / classification
robotique : contrle et guidage de robots ou de vhicules
autonomes
imagerie / reconnaissance de formes
traitement du signal
simulation de lapprentissage

MODELE BIOLOGIQUE
Les neurones reoivent des signaux (impulsions lectriques) par les
dendrites et envoient l information par les axones.
Les contacts entre deux neurones (entre axone et dendrite) se font par
l intermdiaire des synapses.
Les signaux n oprent pas de manire linaire : effet de seuil.

HISTORIQUE
Historique :
Mac Culloch et Pitts (1943) : dfinition d un neurone formel
Loi de Hebb (1949)
Rosenblatt (1958), Widrow et Hoff : modle avec processus
d apprentissage, perceptron
Minsky et Papert (1969) : limites des perceptrons
Kohonen (1972) : mmoires associatives
Rumelhart Mc Clelland (1980), Werbos Le Cun : perceptron
multi-couches, mcanismes d apprentissage performants (rtropropagation du gradient).
7

NEURONE FORMEL
Principes :
pas de notion temporelle
coefficient synaptique : coefficient rel
sommation des signaux arrivant au neurone
sortie obtenue aprs application d une fonction de transfert

NEURONE FORMEL
Modlisation :
Le neurone reoit les entres x1, , xi, , xn.
Le potentiel dactivation du neurone p est dfini comme la somme
pondre (les poids sont les coefficients synaptiques wi) des entres.
La sortie o est alors calcule en fonction du seuil .

Soit : p = x.w = x1.w1 + + xi.wi + + xn.wn


x1

w1
wi

xi

Alors :

o = 1 si p >
o = 0 si p

wn

xn
9

DEFINITIONS
Dfinitions :
Dterminer un rseau de neurones = Trouver les coefficients
synaptiques.
On parle de phase dapprentissage : les caractristiques du rseau
sont modifies jusqu ce que le comportement dsir soit obtenu.
Base dapprentissage : exemples reprsentatifs du comportement ou
de le fonction modliser. Ces exemples sont sous la forme de couples
(entre ; sortie) connus.
Base dessai : pour une entre quelconque (bruite ou incomplte),
calculer la sortie. On peut alors valuer la performance du rseau.
10

DEFINITIONS
Dfinitions :
apprentissage supervis : les coefficients synaptiques sont valus en
minimisant l erreur (entre sortie souhaite et sortie obtenue) sur une
base d apprentissage.
apprentissage non-supervis : on ne dispose pas de base
d apprentissage. Les coefficients synaptiques sont dtermins par
rapport des critres de conformit : spcifications gnrales.
sur-apprentissage : on minimise l erreur sur la base d apprentissage
chaque itration mais on augmente l erreur sur la base d essai. Le
modle perd sa capacit de gnralisation : c est l apprentissage par
cur.
Explication : trop de variables explicatives dans le modle ; on
n explique plus le comportement global mais les rsidus.

11

LOI DE HEBB
Rseau de neurones :
n entres e1, , en
m neurones N1, , Nm.
wij le coefficient synaptique de la liaison entre les neurones Ni et Nj
une sortie o
un seuil S
Fonction de transfert : fonction Signe
si x > 0 : Signe(x) = +1
si x 0 : Signe(x) = 1

Ni

wij

Nj
12

LOI DE HEBB
Principe :
Si deux neurones sont activs en mme temps, alors la force de
connexion augmente.
Base d apprentissage :
On note S la base d apprentissage.
S est compose de couples (e, c) o :
e est le vecteur associ l entre (e1, , en)
c la sortie correspondante souhaite
Dfinitions :
ai est la valeur d activation du neurone Ni.
13

LOI DE HEBB
Algorithme :
est une constante positive.
Initialiser alatoirement les coefficients wi
Rpter :
Prendre un exemple (e, c) dans S
Calculer la sortie o du rseau pour l entre e
Si c o
Modification des poids wij :
wij = wij + (ai aj)
Fin Pour
Fin Si
Fin Rpter
14

LOI DE HEBB : exemple


Exemple :

=1
Conditions initiales : coefficients et seuils nuls

15

LOI DE HEBB : exemple


Exemple :
Exemple (1) : o = Signe(w1 e1 + w2 e2) = Signe(0) = 1

o=11=x
w1 = w1 + e1 x = 1
w2 = w2 + e2 x = 1
Exemple (2) : o = Signe((w1 e1 + w2 e2) = Signe(0) = 1
o=11=x
w1 = w1 + e1 x = 2
w2 = w2 + e2 x = 0
Exemples (3) et (4) OK
Exemples (1) et (2) OK STOP

16

LOI DE HEBB
Remarque :
Calcul des coefficients wij sans utiliser l algorithme itratif.
Principe : les coefficients sont initialiss 0, vaut 1, et on prsente
tous les exemples de la base d apprentissage.
wij = [(e,c) dans S] (ai aj)

17

LOI DE HEBB
Application : mmoires auto-associatives
Kohonen (1977)
Reconstruction de donnes :
en entre : une information partielle ou bruite
en sortie : le systme complte ou corrige l information
image apprise

image soumise
au rseau

Image restitue
par le rseau

18

EXERCICE : Loi de Hebb


Reconstitution d images :
les chiffres 0, 1 et 2

19

PERCEPTRON
Perceptron linaire seuil :
n entres x1, , xn
n coefficients synaptiques w1, , wn
une sortie o
un seuil

20

PERCEPTRON
On ajoute une entre supplmentaire x0 (le biais), avec le coefficient
synaptique suivant : w0 =
On associe comme fonction de transfert la fonction de Heavyside :
f(x) = 1 si x > 0
f(x) = 0 sinon

21

PERCEPTRON
Apprentissage par l algorithme du perceptron
On note S la base d apprentissage.
S est compose de couples (x, c) o :
x est le vecteur associ l entre (x0, x1, , xn)
c la sortie correspondante souhaite
On cherche dterminer les coefficients (w0, w1, , wn).
Initialiser alatoirement les coefficients wi.
Rpter :
Prendre un exemple (x, c) dans S
Calculer la sortie o du rseau pour l entre x
Mettre jour les poids :
Pour i de 0 n :
wi = wi + (c o) xi
Fin Pour
Fin Rpter

22

PERCEPTRON : exemple
Apprentissage par l algorithme du perceptron : exemple
Apprentissage du OU logique
x0 = 1

x1

w0
o = x1 OR x2

w1
w2
x2

23

PERCEPTRON : exemple
Apprentissage par l algorithme du perceptron : exemple
=1
x0 vaut toujours 1
Initialisation : w0 = 0 ; w1 = 1 ; w2 = 1
tape
init
1
2
3
4
5
6
7
8
9
10

w0

w1

w2

Entre

02 wi xi

0
0
1
1
1
0
1
1
1
0

1
1
1
1
1
1
1
1
1
1

-1
-1
0
0
0
0
1
1
1
1

100
101
110
111
100
101
110
111
100
101

0
-1
2
2
1
0
2
3
1
1

0
0
1
1
1
0
1
1
1
1

0
1
1
1
0
1
1
1
0
1

w0
0
0+0x1
0+1x1
1
1
1+(-1)x1
0+1x1
1
1
1+(-1)x1
0

w1
1
1+0x0
1+1x 0
1
1
1+(-1)x0
1+1x0
1
1
1+(-1)x0
1

w2
-1
-1+0x0
-1+1x1
0
0
0+(-1)x0
0+1x1
1
1
1 +(-1)x0
1

Donc : w0 = 0 ; w1 = 1 ; w2 = 1
Ce perceptron calcule le OU logique pour tout couple (x1 ; x2)
24

PERCEPTRON
Apprentissage par l algorithme du perceptron : remarques
bien choisi, suffisamment petit
Si trop grand : risque d oscillation autour du minimum
Si trop petit : nombre lev d itrations
En pratique : on diminue graduellement au fur et mesure des
itrations

25

PERCEPTRON
Apprentissage par l algorithme du perceptron : remarques
Si l chantillon n est pas linairement sparable, l algorithme ne converge
pas.
L algorithme peut converger vers plusieurs solutions (selon les valeurs
initiales des coefficients, la valeur de , l ordre de prsentation des exemples).
La solution n est pas robuste : un nouvel exemple peut remettre en cause le
perceptron appris.

26

Optimisation : gradient (rappels)


Problme :
Trouver le minimum de la fonction f continue
et drivable : x f(x)
On construit la suite :
Xn telle que :
Ont part dune valeur initialeX0 quelconque
Xn+1 = Xn - * f (Xn), avec valeur relle
non nulle bien choisie entre 0 et 1
27

Optimisation : gradient (rappels)


Interprtation graphique :

28

Optimisation : gradient (rappels)


Remarques :
Le choix de est empirique
Si trop petit : le nombre ditrations est
trop grand
Si est trop grand : les valeurs de la suite
risquent dosciller pas de convergence
Rien ne garantit que le minimum trouv est
un minimum global
29

Optimisation : gradient (rappels)


Dans la pratique :
Critres darrt :
nombre ditrations max.
norme(f(Xi+1) f(Xi)) / norme (Xi+1 Xi) infrieure
(valeur trs petite)

est rajust chaque itration


valeur initiale 0 (0.01par exemple)
1-re stratgie :
si f(Xi+1) > f(Xi) i.e. f augmente, on augmente de 10%
Sinon i.e. f diminue, on diminue en le divisant par 2

2-me stratgie : on diminue la valeur de toutes les K


itrations
30

PERCEPTRON :
REGLE DELTA GENERALISEE
Fonctionnement d un neurone :
somme pondre des signaux reus (en tenant compte du biais)
puis application d une fonction de transfert (ou d activation) : sigmode
log, sigmode tangente hyperbolique, linaire
x0 = 1
x1
x2

w1

w0
o = (y)

w2
wi

Biais

y = wixi

xi
wn
xn

Entres

Sortie
Coefficients
synaptiques

On note :
y = x.w
o = (x.w)

X0 = 1 : biais
Reprsente le seuil
d activation du neurone

Somme
Pondre
31

PERCEPTRON :
REGLE DELTA GENERALISEE
Fonctions de transfert :
Sigmode tangente hyperbolique : tansig
sorties entre -1 et +1
(x) = tanh(x) et (x) = 1 tanh(x) = 1 (x)
Sigmode log : losig
sorties entre 0 et 1
x
x
x
(x) = e /(e + 1) = 1/(1 + e ) et (x) = (x) (1 (x))
Linaire : purelin
(y) = y et (y) = 1
32

PERCEPTRON :
REGLE DELTA GENERALISEE
Apprentissage par descente de gradient :
Soient le vecteur des entres x et le vecteur des coefficients
synaptiques w.
La sortie vaut alors : o = (x.w) = (x0.w0 + + xn.wn),
tant une fonction de transfert continue et drivable.
Posons : y = x.w
Soit S la base d apprentissage compose de couples (x, c), o c est la
sortie attendue pour x.
On dfinit ainsi l erreur sur le rseau pour la base d apprentissage S :
E(w) = 1/2 [(x,c) dans S] (c o)
Problme : trouver w qui minimise E(w).
Mthode du gradient.

33

PERCEPTRON :
REGLE DELTA GENERALISEE
Fonction de transfert (y)
Par exemple : est la tangente hyperbolique (sigmode tansig)
(y) = tanh(y) et (y) = 1 tanh(y) = 1 (y)

La sortie o calcule par le perceptron pour une entre x est :


o = (x.w)

34

PERCEPTRON :
REGLE DELTA GENERALISEE
Mthode du gradient (rappel) :

xn+1 = xn f (xn) = xn + xn
E (W ) 1

1
=

=
(c o)
(
)
c
o

wi
2 S wi
2 wi S

E (W ) 1
(c o ) = (c o )
(c ( x w))
= 2(c o)
2 S
wi
wi
wi
S

y
(c ( x.w)) =
(c ( y )) = (c ( y ))
= ' ( y ) xi
Or :
wi
wi
y
wi
E (W )
= (c o)( xi ) ' ( x w)
wi
S
E (W )
= xi (c o) ' ( x w)
D ' o : wi =
wi
S

35

PERCEPTRON :
REGLE DELTA GENERALISEE
Apprentissage par descente de gradient : algorithme
Initialiser alatoirement les coefficients wi.
Rpter :
Pout tout i :
wi = 0
Fin Pour
Pour tout exemple (x, c) dans S
Calculer la sortie o du rseau pour l entre x
Pout tout i :
wi = wi + (c o) xi (x.w)
Fin Pour
Fin Pour
Pour tout i :
wi = wi + wi
Fin Pour
Fin Rpter

36

PERCEPTRON :
REGLE DELTA GENERALISEE
Variante de la Rgle Delta gnralise :
On ne calcule pas les variations de coefficients en sommant sur tous
les exemples de S mais on modifie les poids chaque prsentation
d exemple.
Initialiser alatoirement les coefficients wi.
Rpter :
Prendre un exemple (x, c) dans S
Calculer la sortie o du rseau pour l entre x
Pout i de 1 n :
wi = wi + (c o) xi (x.w)
Fin Pour
Fin Rpter
37

PERCEPTRON : REGLE DELTA


Apprentissage : algorithme de Widrow-Hoff (adaline / rgle delta)
La fonction de transfert est linaire (purelin) : (y) = y
Donc : (y) = 1
Initialiser alatoirement les coefficients wi.
Rpter :
Prendre un exemple (x, c) dans S
Calculer la sortie o du rseau pour l entre x
Pout i de 1 n :
wi = wi + (c o) xi
Fin Pour
Fin Rpter

38

PERCEPTRONS / REGLES DELTA


Remarques
: pas dapprentissage
Rgles delta et delta gnralise : les algorithmes convergent
vers la solution des moindres carrs.
La rgle delta gnralise , par la non-linarit de la fonction de
transfert , permet de minimiser l importance d un lment tranger
(erreur de mesure, bruit trop important, ).

39

PERCEPTRONS / REGLES DELTA


Remarques
Perceptrons = classificateurs linaires (ensembles linairement
sparables).

?
AND

OR

XOR

Pour apprendre le OU Exclusif (XOR), on utilise un Perceptron


Multi-Couches.
40

EXERCICE : perceptron
Classificateur linaire :
Trouver la droite qui spare deux groupes de points.

41

PERCEPTRON MULTI-COUCHES
Les diffrentes couches :
Cellules rparties dans q couches : C0, C1, , Cq
C0 : couche d entre (la rtine) les variables d entre
Cq : couche de sortie
C1, , Cq-1 : les couches caches

42

PERCEPTRON MULTI-COUCHES
Fonction de transfert :
fonction sigmode logsig :

k ( x) = e kx /(e kx + 1) = 1 /(1 + e kx )
k=1:

Drive :

( x) = e x /(e x + 1) = 1 /(1 + e x )

' ( x) = ( x) (1 ( x))
43

PERCEPTRON MULTI-COUCHES
Notations :
n cellules
Cellules dsignes par un indice i, 0 i < n
p cellules de sortie
k indice d une cellule de sortie
ck : sortie attendue pour la cellule de sortie k avec l entre x
ok : sortie calcule pour la cellule de sortie k avec l entre x
xij : entre associe au lien entre cellule I vers cellule j
wij : coefficient synaptique associ au lien entre cellule i vers cellule j
Succ(i) : ensemble des cellules qui prennent comme entre la sortie de la
cellule i.
Pred(i) : ensemble des cellules dont la sortie est une entre de la cellule i.
yi : entre totale de la cellule i : yi = (j Pred(i)) (wij xij)
oi : sortie de la cellule I : oi = (yi)

44

PERCEPTRON MULTI-COUCHES
Notations :

45

PERCEPTRON MULTI-COUCHES
Algorithme de rtropropagation du gradient :
Initialiser alatoirement les coefficients wij dans [-0.5 ; 0.5]
Rpter
Prendre un exemple (x, c) de S
Calculer la sortie o
Pour toute cellule de sortie i
i = (yi) (ci oi) = oi (1 oi) (ci oi)
Fin Pour
Pour chaque couche de q 1 1
Pour chaque cellule i de la couche courante
i = (yi) [(k Succ(i)) (k wki)]
= oi (1 oi) [(k Succ(i)) (k wki)]
Fin Pour
Fin Pour
Pour tout poids wij
wij = wij + i xij
Fin Pour
Fin Rpter

46

PERCEPTRON MULTI-COUCHES
Ajout d un paramtre inertiel (momentum) : viter les oscilations
Initialiser alatoirement les coefficients wi dans [-0.5 ; 0.5]
Rpter
Prendre un exemple (x, c) de S
Calculer la sortie o
Pour toute cellule de sortie i
i = (yi) (ci oi) = oi (1 oi) (ci oi)
Fin Pour
Pour chaque couche de q 1 1
Pour chaque cellule i de la couche courante
i = (yi) [(k Succ(i)) (k wki)]
= oi (1 oi) [(k Succ(i)) (k wki)]
Fin Pour
Fin Pour
Pour tout poids wij litration k
wij(k) = wij(k-1) + i xij + (wij(k 1) - wij(k 2))
Fin Pour
Fin Rpter

47

PERCEPTRON MULTI-COUCHES
Remarques :
Perceptron Multi-Couches
= gnralisation du perceptron et de la rgle delta.

48

PERCEPTRON MULTI-COUCHES
Estimer la qualit du rseau :
Prsenter des exemples (pour lesquels on connat la sortie souhaite)
qui ne font pas partie de la base dapprentissage et comparer la sortie
souhaite avec la sortie calcule par le rseau.
Attention au sur-apprentissage : la base dapprentissage est
parfaitement apprise mais la capacit de gnralisation est faible.
Dans la pratique : garder une partie de la base dapprentissage pour
valuer la qualit du rseau
80 % de la base pour lapprentissage
20 % restant de la base pour lvaluation de la qualit

49

PERCEPTRON MULTI-COUCHES
Normaliser les donnes dentre (pour chaque neurone
dentre i) :

1-re mthode : grce la moyenne et lcart-type


Donnes continues
1 N

xi =

k
x
i
k =1

1 N k
2
(
)
=
x

x
i i
N 1 k =1
2
i

~
xik =

xik xi

2-me mthode : en se ramenant dans un intervalle du type [0 ; 1]


Donnes continues
Donnes discrtes

50

PERCEPTRON MULTI-COUCHES
Remarque :
Le nombre de couches caches et le nombre de neurones par
couche ont une influence sur la qualit de lapprentissage.

51

PERCEPTRON MULTI-COUCHES
Classification / Discrimination :
Rseaux de neurones 2 ou 3 couches (1 ou 2 couches caches)
Fonctions de transfert logsig
Sorties dans lintervalle [0 ; 1]

52

PERCEPTRON MULTI-COUCHES
Classification / Discrimination :
1-re modlisation :
chaque neurone de sortie indique la probabilit dappartenance la
classe correspondante
lexemple fourni en entre appartient la classe pour laquelle la
probabilit dappartenance est la plus forte

53

PERCEPTRON MULTI-COUCHES
Classification / Discrimination :
Inconvnients :
apprentissage trs long (trs nombreuses connexions)
une nouvelle classe : il faut tout rapprendre !
2-me modlisation : un rseau par classe
pour chaque rseau, une sortie indique si lexemple soumis
appartient la classe correspondante

54

PERCEPTRON MULTI-COUCHES
Classification / Discrimination :
Applications :
Reconnaissance de formes
codes postaux, signatures, visages,
dfauts de rails

Traitement du signal : reconnaissance de la parole


Informatique dcisionnelle ( quelle classe de consommateurs
appartient un individu ?)

55

PERCEPTRON MULTI-COUCHES
Rgression (Approximation de fonction) :
On donne x en entre.
Le rseau calcule f(x) en sortie
Rseaux de neurones 2 couches (1 couche cache)
Fonctions de transfert logsig pour la couche cache
Fonctions de transfert purelin pour la couche de sortie
Perceptron Multi-Couches = approximateur universel.
Permet dapproximer nimporte quelle fonction, condition que le
nombre de neurones dans les couches caches soit suffisant !

56

PERCEPTRON MULTI-COUCHES
Prvision :
On donne K valeurs successives de f en entre.
Le rseau calcule la valeur suivante en sortie
Mme type de rseau que pour la rgression.

57

PERCEPTRON MULTI-COUCHES
Rgression / Prvision :
Applications :
approximation de fonctions compliques
rgression partir de donnes exprimentales (relevs ou mesures
exprimentales)
prvisions mtorologiques
prvisions financires

58

EXERCICES : PMC
Classification :
Reconnaissance de formes :
les lettres de l alphabet
les chiffres de 0 9

59

EXERCICES : PMC
Rgression :
Approximation de fonctions :
y = 2*x + 4 sur [-8 ; 8]

60

EXERCICES : PMC
Rgression :
Approximation de fonctions :
y = 2*x^2 + 4 sur [-8 ; 8]

61

EXERCICES : PMC
Rgression :
Approximation de fonctions :
y = 2*x + 4 sur [0 ; 20]

62

EXERCICES : PMC
Rgression :
Approximation de fonctions :
y = 2*sin(x) + 4 sur [0 ; 10]

63

EXERCICES : PMC
Rgression :
Approximation de fonctions :
y = 2*ln(x) + 4 sur [0.1 ; 15.1]

64

EXERCICES : PMC
Rgression :
Approximation de fonctions :
y = 2*exp(x) + 4 sur [-1 ; 5]

65

CARTE DE KOHONEN
Rseaux de Neurones Comptition : un seul neurone de sortie est activ
pour une entre donne.
Mise en correspondance de lespace dentre avec lespace du rseau.
Auto-organisation
Origine biologique : une zone du cortex correspond une zone des
organes sensoriels et moteurs

66

CARTE DE KOHONEN
Applications :
robotique : pilotage de robots
compression de donnes
statistiques : mthode semblable lAnalyse en Composantes
Principales (ACP)

67

CARTE DE KOHONEN
Principes (en 2D) :
n cellules dentre e = (e1, , en)
une carte : rseau de m neurones de sortie x1, , xm
connexions latrales (coefficients fixes) entre les neurones de sortie :
un neurone est connect ses 4 plus proches voisins
connexions de coefficient wij entre une cellule dentre ei et un
neurone de sortie xj

68

CARTE DE KOHONEN
Principes :
Pour une entre, un seul neurone sur la carte est slectionn (valeur 1).
On encourage le vainqueur : the winner takes all .
Ce neurone correspond le plus possible lentre : minimisation dune
distance.
Remarques :
En pratique, on normalise les entres.

69

CARTE DE KOHONEN
Algorithme dapprentissage :
Initialiser alatoirement les coefficients wij
Rpter
Prendre une entre e = (e1, , ei, , en)
Calculer la distance dj de chaque neurone xj par rapport e

dj =

2
(
e

w
)
i ij
i =1

Slectionner le neurone xk le plus proche de e : dk = Min(dj)


Modifier les coefficients pour le neurone slectionn et ses plus proches
voisins (4 pour une carte 2D) :
Pour tout i :
wik = wik + (ej wik)
wil = wil + (ej wil) o xl est un voisin de xk
Fin Pour
Fin Rpter

70

CARTE DE KOHONEN
Algorithme dutilisation :
La sortie sk du neurone xk, pour une entre e, est donne par :
sk = 1 si dk = Min(di)
sk = 0 si i k

71

CARTE DE KOHONEN
Application :
Analyse de donnes (cf. analyse en composantes principales)
Exemple :
Analyse de donnes socio-conomiques (PIB, croissance du PIB,
mortalit infantile, taux dillettrisme, ) de 52 pays
1 neurone de la carte = 1 groupe de pays (mme situation socioconomique)
Neurones voisins = groupes de pays proches (du point de vue de la
situation socio-conomique)

72

CARTE DE KOHONEN

73

EXERCICE : carte de Kohonen


Analyse de donnes / clustering:
4 classes dans un nuage de points

74

RESEAUX RECURRENTS / BOUCLES


1) SYSTEMES DYNAMQUES A TEMPS DISCRET
quations dtat :
x(k) = [(x(k-1) , u(k-1)]
y(k) = [x(k)]
Avec u(k) : vecteur des entres linstant k*t
y(k) : vecteur des sorties linstant k*t
x(k) : vecteur des variables dtat k*t

75

RESEAUX RECURRENTS / BOUCLES


1) SYSTEMES DYNAMQUES A TEMPS DISCRET
Reprsentation sous forme de rseau de neurones
rcurrent ou boucl :
y(k)

x(k)

q 1 Symbole

reprsentant
un retard
dune unit
de temps

Rseau de neurones non boucl : PMC

u(k-1)

x(k-1)

q 1

q 1

76

RESEAUX RECURRENTS / BOUCLES


1) SYSTEMES DYNAMQUES A TEMPS DISCRET
Applications :
Automatique / Robotique : contrle commande,
asservissement
Commande dun actionneur
hydraulique dun bras de robot

Sries temporelles

77

RESEAUX RECURRENTS / BOUCLES


2) RESEAUX DE HOPFIELD
Rseaux totalement connects

Mmoires auto-associatives

Associer quelque chose une suite de donnes


Exemple : on fournit une partie du visage et le on retrouve le
visage entier

78

RESEAUX RECURRENTS / BOUCLES


2) RESEAUX DE HOPFIELD
Chaque neurone a 2 tats possibles : -1 ou +1
Lactivation du neurone i est :
ai = 1 si wi1*y1 + + wij*yj + + win*yn > 0
ai = -1 sinon
La fonction de transfert est la fonction Signe
Avec :
yi tat du neurone i
wij coefficient synaptique entre les neurones i et j
wij = wji (matrice W symtrique avec diagonale
nulle)
79

RESEAUX RECURRENTS / BOUCLES


2) RESEAUX DE HOPFIELD
Modle dynamique :
Ltat du neurone i linstant t+1 est donn par :
yi(t) = ai(t)
= Signe(wi1*y1(t) + + wij*yj (t) + + win*yn (t))

80

RESEAUX RECURRENTS / BOUCLES


2) RESEAUX DE HOPFIELD

Apprentissage :
On apprend avec une base de :
couples {xk ; f(xk)}
vecteurs yk
Algorithme dapprentissage : analogue la loi de Hebb :

1
wij =
N

y
k =1

k
i

k
j

N : nombre de neurones
(nombre dentres)
P : nombre de vecteurs yk

Convergence vers des tats stables (points fixes) et les


bassins dattraction associs
Bassin dattraction du vecteur y = ensemble des vecteurs
initiaux qui conduisent au vecteur y
Attention : tats stables parasites !

81

RESEAUX RECURRENTS / BOUCLES


2) RESEAUX DE HOPFIELD

Utilisation :
Aprs prsentation des entres, rinjecter les sorties
jusqu ce que ltat interne du rseau devienne stable
On fournit x en entre et le rseau donne f(x)
On fournit y incomplet ou bruit et le rseau
reconstitue y

82

Optimisation : AG (rappels)
Principe des algorithmes gntiques :

Oprateurs
croisement : exploiter

mutation : explorer
83

RESEAUX EVOLUTIONNAIRES
Exemple 1 :
Problmatique :
Garer un semi-remorque en marche arrire
Solution :
Pilotage du vhicule par un rseau de neurones (PMC)
Apprentissage par un algorithme volutionnaire
Pas de base dapprentissage
Lexprience permet dapprendre : comportement
mergent
84

RESEAUX EVOLUTIONNAIRES
Principe :

85

RESEAUX EVOLUTIONNAIRES
Variables :

Paramtres :

Contraintes :

quations de mouvement :
86

RESEAUX EVOLUTIONNAIRES
PMC :
3 couches caches
Entres : x, y, s, c
Sortie : u

87

RESEAUX EVOLUTIONNAIRES
Principe :
Position de dpart : x0, y0, s0, c0
1 mouvement (itration) : la position
suivante est donne par la sortie du
rseau u et par les quations de
mouvement
On autorise 300 mouvements
(itrations) max.
Le point de garage est donn par :
Xg = 0 ; Yg = 0 ; sg = 0
88

RESEAUX EVOLUTIONNAIRES
Apprentissage par algorithme volutionnaire :
un individu = 1 PMC = liste des coefficients synaptiques
population de PMC
oprateurs de croisement, mutation, slection
au bout de N gnrations : le PMC optimal pour une
fonction d valuation (fitness function) le PMC le plus
adapt

89

RESEAUX EVOLUTIONNAIRES
Fitness function :
On veut minimiser
la distance au point de garage
le nombre de mouvements (itrations)
fitness function = 1 / ( + d + * nb_iter), o
d est la distance au point de garage
nb_iter est le nombre de mouvements (itrations)
effectus
= 0.1 et = 0.001

90

RESEAUX EVOLUTIONNAIRES
Rsultats :
Apprentissage :

Tests (gnralisation) :

91

RESEAUX EVOLUTIONNAIRES
Exemple 2 :
Problmatique :
Apprentissage du comportement suivant
Trouver le plus court-chemin jusqu un point-cible
Et viter des obstacles
Solution :
Pilotage du robot par un rseau de neurones (PMC)
Apprentissage par un algorithme volutionnaire
Pas de base dapprentissage
Lexprience permet dapprendre : comportement
mergent

92

RESEAUX EVOLUTIONNAIRES
Modlisation de l univers : quadrillage NxM
Modlisation d un obstacle : indice de prsence Iij d une menace
sur une case (i ; j)
Iij = 0 si aucune menace et aucun obstacle
Iij = -1 si un obstacle
Iij = -0.5 si un obstacle sur les cases voisines

PMC :
6 entres : coordonnes du point courant et indices de prsence d un
obstacle sur les cases voisines
4 sorties : probabilit de dplacement vers le nord, le sud, l ouest ou
l est. La sortie la plus leve indique la direction suivre
93

RESEAUX EVOLUTIONNAIRES
PMC :

94

RESEAUX EVOLUTIONNAIRES
Pas de base d apprentissage ! Pas de couples {position de
dpart ; liste des dplacements successifs}
Apprentissage par des algorithmes gntiques
un individu = 1 PMC = liste des coefficients
synaptiques
population de PMC
oprateurs de croisement, mutation, slection
au bout de N gnrations : le PMC optimal pour une
fonction d valuation (fitness function) le PMC le
plus adapt
95

RESEAUX EVOLUTIONNAIRES
Principe :

96

RESEAUX EVOLUTIONNAIRES
Principe de lapprentissage :
Pout tout point de dpart dapprentissage Xi
Point_Courant = Xi
nb_iteri = 0
Tant que (point_cible A non atteint) et
(Point_Courant nest pas dans un obstacle) et
(nb_iteri < nb_iter_max) Faire
Incrmenter nb_iteri
Calculer les 4 sorties du PMC pour Point_Courant (coordonnes et voisinage)
Dplacement_Elmentaire = Max (Sortie , Sortie , Sortie , Sortie )
Dplacer Point_Courant selon Dplacement_Elmentaire
Fin Tant que
Si (Point_Courant est dans un obstacle) Alors
nb_iteri = nb_iter_max
Fin Si
Fin Pour tout
97

RESEAUX EVOLUTIONNAIRES
Comment slectionner les meilleurs rseaux ?
Tenir compte de plusieurs critres :
la distance au point-cible
le nombre de dplacements effectus
le cumul des indices de prsence de menace des cases parcourues

D o la fitness function suivante maximiser :


K

i =1

1 + 10 d ( X i , A)

f ( x) =

nb _ iteri

Avec Xi un point de dpart parmi les K points de dpart d apprentissage,


A le point-cible atteindre et nb_iteri le nombre de dplacements effectus depuis Xi.
98

RESEAUX EVOLUTIONNAIRES
Paramtres AG :
taille de la population : 100
nombre de gnrations : 500
taux de mutation : 0.1
taux de croisement : 0.7
fitness function :
= 500,
= 100

99

RESEAUX EVOLUTIONNAIRES
Tests : gnralisation sur
les points de dpart

la position et le nombre des obstacles

100

RESEAUX EVOLUTIONNAIRES
Rfrences :
Darwin revisit par la slection artificielle, La Recherche n de fvrier
2002
M. Schoenauer et E. Ronald, Neuro-Genetic Truck Backer-Upper
Controller, 1994
D. Floreano et F. Mondada, Evolution of Homing Navigation in a Real
Mobile Robot, 1996

101

EXERCICE: Rseaux volutionnaires


Apprentissage du comportement suivant :
Trouver le plus court-chemin jusqu un point-cible
Eviter des obstacles
Traverser le moins de menaces (zones dangereuses)
possible

102