Vous êtes sur la page 1sur 142

Les rseaux de neurones

historique, mthodes et applications

Marie Cottrell
Universit Paris 1- Sorbonne

Introduction
Les premiers modles
Les rseaux
Modle de Hopfield
Le perceptron multicouches
Algorithme de Kohonen
Conclusion

Bref historique
1940 - 1960
concepts

Mac Cullogh & Pitts 43


Hebb 49
Rosenblatt 58

modle de neurone
loi dadaptation
perceptron

1960 - 1980
transition &
dclin

Widrow-Hoff 58
Minsky & Papert 69

adaline
limites aux perceptrons

1980 -
renouveau

Hopfield, 82
Kohonen 72, 82, 84
Rumelhart, Le Cun 86
(Werbos 74)

rseaux dynamiques
auto-organisation
rtro-propagation

Quelques dates, quelques noms


 Annes 40, recherche oprationnelle, codage
 RAND Corporation (46-54), Von Neumann, automates
 Besoin de proposer des machines et/ou des modles reproduisant

des fonctions des cerveaux humains (calcul, mmoire, comportement


intelligent)

 A la suite des pionniers de linformatique (Turing)


 A la suite des chercheurs en intelligence artificielle (limites de lIA

symbolique)
 Chercheurs de diffrents domaines : Hrault, 70, Amari, 72, Von der
Marlsburg, 73, Little, 74, Grossberg, 76
 En France, journes NSI, Neuro-Nmes
 Pendant ce temps l, progrs de la puissance de calcul

Pluridisciplinarit

Amy et Dcamp, Rapport CNRS 1987

Rseaux de neurones et neurosciences


 1011 neurones, 1015 connexions
 On sait mesurer et enregistrer lactivit lectrique dun neurone

ou dun ensemble de neurones


 Proprits collectives de rseaux, qui mettent en jeu des
relations excitatrices ou inhibitrices
 Dans le cerveau, on distingue des sous-ensembles, des
connexions internes et externes, des entres et des sorties,
ralisant certaines tches
 Les recherches sur le fonctionnement du cerveau ont fait
dnormes progrs (exposition Cit des Sciences, 2002), tant
du point de vue de la comprhension du fonctionnement qu
lchelle cellulaire et membranaire

Un neurone (daprs Jutten)

Des neurones (daprs Jutten)

Cellules de Purkinie dans le cervelet


(daprs Rospars)

Trois grandes caractristiques du


cerveau vu comme une machine
 Apprentissage
Adaptation
Plasticit synaptique
Reconversion
 Robustesse
Rsistance limprcision des entres
Rsistance la dtrioration
Distribution des informations
 Paralllisme
Interactions locales
Proprits globales
Simultanit du traitement
 Ces caractristiques inspirent la construction des rseaux de

neurones formels

Ordinateur vs. cerveau


 Ordinateur de Von Neumanns
dterministe
squences dinstructions
tches rptitives
vitesse leve
programmation
unicit des solutions
 ex: produit matriciel

 Cerveau (humain)
paralllisme
adaptation (apprentissage)
vitesse lente
comportement flou
diffrentes faons daborder un
problme
diffrentes solutions
 ex: reconnaissance de visages

Il se rvle extrmement difficile de construire un ordinateur


qui imite rellement un cerveau
11

Exemples de tches: faciles pour le


cerveau, difficiles pour un ordinateur...

extrait de: DARPA neural network study, 1988

Emprunte Michel Verleysen

12

Difficults
 La miniaturisation a une limite (au moins un lectron par bit





dinformation)
Difficults de grer les transferts
Difficults du fonctionnement en parallle (mais gros progrs)
Les ordinateurs sont cbls (architecture fixe)
Ils ne reconnaissent rien si un bit est erron, si une connexion
est rompue

 Leur complexit est infiniment moindre que celle de nimporte

quel animal
Un MX 1/16 fonctionne avec 120*106 connexions actives par
seconde
Un petit cafard met en jeu 109 connexions par seconde

Ordinateurs parallles (La Recherche 88)

Les rseaux de neurones artificiels


 Les informaticiens mettent au point des puces ddies (en







particulier pour les systmes embarqus), des architectures


dordinateurs de plus en plus complexes et performantes.
En mme temps, on sest orient vers la mise au point de
modles, dalgorithmes, qui se prsentent sous la forme de
programmes utilisables dans les ordinateurs classiques (de plus
en plus rapides).
On sest loign assez radicalement des neurosciences (bien
que certains laboratoires continuent comme RIKEN, Tokyo).
Les contacts restent troits avec les sciences cognitives.
Le domaine sest considrablement rapproch des statistiques
Il sagit dun ensemble doutils permettant de rsoudre des
problmes divers.
Ils sont essentiellement NON LINEAIRES et ADAPTATIFS

Exemples de tches

 Approximation de fonctions et de distributions


 Analyse exploratoire de donnes (fouille de donnes,







visualisation)
Rgression non linaire
Identification et prvision de sries temporelles
Classification tablissement de topologie, scoring
Reconnaissance de formes, de visages, dcriture
Contrle de procd
Filtrage adaptatif, etc.etc

Rgression, classification,
9
8
7
6
5
4
3
2
1
0
0

0.5

1.5

2.5

3.5

1.6
1.4
1.2
1
0.8
0.6
0.4
0.2
0
0

Filtrage adaptatif
2.5
2
1.5
1
0.5
0
-0.5

0.5

1.5

2.5

3.5

-1
-1.5

1.4
1.2
1
0.8
0.6
0.4
0.2
0
0

0.5

1.5

2.5

3.5

Projection non linaire

Introduction
Les premiers modles
Les rseaux
Modle de Hopfield
Le perceptron multicouches
Algorithme de Kohonen
Conclusion

Premiers modles
 Le neurone formel
Mac-Cullogh & Pitts (1943)
 Le perceptron simple

(Rosenblatt, 1958, Minsky-Papaert, 1969 )


 LADALINE

(Widrow-Hoff, 1958)

Le neurone formel
 Schmatisation du neurone biologique

X1
X2

Xi

w1
w2

-1

wi

y = ( wi Xi - )
wp
Xp

Fonctions dactivation
Linaire
Linaire

Sigmode
Sigmode

Par
Parmorceaux
morceaux

Signe
Signe

(x) = 1 / ( 1 + exp(- x / T ) )
Quand T tend vers 0
s tend vers la fonction signe

Si wi xi , y = + 1
Si wi xi < , y = 0 ou -1

Neurone probabiliste
 On veut favoriser l'vnement (y = + 1), lorsque wi xi
 y est une variable alatoire binaire
 On prend par exemple,

1
Prob( y = +1 ) =
1 + exp( ( w i x i ) / T )

 Le paramtre T (positif) est la temprature


 Quand largument est positif, Prob(y = + 1) >
 Cest ce genre de modle qui est utilis dans les machines de

Boltzmann (Ackley, Hinton et Sejnowski, 1985)

Le perceptron simple (Rosenblatt, 1958)


 Algorithme supervis (au sens de lIA)
 Fonction non-linaire (fonction signe)
 Objectif: classification (binaire)

y = w j x j

j
 2 classes A et B

(x ) = sign (x )

y = +1 si x A

y = 0 si x B
 Il sagit de dterminer les paramtres wj, tels que les rponses
soient correctes pour tous les objets.
 Apprentissage = estimation
 Mais processus itratif

Le perceptron (lalgorithme)
 APPRENTISSAGE

Au temps 0, les paramtres sont alatoires


Au temps t, un objet est prsent
Si y est correct, pas de changement
Si y = -1 (au lieu de +1), wj(t+1)=wj(t) + xi
Si y = +1 (au lieu de -1), wj(t+1)=wj(t) - xi
 Cela peut s'crire :
 W(t+1) = W(t) + (d(t) - y(t)) X(t)

o d est la sortie dsire, y la sortie calcule, > 0

Le perceptron simple

Le perceptron simple

Convergence
Si les 2 classes sont linairement sparables (au
sens strict), ce processus d'apprentissage est
convergent, en un nombre fini d'tapes
Dm :
 On suppose les X norms, ce qui ne change rien
 Si l'entre X est dans B, on la remplace par - X. Ainsi, pas
d'erreur signifie : W. X > 0.
 L'hypothse est que et W* (qu'on peut prendre norm) tels
que pour toute entre X, on ait
W*.X >
 On pose g(W(t)) = W*.W(t) / |W(t)| = cos (W*, W (t)),
et g (W(t)) 1.

Convergence (suite)
A chaque changement, le numrateur
W*.W(t+1) = W*.W(t) + W*. X(t)
W*.W(t) +
 Aprs M changements,

W*.W(M) W*.W(0) +
 Au dnominateur,

| W(t+1) |2 = | W(t) |2 + 2 W(t). X(t) + 2 |X(t)|2

|W(t)|2 + 2 |X(t)|2
puisque il y a changement quand W(t).X (t) < 0.

Convergence (Suite et fin)


 D'o, |W(M)|2 |W (0)|2 + 2 M
 On pose W (0) = 0

Donc, M / M g(W (M)) 1,


d'o M est fini, major par 1/2.
 Donc si W* existe, au bout d'un nombre fini d'tapes,

W(t) reste fixe. Il y a donc convergence

Problme
 MINSKY et PAPERT (1969) ont prouv que le Perceptron ne

peut pas rsoudre une grande classe de problmes non


linaires comme par exemple
 LE PROBLEME XOR :
Sparer les points (1,1) et (0,0)
des points (1,0) et (0,1)

 Pour cela, on doit rajouter

des couches caches


On a y = 1 pour (1,0) et (0,1)
0 pour (1,1) et (0,0)

Le modle ADALINE (Widrow-Hoff, 1958)


ADAptative LINEar model

Xp

wp

Il sagit dun simple modle de rgression linaire

Neurone formel linaire et rgression


 Les entres sont les variables explicatives
 Le seuil est la constante du modle (ou son oppos)
 Le calcul des paramtres (ou poids) se fait par nimporte quelle

mthode
Calcul direct
Gradient dterministe
Gradient stochastique
 Le minimum de lerreur est unique, le fonction derreur est

convexe

Neurone formel linaire


= rgression linaire
Exemple (trs) simple, 10 entreprises, 2 ratios (ROI, TN/TP)
25%
20%
TN/PT

15%
10%
5%
0%
-1 0 %

-5 %

-5 % 0 %

RO I

y i = + 1 (ROI

)i + 2 (TN

PT

)i + i

i =1 ( yi yi )
Rmse =
n

Les donnes et les rsultats

CAS
(1)

ROI
(2)

1
2
3
4
5
6
7
8
9
10
Rmse

0,167
0,000
0,333
0,250
0,500
0,667
0,667
0,833
0,833
1,000

TN/PT
(3)

1,000
0,909
0,591
0,500
0,227
0,091
0,159
0,068
0,000
0,000

Classement
(4)

1,000
0,000
1,000
0,000
1,000
0,000
1,000
1,000
0,000
1,000

Linaire
(5)

0,963
0,403
0,591
0,227
0,304
0,441
0,568
0,789
0,662
1,052
0,42

2NL-1L
(6)

0,957
-0,168
1,043
0,332
0,613
0,356
1,054
1,023
0,186
1,003
0,21

2NL-1NL 2NL-1NL-M
(7)
(8)

0,970
0,001
0,996
0,046
0,936
0,077
0,988
0,953
0,022
0,974
0,04

0,968
0,054
0,997
0,023
0,881
0,185
0,947
0,897
0,091
0,945
0,09

3NL-1L
(9)

3NL-1NL
(10)

0,999
0,007
1,241
0,074
0,762
0,419
1,084
1,019
0,289
1,114
0,20

0,968
0,002
0,997
0,051
0,931
0,070
0,986
0,951
0,013
0,971
0,04

Rgression linaire
 Exemple (suite), fonction rponse

= (X ' X ) 1 X 'Y

2
1
0

0 ,8

-1

0 ,4
0

La solution est calcule en un coup


par une formule dterministe

0,9

0,6

0,3

-2

 Fonction derreur:

1 N
E = ( y i y i )2
2 i =1

12
10
8
6

6,5

3,5

0,5
-2,5
7

-1

-3

y i = w j x ji
j=0

Gradient vs. gradient stochastique


 Gradient:
Fonction derreur sur tous les
exemples

1 N
2
E = ( y i y i )
2 i =1

 Gradient stochastique
Fonction derreur sur un exemple

Ei =

1
( y i y i )2
2

ajustement des poids

ajustement des poids

E
w j =
w j

w j =

Ei
w j

= ( y i y i )x ji

= ( y i y i )x ji
i =1

38

Estimation des paramtres par lADALINE

2,5
bta1
2
bta2
1,5

0,5

120

113

106

99

92

85

78

71

64

57

50

43

36

29

22

15

-0,5

-1
alpha
-1,5

Cycles * 10

Convergence rapide

Introduction
Les premiers modles
Les rseaux
Modle de Hopfield
Le perceptron multicouches
Algorithme de Kohonen
Conclusion

Architecture
 On va mettre ces neurones formels en rseau

 Monocouche

compltement connect

 Rseaux en couches

sans connexions directes


 Toute autre architecture

Apprentissage
APPRENTISSAGE
 La construction du rseau se fait par apprentissage
 On remarque que mme dans les modles simples prcdents, la
 Gnralement, larchitecture (nombre de couches, nombre de

construction du rseau se fait par apprentissage


neurones) est fixe, et lapprentissage consiste calculer
 progressivement
Gnralement, larchitecture
(nombre
de couches,
nombre de
les valeurs des
connexions
wij
neurones) est fixe, et lapprentissage consiste calculer
 Les politiques dapprentissage sinspirent de la rgle de Hebb
progressivement les valeurs des connexions wij
1943
 Les rgles dapprentissage sinspirent de la rgle de Hebb 1943

 Rgle de Hebb

Rgle de Hebb

Il y a renforcement dune connexion lorsque les deux neurones


Il y a renforcement
dune
lorsque
les deux neurones
quelle relie
sontconnexion
simultanment
excits.
 Apprentissagequelle
supervis
relie sont simultanment excits.

supervis
 Apprentissage
Apprentissagenon
supervis

rgles de modifications
des connexions sont locales (dans
 Les
Apprentissage
non supervis
le temps et dans le rseau).
 Les rgles de modifications des connexions sont locales (dans le
 Le
rseau
peut le
tre
construit ssi lalgorithme dapprentissage
temps
et dans
rseau).
est convergent
 Le rseau peut tre construit ssi lalgorithme dapprentissage est
convergent

Vocabulaire (RN/Statistique)
(daprs Hastie et Tibshirani, 1994)
Les rseaux de neurones sont des modles
 Rseaux de neurones
Apprentissage
Poids, efficacit synaptique
Connaissance
Apprentissage supervis
Classification
Apprentissage non supervis
Clustering
Rseau de neurones
Ensemble dapprentissage

 Statistique
Estimation
Paramtres
Valeur des paramtres
Rgression/classification
Discrimination/classement
Estimation de densit
Classement/typologie
Modle
Echantillon

Introduction
Les premiers modles
Les rseaux
Modle de Hopfield
Le perceptron multicouches
Algorithme de Kohonen
Conclusion

Mmoire (humaine/ordinateur)
Mmoire humaine

Mmoire dordinateur

Reconstitution partir
dune information partielle

Ne reconnat quun mot


crit exactement

Pas de localisation, pas de


neurone grand-mre

Linformation est localise


une certaine adresse

Pas de droulement, pas


de circuit lectrique pour
comparer

Recherche par
droulement,
reconnaissance par
comparaison

 Nombreux travaux pionniers Amari, Kohonen

Modle de Hopfield (1982)


 But : mmoriser des formes, des motifs
 Constitution d'une mmoire
distribue (contenue par l'ensemble du rseau)
associative (permettant le rappel partir d'une information
partielle ou bruite)
fabrique par apprentissage

Rseau compltement connect (mais peut tre incomplet)







N neurones binaires, totalement connects


Etat S dans { -1, +1 } N
Connexions Cij, symtriques, avec Cii = 0
Dynamique synchrone ou asynchrone
Si (t+1) = signe ( Cij Sj (t) )

Modle de Hopfield
 En gnral, connexions de HEBB
 Objets mmoriser S1, S2, ..., Sm, ..., Sp (de {-1, +1}

Cij = Sim Sjm


 D'autres choix sont possibles
 L'volution correspond la minimisation d'une fonction
d'nergie (applications en optimisation)

1
E (S(t ) = Cij S j (t )Si (t )
2 ij

 Pour de bonnes performances, il faut que le nombre

d'objets mmoriser soit infrieur 0.14 N

 Nombreux travaux (Hopfield, Gardner, Amit, etc...)


 Variantes pour amliorer les performances

Modle de Hopfield
 Images mmorises

 Image bruite

Image reconnue

Le calcul

Modle de Hopfield : exemple


 Hertz, Grogh et Palmer (1991)
 On ne stocke que 3 images
 On les reconnat, partir

dimages partielles ou bruites

Modle de Hopfield : applications


 Reconnaissance de caractres (lecture automatique de

caractres ou de chiffres manuscrits)


 Reconnaissance de squences
 Mmorisation et reconnaissance de formes ou d'images
 La faible capacit de ces rseaux a conduit d'autres modles,

comme des machines de Boltzmann (o la mise jour des


tats des neurones est alatoire)
 Application la reconnaissance de profils de bateaux ou

d'avions (Azencott)

Vocabulaire RN / physique
 Rseau de neurones
Cellule ou neurone
Actif ou inactif
Efficacit ou poids synaptique
Excitatrice
Inhibitrice
Seuil
Signal reu (potentiel de
membrane)

 Physique
Spin
Magntisation +1 ou 1
Lien, couplage
Lien positif
Lien ngatif
Champ local
Champ molculaire

Introduction
Les premiers modles
Les rseaux
Modle de Hopfield
Le perceptron multicouches
Algorithme de Kohonen
Conclusion

Perceptron multi-couches (MLP)


Rgression

X1
X2
.
.
.
Xi

Y=f W (X)

Xp

Lunit de sortie est linaire

Y = Yout = j zj +
Les units caches sont non linaires

zj = ( ji Xi + j )
avec
(t) = 1/(1 + exp(-t))
54

Le perceptron comme approximateur


Relation entre sortie : Y = f(X) +
Approxime par : Y = fW(X) + +
Le modle devient : Y = fw(X) +
Cest un modle de rgression non linaire, dune forme
particulire, appartenant la classe des fonctions qui peuvent
tre reprsentes par un perceptron multicouches
On sait que toute fonction continue de Rn dans R, dfinie sur
un compact peut tre approche avec la prcision que lon
veut laide dun perceptron une seule couche cache,
pourvu quon ait assez dunits caches.
Les () sont des v.a. i.i.d., de moyenne 0 et de variance 2

Perceptron multicouches
 Les fonctions d'activation des units caches sont drivables,

en gnral des sigmodes


 Le perceptron apparat alors comme un modle paramtrique

particulier, non linaire, o la sortie peut s'crire (si la sortie est


linaire)
k

j =1

i =1

y = + j ( ji x i + j )
 Les poids et les seuils sont les paramtres du modle
 Le modle est quivalent un modle linaire, lorsque les

fonctions d'activation sont linaires

Les paramtres sont W = (, , , )


Le nombre de paramtres est M

Perceptron multicouches
 Avec plus de couches, il est possible de rsoudre n'importe

quel problme de classification


 Avec une seule couche cache, on peut approcher n'importe
quelle fonction continue dfinie sur un compact, condition
de mettre assez dunits sur la couche cache
APPRENTISSAGE SUPERVISE
 L'apprentissage consiste minimiser une fonction d'erreur (en
gnral quadratique)

E = yi fW ( X i )

 On utilise des mthodes du gradient global ou du gradient

stochastique (rtro-propagation du gradient), premier ou second


ordre, etc.

Rseaux couches
Ide des proprits, avant mme les rsultats thoriques :

Fonctions derreur
Cas non linaire

Cas linaire

12
10
8
6

6,5

3,5

0,5
-2,5
7

-3

-1

MLP : surface de rponse


(mme exemple)
1

0,8

0,8

0,6

0,6
0,9
0,6
0,3

0,8

0,2

0,4

Perceptron 2NL-1L

0
0,9

0
0,9

0,6

0,3

0,4

0,6

0,2

0,3

0,4

Perceptron 3NL-1L
1

0,8

0,8

0,6

Perceptron 2NL-1NL (var. : 0.08)

0,4

0
0,9

0
0,9

0,6

0,3

0,8

0,2
0,6

0,2

0,4

0,3

0,9
0,6
0,3

0,4

0,6

Perceptron 3NL-1NL (var. : 0.22)

60

 Ce modle MLP est un modle de rgression non linaire, pour

lequel on peut utiliser toutes les techniques classiques


d'estimation
de choix de modles
de rduction du nombre de paramtres
 L'ide conductrice est d'essayer de faire mieux qu'un modle

linaire, mme en tenant compte des problmes de surparamtrage, de minima locaux, etc.
 Il faut viter le sur-apprentissage, et donc stopper lestimation

Sur-apprentissage

Trois problmes
 PROBLEME 1 : METHODE DESTIMATION =

APPRENTISSAGE ?

 PROBLEME 2 : COMMENT COMPARER DEUX MODELES ?

 PROBLEME 3 : ELIMINATION DES PARAMETRES NON

SIGNIFICATIFS ?

Estimation
Lestimation consiste
minimiser la somme des carrs rsiduels

E(W) = ( Yi - fW(Xi) )

o (Xi, Yi ) sont T observations indpendantes


 Rq : Si les units sont linaires, le modle est quivalent un

modle linaire
 Rq : Si les units caches non linaires travaillent au voisinage
de 0, elles sont approximativement linaires et le modle
linaire apparat comme un sous-modle approch du modle
considr

MLP: algorithme de rtro-propagation


 Il sagit de lalgorithme du gradient stochastique
 Pas de fonction derreur dans les couches caches

-> rtro-propagation de lerreur (forme de Hebb)


avec

E
wki =
= i xk
wki

E est lerreur instantane


i = ( y i y i ) ' ( u i ) pour les cellules de sortie

i = j w ij ' ( u i ) pour

j =1

les cellules

caches

Minimisation
 On utilise de prfrence une mthode du second ordre, du

genre quasi-Newton (BFGS ou LEVENBERG-MARQUARDT),


particulirement adapte la minimisation dune somme de
carrs)
 Cette mthode fournit une approximation de linverse de la
matrice Hessienne au minimum

E ( W )
2

 Inconvnient : une itration consiste considrer lensemble

des T observations.
 Si on a besoin de faire un apprentissage en continu, on utilise la
mthode du gradient stochastique (la rtro-propagation du
gradient). Alors on peut approcher la Hessienne par

( f W ( X i ) )( f W ( X i ) )

'

Critre de qualit dun modle


 Nombreuses mthodes (cross validation, ensemble

dapprentissage, de test, de validation; bootstrap, etc.)


 Utilisation de critre avec pnalit
E (W ) 2 M
E (W ) M ln T
E (W )
M ln T
AIC = ln
+
, BIC = ln
+
, BIC* =
+ cste
T
T
T
T
T
T
o
T est le nombre dobservations
M est le nombre de paramtres
E(W) est le terme derreur
Ces critres contiennent un terme de pnalit, ils permettent de
comparer deux modles quelconques, non embots
Ce critre est meilleur que le critre de gnralisation , une bonne
gnralisation montre seulement que les donnes de test et les
donnes dapprentissage obissent la mme loi, quil ny a pas
eu de changement de modle.

Loi des estimateurs


 On peut tendre les rsultats du modle linaire au cas non

linaire et on a
 Quand T tend vers linfini,

2 1

T W W N M 0,

o 2 est la variance, estime par


et o est estime par

E (W )
T

1 2
E (W )
2T

 Eliminer le poids wl est quivalent accepter l'hypothse nulle

"wl = 0"
contre la contre-hypothse w l 0

Mthode SSM
Statistical Stepwise Method
 1) Pour une architecture donne (confortable), l'apprentissage donne






wl , l = 1, , M .
un rseau W, de poids
2) On calcule tous les quotients
Q ( l ) = wl ( wl )
et on a ainsi toutes les statistiques de Student associes aux tests de
"wl = 0"
3) On dfinit l'indice l1, pour lequel Q(l1) est minimum
4) On teste le modle Wl1 contre le modle W, (par exemple on
limine wl1 ssi Q(l1) est plus petit que 1 ou 2
5) Si aucun poids ne peut tre limin, stop.
Si le poids wl1 est limin, on reprend l'apprentissage et on rpte le
point 2

 Le critre d'arrt est naturel et objectif. Il n'est pas ncessaire

d'examiner les performances du modle


 L'algorithme d'lagage s'arrte quand tous les poids sont
statistiquement significatifs
 Mais il faut beaucoup de donnes

Learning
W=(wij)
W=W'
Compute
wl / (wl)
Find the min w*
W'=W - {w*}
Test W' against W
Stop if W' is rejected
If not continue
Yes
BIC(W')<BIC(W)
No
Network W

MLP: rsum des proprits


 Approximateur universel !
 1 seule couche cache, mais nombre de neurones inconnu
 Difficult de mise en oeuvre
 Difficile dinterprter les valeurs internes
 Choix de la mthode de minimisation
Vitesse de convergence (trs) lente pour la rtro-propagation
Critre darrt
Minima locaux
 Choix de l'architecture et lagage des paramtres et units

superflus
 Choix d'un critre de qualit

Application aux sries temporelles

Y(t-1)

Y(t-2)
.
.
.

Y(t)

Y(t-p)

X(t)

 On a un modle ARMAX gnralis :

Yt = f ( Yt 1 ,Yt 2 , ,Yt p , X t ,W ) + t
= fW ( Yt 1 ,Yt 2 , ,Yt p , X t )
=+

j =1

i =1

j( jiYt i + i ) +

( X t + )

Rsultats thoriques
(Mangeas, Yao, Rynkiewicz)
 On a les mmes rsultats asymptotiques sur la loi de

l'estimateur de W (Mangeas, 1995)

 Les retards choisis en entre sont ceux qui interviennent dans

l'analyse linaire

 On peut aussi tendre la mthode dans le cas o on rinjecte

en entre des rsidus (carts entre la sortie calcule et la sortie


dsire)

MODELISATION DU TRAFIC INTERIEUR


ROUTIER DE MARCHANDISES
 Les donnes sont mesures en millions de tonnes-km
 On cherche un modle pour la variable Y (trm), qui reprsente le

trafic intrieur routier de marchandises


 Le modle de dpart est inspir d'un modle ARIMAX, avec
variables exognes, et rintroduction des rsidus
choix de la diffrentiation pour stationariser la srie (ici Y(t) - Y(t 12) ) et toutes les variables exognes
choix des variables explicatives. Ici trois variables :
X1(ip9): indice de production industrielle sauf btiment et gnie
civil
X2(iprmtk) : indice de prix du transport sncf
X3(iprout) : indice du prix du transport routier

TRANSPORT ROUTIER
Choix des retards pertinents
trm(t-1), trm(t-2), trm(t-3)
ip9(t), ip9(t-1)
iptrmk(t), iprmtk(t-1)
iprout(t), iprout(t-1)
Choix des retards des rsidus considrer
e(t-12)
 On connat l'cart-type rsiduel du modle ARIMAX, et on

cherche faire mieux


 Le modle retenu pralablement est:
(I - B12)(I - 0.3B3)(Y(t) - 92.8 X1(t) - 127 X3(t)) =
(I - 0.69 B12) e(t) -2.34
 Son cart -type est 3.72, le BIC est 80.1

DETAILS DE LA METHODE
 On part d'un perceptron avec un seul neurone cach, et on

rajoute des units caches jusqu'il n'y ait plus d'amlioration en


variance, ou trop de problme de colinarit
 A partir d'une architecture sur-dimensionne, on peut pratiquer la

mthode SSM, en n'enlevant aucune constante, ni dans un


premier temps les connexions entre units caches et la sortie
 On peut galement rajouter ou ne pas enlever des connexions

qui paraissent avoir un sens pour l'interprtation (priorit la


suppression des retards des exognes, par exemple)
 L'initialisation se fait avec la constante de sortie gale la

moyenne et les autres valeurs alatoires petites

RESULTATS
 On obtient un modle neuronal presque aussi bon que le

meilleur ARIMAX
avec un cart-type de 3.71, et un BIC de 80.4
 Dans cet exemple, le modle linaire est suffisamment bon pour

que le non linaire n'apporte pas d'amlioration vraiment


significative
 Cet exemple sert plutt tester la mthode
 Dans l'exemple des donnes du Sunspot, qui est mal modlis

par un modle linaire, le modle neuronal apporte une


amlioration sensible

Perceptrons multicouches
Innombrables applications
 De trs nombreuses applications
machine prononcer l'anglais
analyse de courbes, classification de formes (EEG, diagrammes,
analyse financire
aide la prise de dcision
reconnaissance de lettres, de paroles, etc..., etc...
 Exemple de la modlisation du transport, mais en tudiant

simultanment le transport par rail et par route


 Identification de sries temporelles et prvision
 Consommation d'eau, dlectricit

Introduction
Les premiers modles
Les rseaux
Modle de Hopfield
Le perceptron multicouches
Algorithme de Kohonen, autres modles
(en 7 transparents)
Conclusion

Cartes auto-organisatrices de Kohonen


 Linarit de lACP

Dessins de Demartines et Verleysen


80

Cartes auto-organisatrices de Kohonen


 Structure du rseau
Wij
x1
x2

s1
s2
s3
s4
s5

 Choix du gagnant :
 Adaptation des poids :
Unit gagnante
Mise jour

x C i0 x C i , i I

Ci (t + 1) = Ci (t ) + (t + 1) (i, i0 )( x(t + 1) Ci (t ))
81

Kohonen: utilisation et limites


 Projection dun espace quelconque dans un espace de









dimension 1 ou 2
Proprit dorganisation, ou respect de la topologie
Ralise en mme temps une quantification (avantage ou
inconvnient)
(Trs) facile manipuler par rapport dautres mthodes nonlinaires de projection
Effet papillon (et/ou minima locaux)
Trs difficile tudier mathmatiquement
Si 0 voisins: quantification vectorielle pure (competitive
learning)
Peut tre tendu de lapprentissage supervis
Peut tre implment en version batch

Convergence du rseau de Kohonen


 dimension dentre = dimension de la carte = 2

83

Autres modles
 Rseaux rcurents
 Sparation de sources
 Modles de renforcement
 Etc

Sparation de sources - cocktail party


signaux
inconnus
mlange
inconnu

signaux
mesurs

Sparation
de sources

signaux
indpendents

Le but est de retrouver des signaux indpendants


Il faut au moins autant de mesures que de signaux inconnus
On les retrouve une constante et une permutation prs !

Exemple (Verleysen)

Sparation de sources
 2 mthodes
Utilisation des cartes auto-organisatrices: capturer la relation qui
existe entre les sources
Utilisation de la CCA (Curvilinear component analysis): test
dindpendance entre les signaux de sortie
 Utilisation possible :

...
batterie de
capteurs

sparation
de sources

quelques signaux

Introduction
Les premiers modles
Les rseaux
Modle de Hopfield
Le perceptron multicouches
Algorithme de Kohonen (plus long)
Conclusion

Analyse de donnes, data mining


Variables
1

Comment extraire
de linformation ?

p
1

N et p sont grands

Observations

Extraction dindividus types :


Quantification Vectorielle







: espace des donnes, dimension p


f : densit des donnes
x1, x2, , xN, : les donnes
n : nombre de classes
C1, C2, , Cn : quantifieurs ou vecteurs codes ou centres
A1, A2, , An : classes

BUT : Minimiser la distorsion quadratique (lerreur)


(= Somme des carrs intra)
n

D 0 ( f ,C 1 ,C 2 , ,C n ) = A i x C i
Estime par

i =1

D O ( f ,C 1 ,C 2 , ,C n ) = 1
N i =1

x jAi

f ( x ) dx

x j C

(1)
2

(2)

Algorithme Dterministe : Centres


mobiles (FORGY, LLOYDS, LBG)
 A chaque tape, les classes sont dfinies (par les plus proches

voisins), et les vecteurs codes sont re-calculs comme les centres de


gravit des classes, etc.

 (On part de vecteurs codes alatoires, on dtermine les classes, puis

les centres, puis les classes, etc.)

Algorithme Probabiliste associ (SCL)


 On dplace seulement le gagnant
Centre
gagnant qi*(t)

Donne tire
au hasard
x(t+1)
Centre
mis jour

Ci * (t +1)=Ci * (t)+(t)(x(t +1)Ci * (t))

 Avec lalgorithme de Kohonen, on dplace le vecteur code

gagnant, mais aussi ses voisins.

Algorithme SCL (0 voisin)


 Lalgorithme SCL est la version stochastique de lalgorithme de

Forgy
 Lalgorithme de Forgy minimise la distorsion et converge vers

un minimum local
 Lalgorithme SCL converge en moyenne vers un minimum

local
 La solution dpend de linitialisation

Algorithme de Kohonen (SOM)


 Apprentissage non supervis
 Les rponses associes des entres voisines sont

voisines
 On parle d'auto-organisation, de respect de la topologie
 Les associations
rtine - cortex visuel
frquences des sons - cortex auditif
peau - cortex sensoriel

respectent la notion de voisinage


 Nombreuses applications en reprsentation de donnes

de grande dimension sur des rseaux de dimension 1 ou


2, ou classification o la notion de classes voisines a un
sens

Cortex sensoriel (Kohonen)

Cortex sensoriel

Homonculus (Anderson, Penfield and


Boldrey)

Tte dhomonculus (Anderson, Penfield


and Boldrey))

Cortex auditif (Pags et Fort)

L'algorithme
 Il sagit dun algorithme original de classification qui a t

dfini par Teuvo Kohonen, dans les annes 80.


 Lalgorithme regroupe les observations en classes, en
respectant la topologie de lespace des observations. Cela
veut dire quon dfinit a priori une notion de voisinage
entre classes et que des observations voisines dans
lespace des variables (de dimension p) appartiennent (aprs
classement) la mme classe ou des classes voisines.
 Les voisinages entre classes peuvent tre choisis de

manire varie, mais en gnral on suppose que les classes


sont disposes sur une grille rectangulaire qui dfinit
naturellement les voisins de chaque classe.
 Mais on peut choisir une autre topologie

Structure en grille ou en ficelle


 Les grilles ne sont pas ncessairement carres

Voisinage de 49

Voisinage de 25

Voisinage de 9

Voisinage de 7

Voisinage de 5

Voisinage de 3

Structure en cylindre, ou en pavage


hexagonal
CYLINDRE

MAILLAGE HEXAGONAL

L'algorithme
Principe de lalgorithme de Kohonen
 Lalgorithme de classement est itratif.
 Linitialisation : associer chaque classe un vecteur code

dans lespace des observations choisi de manire alatoire.


 Ensuite, chaque tape, on choisit une observation au
hasard, on la compare tous les vecteurs codes, et on
dtermine la classe gagnante, cest--dire celle dont le
vecteur code est le plus proche au sens dune distance
donne a priori.
 On rapproche alors de lobservation les codes de la
classe gagnante et des classes voisines.
 Cet algorithme est analogue lalgorithme SCL, pour lequel
on ne modifie chaque tape que le code de la classe
gagnante.
 C est aussi un algorithme comptitif

Notations (Kohonen, ou SOM)


 Espace des entres K dans Rp
 n units, ranges en rseau de dimension 1 ou 2, pour

lesquelles est dfini un systme de voisinage


 A chaque unit i (i=1,...,n), est associ un vecteur code Ci de
p composantes
 La rponse d'une unit i l'entre x est mesure par la

proximit de x avec le vecteur code Ci


 Initialisation alatoire des vecteurs codes
 A l'tape t,
on prsente une entre x
on cherche l'unit gagnante i0(x)
on rapproche Ci0 et les Ci voisins, de l'entre x

Dfinition de l'algorithme on-line


 Les {Ci(0)} sont les vecteurs codes initiaux de dimension p
 (t) est le paramtre dadaptation, positif, <1, constant ou

lentement dcroissant
 La fonction de voisinage (i,,j)=1 ssi i et j sont voisins, =0
sinon, la taille du voisinage dcrot aussi lentement au cours du
temps
 Deux tapes : au temps t+1, on prsente x(t+1), (tirages
indpendants)
On dtermine lunit gagnante

i 0 (t +1)=argmin i x(t +1)Ci (t)


On met jour les vecteurs codes

C i ( t +1 )=C i ( t )+ ( t +1 ) ( i 0 ( t +1 ), i)( x ( t +1 ) C i ( t ))

Fonctions de voisinage

i0

i0

Kohonen / SCL
 En fait lalgorithme de Kohonen est une extension de la version

stochastique de lalgorithme des centres mobiles


 Issu du domaine de la quantification vectorielle, de la thorie du

signal
 Applications o les donnes sont trs nombreuses, disponibles

on-line,
 Pas besoin de les stocker

Exemple : une tape


Avant

Aprs

Observation
prsente

Dmo en dimension 2

Exemples de simulations (Kohonen)

Exemples de simulations (EPFL)

Adaptatif (Ritter et Schulten)

Adaptatif (Ritter et Schulten)

tude Thorique
 On peut crire

C(t+1) = C(t) + H( x(t+1), C(t) )


 Algorithme dont la forme fait penser un algorithme de gradient
 Mais en gnral (si la distribution des entres est continue), H

ne drive pas d'un potentiel (Erwinn). Lalgorithme on-line


SOM nest pas un algorithme de gradient.
 On se restreint ici au cas o les entres sont listes en
nombre fini. Alors, il existe une fonction potentiel qui est
(cf Ritter et al. 92) la somme des carrs intra classes tendue
 Dans ce cas, l'algorithme minimise la somme des carrs
des carts de chaque observation non seulement son
vecteur code, mais aussi aux vecteurs codes voisins
(dans la structure fixe)

Somme des carrs intra (rappel)


 Lalgorithme SCL (0-voisin) est exactement l algorithme de

gradient stochastique associ la distorsion quadratique (ou


somme des carrs intra)

D(C ) = A
x C i f ( x )dx
i(x)
i I

 estime par

n
1
2

D(C ) =
x Ci
N i =1 x A
i

Somme des carrs intra-classes tendue


aux classes voisines
 Extension de la notion de somme des carrs intra-

classes, qui est tendue aux classes voisines


n

D SOM (C ) =

i =1

x t.q. i = i 0 ( x )
ou i voisin de i0 ( x )

x Ci

 En fait cette fonction a de nombreux minima locaux


 L'algorithme converge, moyennant les hypothses

classiques (Robbins-Monro) sur les , qui doivent


dcrotre ni trop, ni trop peu
 La dmonstration mathmatique complte nest
faite que pour des donnes de dimension 1 et pour
une structure de voisinage en ficelle
 Pour acclrer la convergence, on prend au dbut une
taille de voisinage assez grande et on la fait dcrotre

quation diffrentielle ordinaire associe


ODE
 LODE scrit

dC ( i , u )
= ( i , j ) A (C (., u )) (C ( i , u ) x ) ( dx )
j
du
j I
 o C(i,t) remplace CI(t)
 C(.,t) est pour (Ci(t), i I)
 est la distribution des donnes x
 Ai(C) = {x / ||Ci - x || = minj ||Ci - x || } est la i-me classe forme

des donnes pour lesquelles Ci est le gagnant. Ces classes


dpendent des valeurs courantes de tous les vecteurs-codes.
Elles forment une mosaque de Vorono.

Points fixes de lODE


 Si lalgorithme converge, ce sera vers un point dquilibre de

lODE, tel que

i I , (i , j ) A ( x *) (C * (i ) x ) (dx ) = 0
j
j

 i.e.

C * (i ) =

j ( i , j ) A j (C *) x d ( x )
j ( i , j ) ( A j (C *))

 Pour chaque i, C*(i) est le centre de gravit de toutes les

classes, pondrs par les valeurs de la fonction (i,j), j I

(1)

Lalgorithme Batch
 On dfinit un processus dterministe pour calculer les solutions

C*
 On choisit C0 et on pose pour chaque composante i

C k +1 (i ) =

j ( i , j ) A j (C k ) x ( dx )
k

(
i
,
j
)

(
A
(
C
))
j
j

 Quand la mesure ne charge quun nombre fini N de donnes,

le processus dterministe scrit

C Nk + 1 ( i ) =

j (i , j ) N
l = 1 x l 1A
j (i ,

j ) N
l =1

k
(
)
C
j

(xl )

1A (C k ) ( x l )
j

(2)

Lalgorithme Batch
 Si N , en posant

1 N
N = l =1 x l
N
 si N converge faiblement vers , on a

k +1
limN limk CN
(i ) = C * (i )
o C* est solution de (1)
Lalgorithme (2) est lalgorithme de Kohonen Batch (KBATCH).
Cest une simple extension de lalgorithme de Forgy. A chaque
tape la mise jour consiste calculer les centres de gravit
des classes pondres par la fonction de voisinage.

Algorithme Quasi-Newtonien
 Mme si D nest pas partout diffrentiable et ne permet pas de

prouver rigoureusement la convergence de lalgorithme on-line,


il est intressant de la contrler au cours des itrations.
 On sait que lalgorithme de Forgy (algorithme batch dans le cas
de 0 voisin) minimise la distorsion classique D(x)
 Dans le cas gnral (Algorithme KBATCH), on a

k +1
CN

k
= CN

diag

k 1
k
DSOM (CN )) DSOM (CN )

Cest--dire que lalgorithme Batch est un algorithme quasiNewtonien associ la distorsion tendue (si et seulement sil
ny a pas de donnes sur les bords des classes).

Comparaison sur donnes simules


en 2D
 On prend une grille 7 par 7, et une autre 10 par 10 (avec un

systme de voisinages fixe de 9 voisins) pour tudier


lalgorithme Kohonen batch, avec 100 itrations
lalgorithme on-line SOM, avec 50 000 itrations (i.e. quivalent)
 Les donnes sont uniformment distribues dans un carr
 On choisit les mmes valeurs initiales pour les deux

algorithmes
 On observe que lalgorithme SOM trouve de meilleures

solutions

(Dessins de Jean-Claude Fort)

Algorithme batch pour des donnes


uniformes sur une grille 77

Algorithme on-line SOM pour des donnes


uniformes sur une grille 77

Algorithme batch pour des donnes


uniformes sur une grille 1010

Algorithme on-line SOM pour des donnes


uniformes sur une grille 1010

Algorithme Batch (complments)

 Autres exemples sur le site du SAMOS

 Voir Confrence NNSP Falmouth 2001, ESANN 2002, SFC 02,

etc

Algorithme de Kohonen
Applications
 CES LIMITATIONS NEMPECHENT PAS LA RICHESSE DES

APPLICATIONS :

 CARTOGRAPHIE (cf ACP)


 ANALYSE DES TABLEAUX DE CONTINGENCE (AFC)
 ETUDE DE DONNEES QUALITATIVES
 CALCUL NUMERIQUE DINTEGRALE (Pags)
 MAILLAGE
 CLASSIFICATION DE COURBES OU DE FORMES
 etc...etc...

Nombreuses applications
(plusieurs milliers sur le site de Kohonen)
 Reprsentation des pays, (Blayo et Letremy)
 Communes d'Ile-de France, (Ibbou, Tutin)
 Courbes de consommation, prvision, (Rousset)
 Consommation au Canada, (Gaubert, Gardes, Rousset)
 Segmentation du march du travail (Gaubert)
 Dmographie et composition sociale dans la valle du

Rhne, (Letremy, P.A.R.I.S)


 Etude sur le du leasing en Belgique, (de Bodt, Ibbou)
 Profils de chocs de taux d'intrts, (de Bodt)
 Chmeurs rcurrents, (Gaubert)
 Niveau de vie des mnages (Ponthieux)
 Dpenses de formations en entreprise (Perraudin, Petit,
Lmire), ...
 Gopolitique europenne (Perraudin)

Les classes : Mosaque de Vorono


 Dans l espace des entres, les classes forment une partition,

ou mosaque de Vorono, dpendant des C.


 Ai(C) = {x / ||Ci - x || = minj || Cj - x || } : i-me classe forme
des donnes pour lesquelles C(i) est le vecteur code gagnant.

x appartient Ai lunit i gagne quand on prsente x

Cartes de Kohonen : Classification


 Pour reprsenter des donnes au moyen de l'algorithme de

Kohonen, on prend comme entres les lignes de la matrice des


donnes
 Aprs apprentissage, chaque individu (ligne) correspond une

unit du rseau (celle qui gagne quand on prsente cet individu)


 On classe une observation dans la classe Ai dfinie par
l'unit gagnante qui lui correspond (i=i0(x))
 On obtient donc une classification des individus, avec respect

des voisinages
 La carte ainsi obtenue fournit une reprsentation plane
 Ici lexistence de proximits entre classes qui se ressemblent est

essentielle

Reprsentation (KACP)
 Dans chaque classe on peut reprsenter le vecteur code
en donnant ses P composantes
en dessinant une courbe P points
 Dans chaque classe, on peut
faire la liste des observations de cette classe
reprsenter en superposition les observations de la classe

 Ceci fournit une reprsentation plane, analogue l'analyse

en composantes principales (mais une seule carte et pas de


projection orthogonale)

Classes et distances
 Comme le nombre de classes est fix a priori assez grand, il

est utile de procder une regroupement


 On fait une classification hirarchique sur les vecteurs codes,
ce qui dfinit des super-classes
 On colorie ces super-classes (cf. classification mixte)
 On peut visualiser les distances entre les classes de

Kohonen, car la disposition sur la grille donne une


impression fausse d'quidistance
 Plus il y a du blanc entre deux classes (dans les 8

directions), plus la distance est grande

Variables quantitatives (communes de la


valle du Rhne, 7 recensements)
Contenu des classes et des super-classes

Variables quantitatives (communes de la


valle du Rhne)
Classes, super-classes et distances

Les quatre premiers recensements

Par dpartement

Dpartements par super-classes

Ardche (07)

Hrault (34)

Bouches-du-Rhne (13)

Isre (38)

Drme (26)

Haute-Loire (42)

Gard (30)

Vaucluse (84)

Variables qualitatives (exemple de la famille)


Classes et super classes pour les modalits

Conclusion
 Cest un trs bon outil
de classification (acclration des mthodes type centres mobiles)
de visualisation en raison de la conservation des voisinages
de complment des mthodes factorielles classiques
 On peut combiner mthodes classiques et lalgorithme de

Kohonen :
KACP sur les coordonnes obtenues aprs une ACM
ACM (ou KACM, ou KDISJ) sur des variables qualitatives en y
rajoutant une variable de classe obtenue par un KACP
 On obtient directement des scores si on classe sur une ficelle
 On peut sen servir en prvision en segmentant lespace et en

utilisant un modle par segment (pr-traitement avant lusage


dun perceptron ou dun modle auto-rgressif)
 Outil de prvision de courbes, avec la mme prcision en
chaque point de la courbe (au contraire des mthodes usuelles)

Conclusion
 Facilit de travail avec des donnes manquantes (cf thse de

Smal Ibbou) : les distances sont calcules sur les composantes


prsentes dans les observations
 Les donnes manquantes peuvent tre estimes par les

composantes correspondantes du vecteur code de la classe de


l observation
 Utile pour une initialisation acclre de toute autre mthode

de quantification
 Application dveloppe par T.Kohonen : aide la recherche de

mots cls dans de grands textes (WEB)

Rfrences
 Beaucoup dapplications
 Les programmes de Patrick Letrmy

sont disponibles sur le site du SAMOS


http://samos.univ-paris1.fr