Méthodes ConnexionnistesApprentissage
Fusion d’informations
P A R C
Lionel PREVOSTLaboratoire des Instruments et Systèmes d’Ile de France
Groupe Perception, Automatique et Réseaux Connexionnistes
P A R C
MOTIVATIONS DES INGENIEURS :S’inspirer de la neurobiologie pour construire des machines capables d’apprentissage et aptes à remplir des taches spécifiques : classification, prédiction, contrôle …
MOTIVATIONS DES BIOLOGISTES :Utiliser des outils issus des mathématiques et de la physique en vue de construire des modèles plausibles du fonctionnement du système nerveux
Pourquoi les réseaux de neurones ?
• La modélisation du neurone (McCullogh & Pitts 1943)
• Le processus d’apprentissage (Hebb 1949)
• Le perceptron (Rosenblatt 1952)
Convergence d’un algorithme itératif d’adaptation des poids
d’un neurone
• L’ Adaline (1960)
Neurones en réseau mono-couche
• Limites du perceptron (Minsky & Papert 1969)
P A R C
Historique (2) les pionniers
P A R C
Historique (3) le néo-connexionnisme
• Cartes auto-organisantes (Kohonen 1980)
• Machine de Boltzmann (Hopfield 1982)
• Rétro propagation (Rumelhart, Parker, Le Cun1985)
Convergence d’un algorithme itératif d’adaptation des poids
d’un réseau de neurones multi-couche
• Support Vector Machine (Vapnik 1992)
Théorie de l’apprentissage
P A R C
Éléments de neurobiologie
• Visualisation par coloration (Golgi 1873)
• Concept de neurone (Ramon y Cajal 1988)
Auditif CutanéOlfactif
Neurones récepteurs Moto-neuroneInter-neurones
P A R C
Différents types de neurone
Bipolairede rétine
Neurone naturel
P A R C
dendritesCorps cellulaire
Cône axonal
Axone primaire
Influx nerveux
Axone secondaire
synapse
P(t)
saturation
hyper-polarisation
-60 mV
00,5 ms
dépolarisationfréquence
seuil stimulus
P A R C
Potentiel d’action : « spike »
potentielde repos
• Durée d’un spike : 0,5 à 1 ms• Vitesse : 0,5 à 100 m/s
• Nombre de neurones : 10 à 100 milliards• Nombre de connexions : 1000 à 100 000 par neurone
1014 à 1017 connexions
• Plasticité synaptique (Hebb) : dw/dt = SiSj Si Sj
w
P A R C
Caractéristiques du neurone naturel
P A R C
Du neurone naturel au neurone formel (artificiel)
(1) Propagation de l‘influx nerveux des axones vers
les dendrites via des synapses excitatrices ou
inhibitrices
(2) sommation des influx (« entrées ») au niveau du
corps cellulaire
(3) Transmission (« sortie ») si la somme dépasse un
seuil
Neurone artificiel
ij
fi1
xji yi
i
entrées sortie
Pondération Sommation Transfert
P A R C
yi = f(i) = f( ij xj+ 0)j
P A R C
Application : discrimination camions/autres véhicules
Véhicules : 2 descripteurs- x1 : longueur- x2 : bruit
x1 x2y
20 8
15 20
16
5
16
2
10
15
6
20
1
1
-1
-1
-1
-1
Camion1
Camion2
Car
Voiture1
Voiture2 (+remorque)
Moto
Véhicule
x1 x2 y
20 8
15 20
16
5
16
2
10
15
6
20
48-47=1
50-47=3
42-47=-5
25-47=-18
38-47=-9
24-47=-23
1
1
-1
-1
-1
-1
Camion1
Camion2
Car
Voiture1
Voiture2 (+remorque)
Moto
Véhicule 2 x1+x2-47
P A R C
0 =-47
1=2
2=1
1
x1
x2
y = seuil(1 x1 + 2 x2 + 0)
Réseau de neurones
P A R C
ensemble de neurones interconnectés
• paramètres:
architecture, type de neurones et de connexions (complètes, feed-forward, locales, poids partagés)
• Modes d’utilisation:
(1) apprentissage des paramètres à partir des données (en général en minimisant une fonction d’erreur)
(2) utilisation sur des données nouvelles
Différents types de neurone
P A R C
Neurone produit scalaire
= x
Fonctions d’activation :- à seuil- linéaire- linéaire saturée- sigmoïde
Neurone distance
= ||x – ||
Fonction d’activation :- gaussienne
e1e1)f( ν
ν
e)f( σ
ν
Entrées
Cellules du réseau
Sorties
P A R C
Réseau mono-couche
Entrées Sorties
Cellulesde sortie
Cellules cachées
P A R C
Réseau multi-couche
Classification
Approximation de fonctions non linéaires
Modélisation de processus statiques
Entrées Sorties
Connexions récurrentes
P A R C
Réseau bouclé (récurrent)
Modélisation et commande de processus dynamiques
Apprentissage
P A R C
modification des paramètres du réseau
(1) Le réseau est stimulé par l’environnement
(2) Le réseau subit des changements en réponse à cette stimulation
(3) Le réseau réagit différemment suite aux modification de sa structure interne
Présentation d’un exemple
Modification des poids
Discrimination
En dimension 2 : la frontière est une droite d’équation1x1+2x2+0=0
En dimension 3 : plan
P A R C
1
2
x2
x1
En dimension n : hyperplan séparateur ixi+0= W.X= 0 W : vecteur des poids (connexions) X : vecteur d’entrée
Formulation du problèmeOn dispose d’une base de données étiquetées
base d’apprentissage : ensemble (X, yd)
Problème à deux classes C1 , C2
Vecteurs d’entrée de dimension n+1 :
X = (1 x1 x2 … xn)
un neurone à (n+1) entrées et une sortie y valeurs désirées
yd = +1 si X C1
yd = -1 si X C2
Trouver les poids W tel que
W.X > 0 si X C1 et W.X < 0 si X C2
P A R C
x1
x2
xn-1
y
n
01
.
.
.
xn
1
Algorithme du Perceptron• Initialiser W aléatoirement
• Apprentissage :
(1) Tirer au hasard un exemple X de la base d’apprentissage
(2) si yd*W(t).X <0 c’est à dire si X est mal classé
Modifier suivant la relation
W(t+1) = W(t) + W avec W = yd*X
Incrémenter le compteur de mises à jour t=t+1
Test : Si yd*W(t).X > 0 pour tout X, tous les exemples sont bien appris terminer
Sinon : retour en (1)
P A R C
Exemple : fonction booléenne OR
P A R C
x1 x2yd
1 1
1 -1
-1
-1
-1
1
1
1
-1
1
X1
X2
Exemples
X3
X4
x2
x1
Fonctions AND et XOR
L’algorithme du perceptron ne converge que si les classes sont linéairement séparables
P A R C
x2
x1
x2
x1
Extension à N classes
N neurones
le neurone i sépare la classe i des autres classes
vecteur des valeurs désirées
yd = (yd1, yd2, …, ydN)
P A R C
12
3
y1
y2
yN
x1
x2
.
.
.
xn
Apprentissage : règle delta
Reformulation du perceptron :
= X(yd - y)
Neurones à fonction d’activation linéaire : y = W.X
= X(yd - y) (1)
Erreur : E = (yd – y) 2
Trouver les poids optimaux revient à minimiser l’erreur par rapport aux poids :
On retrouve l’équation (1) qui modifie les poids dans la direction opposée du gradient de l’erreur
P A R C
21
0ωE y)Xy(ω
yyE
ωE
d
Séparabilité linéaire
Les régions 1, 2 et 3 sont linéairement séparables (LS) Perceptron mono-couche
P A R C
La région est LS de la région 2Les régions 2 et 3 ne le sont pas l’algorithme ne converge pas perceptron multi-couche
12
3
12
3
P A R C
Perceptron multi-couches (MLP)
Ajout d’une couche de C neurones cachés
Projection des données dans un espace de dimension C où elles sont linéairement séparables
x1
x2
x3
xd
y1
y2
yN
exemple =
• Fonction de transfert f : sigmoïde
xk(i)= f [ ij xk-1(j)]
• Critère : Erreur Quadratique Moyenne <
EQM = [yd(i) - x(i)]2
• Minimisation de l’EQM pour trouver les meilleurs poids ij
Apprentissage par rétro-propagation
P A R C
j
n
appr base
Tant que EQM > :
• Propager chaque exemple dans le réseau
P A R C
Rétro-propagation : principe
yd1
yd2
ydN
+ -
+ -
+ -
= valeurs désirées
exemple X = x1
x2
x3
xn
y1
y2
yN
• Calculer l’erreur en sortie puis le gradient
• Modifier les poids dans la direction opposée au gradient
P A R C
Rétro-propagation : algorithme
)xy)(('-2f idiii δ
1. Initialiser les ij aléatoirement
2. Propager un exemple X :
3. Rétro-propager :
Couche de sortie :
Couches cachées :
4. Modifier les poids : ijijijavec ij =
i xj
5. Si EQM assez petite alors FIN sinon aller en 2
k
kkiii ω)('f
j
jijiavecii xωfx
P A R C
Démonstration
))f(y)(('-2f)f(yxyEidiiidi
iidi
iii
22
δ
On souhaite minimiser l’erreur : 0ωE x
ωE
ωE
jiijijδi
i
Neurones de sortie :
Neurones cachés :
kk
δ
i
kk
i
k
kii
EE
)f(ωxω ii
kiii
kik or donc )('fω ikii
k
k
δ ωf ki kii )('
k : couche suivante