Méthodes Connexionnistes Apprentissage Fusion dinformations Lionel PREVOST Laboratoire des...

Preview:

Citation preview

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

lionel.prevost@lis.jussieu.fr01.44.27.23.48

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

Recommended