Académique Documents
Professionnel Documents
Culture Documents
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 .
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
15
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
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
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
28
Biais
On note : y = x.w o = (x.w)
w1 w2 wi
w0 o = (y) y = wixi
Entres
31
34
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
36
38
39
? AND OR XOR
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
74
75
x(k)
q 1
q 1
u(k-1)
x(k-1)
76
Sries temporelles
77
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
80
1 wij = N
y
k =1
k i
k j
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
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
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
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
102