Vous êtes sur la page 1sur 20

Application du rseaux de neurones lapprentissage supervis

Ricco RAKOTOMALALA

Equipe de recherche en Ingnierie des Connaissances Laboratoire ERIC

Mtaphore biologique
Fonctionnement du cerveau Transmission de linformation et apprentissage

Ides matresses retenir

Rception dune information (signal) Activation + Traitement (simple) par un neurone Transmission aux autres neurones (si seuil franchi) A la longue : renforcement de certains liens APPRENTISSAGE
2

Equipe de recherche en Ingnierie des Connaissances Laboratoire ERIC

Modle de Mc Colluch et Pitts Le perceptron Simple


Couche dentre
Biais

Problme deux classes (positif et ngatif)

Y { (+ ),0 ()} 1
Fonction de transfert Fonction seuil -- Fonction de Heaviside

Couche de sortie

X0=1

a0
X1
Entres Descripteurs

a1 a2 a3

1 0

X2

d(X )

X3

Modle de prdiction et rgle daffectation


Poids synaptiques

d ( X ) = a0 + a1 x1 + a2 x2 + a3 x3
Si d ( X ) > 0 Alors Y = 1 Sinon Y = 0

Le perceptron simple est un modle de prdiction linaire


Equipe de recherche en Ingnierie des Connaissances Laboratoire ERIC

Apprentissage du perceptron simple


X0=1

a0
X1

a1 a2 a3

Comment calculer les poids synaptiques partir dun fichier de donnes (Y ; X1, X2, X3)
Faire le parallle avec la rgression et les moindres carrs Un rseau de neurones peut tre utilis pour la rgression (fonction de transfert avec une sortie linaire)

X2

X3

(1) Quel critre optimiser ? (2) Comment procder loptimisation ?


Equipe de recherche en Ingnierie des Connaissances Laboratoire ERIC

(1) Minimiser lerreur de prdiction (2) Principe de lincrmentalit

Exemple Apprentissage de la fonction AND (ET logique)


Exemple rvlateur Les premires applications proviennent de linformatique
1.5 1.3

X1 0 0 1 1

X2 0 1 0 1

Y 0 0 0 1

1.1 0.9 0.7 0.5 0.3 0.1 -0.1 -0.3 -0.5 -0.5 0 0.5

1.5

Donnes
Principales tapes : 1. 2. 3.

Reprsentation dans le plan

4.

Mlanger alatoirement les observations Initialiser alatoirement les poids synaptiques Faire passer les observations unes unes Calculer lerreur de prdiction pour lobservation Mettre jour les poids synaptiques Jusqu convergence du processus

Une observation peut passer plusieurs fois !


Equipe de recherche en Ingnierie des Connaissances Laboratoire ERIC

Exemple AND (1)


Initialisation alatoire des poids : a0 = 0.1; a1 = 0.2; a2 = 0.05

Rgle de mise jour des poids Frontire :


0 .1 + 0 .2 x1 + 0 .05 x 2 = 0 x 2 = 4 .0 x1 2 .0
6

Pour chaque individu que lon fait passer (Principe de lincrmentalit)

a j a j + a j

avec
1

Force du signal

0 -0.5 -2

a j = ( y y )x j
1.5

0.5

Erreur Constante dapprentissage


Dtermine sil faut ragir ou non

-4

-6

Dtermine lamplitude de lapprentissage Quelle est la bonne valeur ? Trop petit lenteur de convergence Trop grand oscillation En gnral autour de 0.05 ~ 0.15 (0.1 dans notre exemple)

Equipe de recherche en Ingnierie des Connaissances Laboratoire ERIC

Exemple AND (2)


Observation traiter Appliquer le modle Mj des poids

x0 = 1 x = 0 1 x2 = 0 y = 0

0.11+ 0.2 0 + 0.05 0 = 0.1 y =1

a0 = 0.1 ( 1) 1 = 0.1 a1 = 0.1 ( 1) 0 = 0 a = 0.1 ( 1) 0 = 0 2

Nouvelle frontire :

0.0 + 0.2 x1 + 0.05 x 2 = 0 x 2 = 4 .0 x1 + 0.0

1
0 -0.5 -2 0 0.5 1 1.5

-4

-6

Equipe de recherche en Ingnierie des Connaissances Laboratoire ERIC

Exemple AND (3)


Observation traiter Appliquer le modle Mj des poids

x0 = 1 x = 1 1 x2 = 0 y = 0

0.01+ 0.21+ 0.05 0 = 0.2 y =1

a0 = 0.1 ( 1) 1 = 0.1 a1 = 0.1 ( 1) 1 = 0.1 a = 0.1 ( 1) 0 = 0 2

Nouvelle frontire :

0.1 + 0 .1x1 + 0.05 x2 = 0 x 2 = 2.0 x1 + 2.0

1
0 -0.5 -2 0 0.5 1 1.5

-4

-6

Equipe de recherche en Ingnierie des Connaissances Laboratoire ERIC

Exemple AND (4) Dfinir la convergence


Observation traiter Appliquer le modle Mj des poids

x0 = 1 x = 0 1 x2 = 1 y = 0

0.11+ 0.1 0 + 0.051 = 0.05 y =0

a0 = 0.1 (0 ) 1 = 0 a1 = 0.1 (0 ) 0 = 0 a = 0.1 (0 ) 1 = 0 2


Pas de correction ici ? Pourquoi ? Voir sa position dans le plan !

Nouvelle frontire :

0.1 + 0.1x1 + 0.05 x 2 = 0 x 2 = 2.0 x1 + 2.0

Remarque : Que se passe-t-il si on repasse lindividu (x1=1 ; x2=0) ?

1
0 -0.5 -2 0 0.5 1 1.5

Convergence ?
(1) (2) (3) (4) (5) Plus aucune correction effectue en passant tout le monde Lerreur globale ne diminue plus significativement Les poids sont stables On fixe un nombre maximum ditrations On fixe une erreur minimale atteindre 9

-4

-6

Equipe de recherche en Ingnierie des Connaissances Laboratoire ERIC

valuation de P(Y/X) Fonction de transfert sigmode


Le Perceptron propose un classement Y/X Dans certains cas, nous avons besoin de la probabilit P(Y/X) ex. Scoring

Fonction de transfert Fonction seuil -- Fonction de Heaviside

Fonction de transfert Fonction sigmode Fonction logistique

1 0

1 0

d(X )

d(X )

g (v ) =

1 1 + e v v = d(X )

La rgle de dcision devient : Si g(v) > 0.5 Alors Y=1 Sinon Y=0
Equipe de recherche en Ingnierie des Connaissances Laboratoire ERIC

10

Consquences dune fonction de transfert continue et drivable Modification du critre optimiser


X0=1

a0
X1

a1 a2 a3

Sortie du rseau

y = g (v) = f [d ( x)]

X2

X3

Critre optimiser : critre des moindres carrs

1 E = 2

( y ( ) y ( ) )

Mais toujours fidle au principe dincrmentalit, loptimisation est bas sur la descente du gradient !
Equipe de recherche en Ingnierie des Connaissances Laboratoire ERIC

11

Descente du gradient
Fonction de transfert sigmode drivable

g ' (v) = g (v)(1 g (v))

Optimisation : drivation de la fonction objectif par rapport aux coefficients

E = [ y ( ) y ( )] g '[v( )] x j ( ) a j i

Rgle de mise jour des coefficients pour un individu (Rgle de Widrow-Hoff ou Rgle Delta)

a j a j + ( y y ) g ' (v ) x j

Gradient : mj des poids dans la direction qui minimise E

La convergence vers le minimum est bonne dans la pratique Capacit traiter des descripteurs corrls (pas dinversion de matrice) Capacit traiter des problmes trs grande dimension (lignes x colonnes) Mise jour facile si ajout de nouveaux individus dans la base

Equipe de recherche en Ingnierie des Connaissances Laboratoire ERIC

12

Problme K classes -- Que faire quand Y possde plus de 2 modalits ?


(1) Codage disjonctif complet de la sortie

y1
X0=1 X1

yk = 1 ssi y = yk
(2) Output pour chaque sortie

yk = g[vk ]

y2

avec

vk = a0,k + a1,k x1 +L+ aJ ,k xJ

X2

(3) P(Y/X)

P(Y = yk / X ) g[vk ]

X3

y3

(4) Rgle de dcision

y = yk * ssi k * = arg max yk


k

Minimisation de lerreur quadratique En traitant K rseaux en parallle


K 1 2 E = ( yk ( ) yk ( ) ) 2 k =1
Equipe de recherche en Ingnierie des Connaissances Laboratoire ERIC

13

Pratique du Perceptron (Dmo sur les cancers du sein)

volution erreur Poids

Ramener les descripteurs sur la mme chelle Standardisation, Normalisation, etc. (ventuellement) Subdiviser les donnes en 3 parties : Training + Validation + Test Attention au paramtrage, notamment de la rgle darrt
Equipe de recherche en Ingnierie des Connaissances Laboratoire ERIC

14

Mort et rsurrection du Perceptron Le problme du XOR

1.5

X1 0

X2 0 1 0 1

Y 0 1 1 0

1.3 1.1 0.9 0.7

(1)

0 1 1

0.5 0.3 0.1 - 0.1 - 0.3 - 0.5

Non sparable linairement (Minsky & Papert, 1969)


1

Donnes

- 0.5

0.5

1.5

X0=1

X0=1

(2)

X1 X2 X3
Couche dentre Couche cache Couche de sortie

Une combinaison de sparateurs linaires permet de produire un sparateur global non-linaire (Rumelhart, 1986) Perceptron Multi-Couches (PMC)
On peut avoir plusieurs couches caches

Equipe de recherche en Ingnierie des Connaissances Laboratoire ERIC

15

PMC Formules et proprits

Passage C.Entre

C.Cache

v1 = a0 + a1 x1 + a2 x2 + a3 x3 v2 = b0 + b1 x1 + b2 x2 + b3 x3
Sortie de la C.Cache X0=1

X0=1 X1 X2 X3

1 1 + e v1 1 u 2 = g (v2 ) = 1 + e v2 u 1 = g ( v1 ) =
Passage C.Cache C.Sortie

z = c 0 + c1u 1 + c 2 u 2
Sortie du rseau

y = g (z) =

1 1 + ez

Proprit fondamentale : Le PMC est capable dapproximer toute fonction boolenne existante pourvu que lon fixe convenablement le nombre de neurones dans la couche cache
Equipe de recherche en Ingnierie des Connaissances Laboratoire ERIC

16

PMC Apprentissage La rtropropagation du gradient Gnraliser la rgle de Widrow-Hoff La descente du gradient


X0=1

X0=1 X1 X2 X3
En sortie : Erreur mesure (pour un individu)

Correction des poids synaptiques menant la couche de sortie

Propagation (en arrire) des corrections dans les couches intermdiaires

Lalgorithme de la rtro-propagation du gradient donne de bons rsultats dans la pratique mme si le risque de stagnation dans un optimum local nest pas ngliger normaliser ou standardiser imprativement les donnes et bien choisir la constante dapprentissage
Equipe de recherche en Ingnierie des Connaissances Laboratoire ERIC

17

PMC Un exemple de discrimination non linaire


X1 vs. X2 Control variable : C_Y

x2
1

Construisons un rseau avec 2 couches caches


negatif positif

X0=1 X1 X2

-0.76 -20.10 21.46 27.00

X0=1

45.03 -36.83

-11.32 17.68
u1 vs. u2 Control variable : Y

-38.95

0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95

u2 x1

negatif positif

La sortie des neurones de la couche cache propose un nouvel espace de reprsentation o il est possible de discriminer linairement les exemples !
0 1

u1
18

Equipe de recherche en Ingnierie des Connaissances Laboratoire ERIC

PMC Avantages et inconvnients

Classifieur trs prcis (si bien paramtr) Incrmentalit Scalabilit (capacit tre mis en uvre sur de grandes bases)

Modle bote noire (causalit descripteur variable prdire) Difficult de paramtrage (nombre de neurones dans la couche cache) Problme de convergence (optimum local) Danger de sur-apprentissage (utiliser imprativement un fichier de validation)

Equipe de recherche en Ingnierie des Connaissances Laboratoire ERIC

19

Rfrences

Neural network Tutorial slides of Andrew Morre http://www.autonlab.org/tutorials/neural.html Apprentissage partir dexemples Notes de cours F. Denis & R. Gilleron Lille 3 http://www.grappa.univ-lille3.fr/polys/apprentissage/ Machine Learning Tom Mitchell, Ed. Mc Graw-Hill International, 1997. Rseaux de neurones sur WIKIPEDIA Rseaux de neurones Mthodologie et Applications Sous la direction de Grard Dreyfus, Ed. Eyrolles, 2004.

Equipe de recherche en Ingnierie des Connaissances Laboratoire ERIC

20

Vous aimerez peut-être aussi