You are on page 1of 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 xi xn
9

w1 wi wn

Alors :

o = 1 si p > o = 0 si p

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

w0 o = x1 OR x2 w2

x1

w1

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 0 0 1 1 1 0 1 1 1 0 w1 1 1 1 1 1 1 1 1 1 1 w2 -1 -1 0 0 0 0 1 1 1 1 Entre 100 101 110 111 100 101 110 111 100 101

02 wi xi
0 -1 2 2 1 0 2 3 1 1

o 0 0 1 1 1 0 1 1 1 1

c 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 xi wn xn
Coefficients synaptiques

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

w1 w2 wi

w0 o = (y) y = wixi

Sortie Somme Pondre

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

Entres

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:

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

Drive :

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

N 1 k 2 ( ) i2 = x x i i N 1 k =1

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

(e
i =1

wij ) 2

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)
q 1 Symbole
reprsentant un retard dune unit de temps

x(k)

Rseau de neurones non boucl : PMC

q 1

q 1

u(k-1)

x(k-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 :


f ( x) =
i =1 K

1 + 10 d ( X i , A)

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

You might also like