Vous êtes sur la page 1sur 6

A.

Cornujols

Les rseaux de neurones

Les rseaux de neurones

A. Cornujols

Introduction : Pourquoi les rseaux de neurones ?

Flexible. Facilement adaptable

Calculs paralllisables

Implantables directement sur circuits ddis

Robustes et tolrants aux fautes (calculs et reprsentations distribus)

Algorithmes simples

Demploi trs gnral

Saccomode dinformations incompltes, incertaines, vagues, bruites ...


Massivement parallle

(antoine@lri.fr)

Capable dapprentissage
!

I.I.E.
&
L.R.I., Universit dOrsay

A. Cornujols

A. Cornujols

Les attraits pratiques

Le cerveau naturel : un modle trs sduisant


Robuste et tolrant aux fautes

Antoine Cornujols

A. Cornujols

Introduction : Pourquoi les rseaux de neurones ?

Inspiration biologique

Les rseaux de neurones

Les rseaux de neurones

Les dfauts

Neurones
! 1011 neurones dans le cerveau humain
! 104 connexions (synapses + axones) / neurone

Opacit des raisonnements

Opacit des rsultats

Potentiel daction / priode rfractaire / neuro-transmetteurs


Signaux excitateurs / inhibiteurs

A. Cornujols

Les rseaux de neurones

2. Historique (trs rapide)


!

Les rseaux de neurones

Prmisses

Fonctionnement
en reconnaissance

Apprentissage ?

Rgle de Hebb (1949) : apprentissage par renforcement du couplage synaptique

Premires ralisations

Les rseaux de neurones

Modles de base : le Perceptron Multi-Couches

Interconnect boucles (e.g. rseau de Hopfield)

Mc Culloch & Pitts (1943) : 1er modle de neurone formel.


Rapport neurone et calcul logique : base de lintelligence artificielle.

A. Cornujols

Les rseaux de neurones : Types de rseaux

Topologie typique

ADALINE (Widrow-Hoff, 1960)


PERCEPTRON (Rosenblatt, 1958-1962)
Analyse de Minsky & Papert (1969)
!

Nouveaux modles
Kohonen (apprentissage comptitif), ...
Hopfield (1982) (rseau boucl)
Perceptron Multi-Couches (1985)

Analyse et dveloppements
Thorie du contrle, de la gnralisation (Vapnik), ...

A. Cornujols

Les rseaux de neurones

Le Perceptron Multi-Couches : propagation


Pour chaque neurone :

wjk : poids de la connexion de la cellule j la cellule k

ak : activation de la cellule k

: fonction d
dactivation

+1
Fonction seuil

+1

g(a) =

1
1+ e

Fonction rampe

!a

g(a) = g(a)(1-g(a))

Sortie z i
+1

Fonction base radiale


Fonction sigmode
Activation ai

Les rseaux de neurones

Le Perceptron Multi-Couches : exemple du XOR

#
&
yl = g% " w jk ! j ( = g(ak )
$ j = 0, d
'

A. Cornujols

Les rseaux de neurones

Exemple de rseau (simulateur JavaNNS)

A. Cornujols

Les rseaux de neurones

10

Le PMC : lapprentissage

A. Cornujols

Les rseaux de neurones

11

Lapprentissage : Erreur quadratique

Trouver des poids permettant au rseau de raliser une relation

A. Cornujols

Les rseaux de neurones

Apprentissage = recherche dans lespace multidimensionnel des paramtres (poids

Interprtation gomtrique

synaptiques) en vue de minimiser la fonction de cot

entre-sortie spcifie par des exemples de cette relation

Quasitotalit des rgles dapprentissage pour les RNs

(Toujours le problme de la gnralisation)

= mthode de descente de gradient

Apprentissage :

Minimiser la fonction de cot E(w,{xl,ul}) en fonction du paramtre w

Utiliser pour ceci une mthode de descente de gradient

Solution optimale w* tq. :

!wij " #$E $wij


Principe inductif : On fait alors lhypothse que ce qui marche sur les exemples
(minimisation du risque empirique), marche sur des donnes non vues
(minimisation du risque rel)

A. Cornujols

Les rseaux de neurones

13

Le Perceptron Multi-Couches : apprentissage


m

Objectif :

w * = arg min
w

" [ y(x

; w) ! u(xl )

l =1

3. Calcul de lerreur = fct(sortie - sortie dsire) (e.g. = (yl - ul)2)

1
#R (x ,w)
$ E#wk
m k =1
ij

wij (t) = wij (t ! 1)! " (t)

16

A. Cornujols

Les rseaux de neurones

! El
! wij

" El
" El
=
= g' (ak )
= g' (ak )# (uk (xl ) $ y k )
" ak
" yk

Pour les cellules dune couche cache :

" E l " ak
=
k " aj

#"a
k

#!
k

" ak " zj
= g' (a j )$ # w jk !k
" zj " a j
k

A. Cornujols

Les rseaux de neurones

2. Modification des poids

zi : sortie de la cellule i
!i : erreur attache la cellule i

Cellule cache

Cellule de sortie

aj

17

PMC : La rtro-propagation de gradient

ai : activation de la cellule i

Pour les cellules de la couche de sortie :

" El
=
" aj

2. Utilisation de ces drives pour calculer la modification de chaque poids

PMC : La rtro-propagation de gradient

! El
! El ! a j
=
= " j zi
! wij
! a j ! wij

!j =

15

7. Retour en 1

Ide : calculer lerreur sur la connexion wji en fonction de lerreur aprs la cellule j

A. Cornujols

Les rseaux de neurones

1. Evaluation des drives de lerreur par rapport aux poids

Sur lerreur. Nombre de prsentation dexemples, ...

A. Cornujols

!k

w (! )

Deux tapes :

6. Critre darrt

PMC : La rtro-propagation de gradient


1. Evaluation de lerreur Ej (ou E) due chaque connexion :

$E
$wij

Par lalgorithme de rtro-propagation de gradient

# RE (x k ,w)
# wij

Les rseaux de neurones

= w(ij! ) " #

Calculer lerreur sur une connexion en fonction de lerreur sur la


couche suivante

5. Modification des poids synaptiques

RE (x k ,w) = [t k ! f (xk ,w)]2

Cas en-ligne
(gradient stochastique) :

wij( ! +1)

Principe :

4. Calcul des gradients

E ( ! ) " #w E

Dtermination des responsabilits (credit assignment problem)


Quelle connexion est responsable, et de combien, de lerreur E ?

Squentielle, alatoire, en fonction dun critre donn

w( t ) = w( t !1) ! " # Ew (t )

Le problme :

1. Prsentation dun exemple parmi lensemble dapprentissage

E ( ! +1)

PMC : La rtro-propagation de gradient

Algorithme itratif :

wij (t) = wij (t ! 1)! " (t)

14

Le Perceptron Multi-Couches : apprentissage

2. Calcul de ltat du rseau

o :

A. Cornujols

Les rseaux de neurones

Algorithme (rtro-propagation de gradient) : descente de gradient

Cas hors-ligne
(gradient total) :

!E(w* ) = 0
# "
"
" &
! = %
,
, ...,
"w N ('
$ " w1 "w 2

(algorithme de rtro-propagation de gradient)


!

12

Lapprentissage : descente de gradient

zi

wij

!j

On suppose gradient pas (constant ou non ): "(t)

Si apprentissage stochastique (aprs prsentation de chaque exemple)

! wji = " (t) # j ai

ak
zj

wjk

yk

!k

Si apprentissage total (aprs prsentation de lensemble des exemples)

! wji = " (t) $ # nj ain


n

18

A. Cornujols

Les rseaux de neurones

19

Le PMC : passes avant et arrire (rsum)

A. Cornujols

Les rseaux de neurones

20

Le PMC : passes avant et arrire (rsum)

!w

js

yj

wis (t + 1) = wis (t) ! "(t)# sai


d

wis
y1 (x)

Biais

w0
x0

w1
x1

ai (x) =

w2

w3
x3

w0

Biais

xd

x0

A. Cornujols

22

Analyse de la surface derreur

A. Cornujols

Applications : la discrimination

w1
x1

1 neurone de sortie

Probabilit [0,1]
Critre entropique

w3

x2

x3

Il faut typiquement recommencer plusieurs dizaines de fois un apprentissage en

Efficacit en reconnaissance

wd

. . .

xd

A. Cornujols

Les rseaux de neurones

Possibilit de temps rel

25

A. Cornujols

Les rseaux de neurones

Reconnaissance de caractres manuscrits

Reconnaissance de locuteurs

w0
x0

w1
x1

w2
x2

w3
x3

wd

. . .

xd

{0,1, , c}

[0,1]

!
!

1 neurone / classe
Code correcteur derreur

Biais

w0
x0

w1
x1

. . .

w2
x2

w3
x3

26

Les rseaux de neurones

cf [Tom Mitchell]

yi(x)

y1 (x)

n (" c) neurones de sortie

Les rseaux de neurones

Applications : optimisation multi-objectif

y(x)

1 neurone de sortie

. . .

Biais

23

A. Cornujols

24

A. Cornujols

27

Analyse de la surface derreur

c-1 problmes de discrimination

Erreur quadratique
!

w2

Exemple :

Mines cylindriques / roches


(http://www.ics.uci.edu/mlearn/MLRepository.html)

[0,1]

Il faut typiquement plusieurs centaines de passes (voir plus loin)

partant avec diffrentes initialisations des poids

Applications : la discrimination multiclasse

Exemple :

!s

Analyse de la surface derreur

Les rseaux de neurones

{0,1}

. . .

En O(w) pour chaque passe dapprentissage, w = nb de poids

Les rseaux de neurones

js

wei (t + 1) = wei (t) ! "(t )# iae

"w

cellules s
couche
suivante

yi(x)

y1 (x)

k neurones sur la
couche cache

wd

. . .

! j = g' (aj )

wis

yi (x) = g(ai (x))

. . .

x2

! w x +w
j =1

yi(x)

21

Efficacit en apprentissage

!s = g' (as ) (us"ys )

ys(x)

j=1

A. Cornujols

PMC : La rtro-propagation de gradient

ys (x) =

ys(x)

Les rseaux de neurones

wd

. . .

xd

Les rseaux de neurones

A. Cornujols

28

PMC : Les applications

la parole (Identification du locuteur, ...)

30

A. Cornujols

33

A. Cornujols

36

Technique des poids partags (weight sharing)

lcriture manuscrite, Lecture automatique des codes postaux (Zip


codes, USA), ...)

Technique du optimal brain damage

Prdiction (consommations deau, dlectricit, mtorologie, bourse,

99% de reconnaissance correcte (sur lensemble dapprentissage)

...)

9% de rejet (pour reconnaissance humaine)

Diagnostic (industrie, mdecine, science, ...)

A. Cornujols

31

Application aux codes postaux (Zip codes)

Prdire certaines
proprits de molcules
(par exemple activit
biologique) partir de
descriptions :
- chimiques
- gomtriques
- lctriques

A. Cornujols

La base de donnes

Segments et redimensionns sur matrice 16 x 16

Traitement dimages, reconnaissance des formes (reconnaissance de

Quantitative Structure Activity Relations

Les rseaux de neurones

! 10000 exemples de chiffres manuscrits

Traitement du signal (filtrage, compression de donnes, traitement de

Un chec : QSAR

29

[Le Cun et al., 1989, ...] (ATT Bell Labs : trs forte quipe)

(e.g. Commande de robot)

Les rseaux de neurones

A. Cornujols

Application aux codes postaux (Zip codes)

Automatique : identification et contrle de processus

Les rseaux de neurones

Les rseaux de neurones

Les rseaux de neurones

A. Cornujols

32

Les erreurs commises

A. Cornujols

34

Les rseaux de neurones

Rle de la couche cache

Les rseaux de neurones

La rgression

A. Cornujols

35

Les rseaux de neurones

Rle de la couche cache

A. Cornujols

Les rseaux de neurones

37

PMC : Analyse

Les rseaux de neurones

A. Cornujols

38

Rle de la couche cache

Les rseaux de neurones

A. Cornujols

39

A. Cornujols

42

PMC : Mise en pratique (1)


Problmes techniques :
comment amliorer la performance de lalgorithme

Rle des cellules caches


!

Efficacit calculatoire

Le PMC en tant que mthode doptimisation : variantes

Heuristiques

A. Cornujols

Les rseaux de neurones

40

PMC : La rtro-propagation de gradient (variantes)

Les rseaux de neurones

A. Cornujols

41

PMC : Problmes de convergence

Ajout dun moment

Apprentissage squentiel vs en mode batch


Choix de la fonction dactivation
Normalisation des entres
Initialisation des poids
Les gains dapprentissage

Les rseaux de neurones

PMC : Problmes de convergence

Minimums locaux. Ravins. etc.

$E
! wji (t + 1) = " #
+ % ! w ji (t)
$ w ji

Ajout dun moment


Mthodes du 2 ordre
Hessien
Gradients conjugus

(gradients variables)

Gain adaptatif

Ajout dun terme de moment (inertie)

Conditionnement des variables

Gain beaucoup plus faible en stochastique quen gradient total

si le gradient ne change pas de signe,

sinon

Bruiter les donnes dapprentissage

Gain propre chaque couche (e.g. 1 / (# entres cellule)1/2 )

Algorithme stochastique (vs. total)

Un pas de gradient variable (dans le temps et pour chaque cellule)

Utilisation de la drive seconde (Hessien). Gradient conjugu.

Algorithmes plus complexes


!

Gradients conjugus
Ide : Essayer de minimiser indpendamment sur chaque axe, en utilisant un
moment sur la direction de recherche

Mthodes de second ordre (Hessien)

" Diminuent le nombre de pas mais augmentent le temps calcul.

A. Cornujols

Les rseaux de neurones

43

PMC : Mise en pratique (2)

Les rseaux de neurones

Gnralisation : optimiser la structure dun rseau


Par croissance progressive

Problmes mthodologiques
!

Choix de la fonction de cot (mesure du risque)

Quand arrter lapprentissage ?

Par lagage

Validation des rsultats ?

Optimal brain damage [Le Cun,1990]

Optimisation de la capacit en gnralisation ?

Optimal brain surgeon [Hassibi,1993]

Choix

la

structure

nombre

Dimensionnement automatique ?
!

Qualit de la base dapprentissage ?

de

couches,

des

cellules

44

A. Cornujols

Les rseaux de neurones

Rgularisation et PMC
Nouveau risque empirique :

Cascade correlation [Fahlman,1990]

de

A. Cornujols

Remp ( ! ) =

1
m

" L(h (x l , ! ),u l )


l =1

Exemples de rgularisateurs utiliss :


!

Early stopping

Apprentissage avec bruit

Weight decay

Rduction du nombre de poids

Soft-weight sharing

+ # $[h(. , ! )]
Terme de pnalisation

45

A. Cornujols

Les rseaux de neurones

46

Sources documentaires
Dreyfus et. al (2001) : Rseaux de neurones. Mthodologie et applications. Eyrolles, 2001.

Bishop C. (95) : Neural networks for pattern recognition. Clarendon Press - Oxford, 1995.

Haykin (98) : Neural Networks. Prentice Hall, 1998.

Hertz, Krogh & Palmer (91) : Introduction to the theory of neural computation. Addison
Wesley, 1991.

Thiria, Gascuel, Lechevallier & Canu (97) : Statistiques et mthodes neuronales. Dunod,
1997.

(a)

(point dentre pour de nombreux sites)

A. Cornujols

PMC fonctions radiales (RBF)


Dfinition

49

Couche de sortie : combinaison linaire sur la couche cache

Approximateur universel ([Hartman et al.,90], ...)


Mais non parcimonieux (explosion combinatoire avec la taille des entres)

" Rserv aux problmes de faible dimensionalit


!

Liens troits avec les systmes dinfrence floue et les rseaux neuro-flous

Sortie

Cache

Cache

Duplication des couches (artifice : pas vraiment rcurrents)


Contexte

A. Cornujols

50

Paramtres rgler :
!

Nb de cellules caches

Position des centres des champs rcepteurs

Diamtre des champs rcepteurs

Poids vers la couche de sortie (moyenne pondre)

Mthodes
!

Adaptation de la rtro-propagation (possible)

Dtermination de chaque type de paramtres par une mthode propre


(souvent plus efficace)
Centres dtermins par mthodes de clustering (k-means, ...)
Diamtres dtermins par optimisation des taux de recouvrement (PPV, ...)
Poids par technique doptimisation linaire (calcul de pseudo-inverse, ...)

Entre

Contexte

Contexte
!

Sortie

PMC fonctions radiales (RBF) : apprentissage

Couche cache de cellules fonction dactivation radiale (e.g. gaussienne)

Proprits

Entre

(d)

Association temporelle

Les rseaux de neurones

Ide : paver lespace des entres avec ces champs rcepteurs

Cache

Contexte

Cache

(c)

Reproduction de squence

" Rseaux rcurrents

Sortie

Reconnaissance de squence

" Time Delay Neural Networks (TDNNs)

Les rseaux de neurones

(b)
Sortie

Production dune squence en rponse la reconnaissance dune autre squence.

Vapnik (95) : The nature of statistical learning. Springer Verlag, 1995.

http://www.lps.ens.fr/~nadal~

Les rseaux rcurrents

E.g. poursuivre la squence quand une squence initiale a t fournie (ex: prvision de
consommation dlectricit)
!

A. Cornujols

Les rseaux de neurones

E.g. reconnatre le mot correspondant un signal vocal


!

Sites web
!

47

Tches

A. Cornujols

Les rseaux rcurrents

Ouvrages / articles

Les rseaux de neurones

!i
Entre

48