Vous êtes sur la page 1sur 6

Les réseaux de neurones A. Cornuéjols 1 Les réseaux de neurones A. Cornuéjols 2 Les réseaux de neurones A.

Cornuéjols 3

Introduction : Pourquoi les réseaux de neurones ? Introduction : Pourquoi les réseaux de neurones ?

• Inspiration biologique • Les attraits pratiques


Les réseaux de neurones ! Le cerveau naturel : un modèle très séduisant ! Calculs parallélisables
– Robuste et tolérant aux fautes ! Implantables directement sur circuits dédiés
– Flexible. Facilement adaptable
! Robustes et tolérants aux fautes (calculs et représentations distribués)
– S’accomode d’informations incomplètes, incertaines, vagues, bruitées ...
Antoine Cornuéjols ! Algorithmes simples
– Massivement parallèle
(antoine@lri.fr)
– Capable d’apprentissage
! D’emploi très général

! Neurones • Les défauts


I.I.E.
& – ! 1011 neurones dans le cerveau humain ! Opacité des “raisonnements”
L.R.I., Université d’Orsay – ! 104 connexions (synapses + axones) / neurone
! Opacité des résultats
– Potentiel d’action / période réfractaire / neuro-transmetteurs
– Signaux excitateurs / inhibiteurs

Les réseaux de neurones A. Cornuéjols 4 Les réseaux de neurones A. Cornuéjols 5 Les réseaux de neurones A. Cornuéjols 6

2. Historique (très rapide) Les réseaux de neurones : Types de réseaux Modèles de base : le Perceptron Multi-Couches
! Prémisses
– Mc Culloch & Pitts (1943) : 1er modèle de neurone formel.
• Interconnecté à boucles (e.g. réseau de Hopfield) • Topologie typique
Rapport neurone et calcul logique : base de l’intelligence artificielle. ! Fonctionnement
– Règle de Hebb (1949) : apprentissage par renforcement du couplage synaptique en reconnaissance
! Premières réalisations ! Apprentissage ?
– ADALINE (Widrow-Hoff, 1960)
– PERCEPTRON (Rosenblatt, 1958-1962)
– Analyse de Minsky & Papert (1969)
! Nouveaux modèles
– Kohonen (apprentissage compétitif), ...
– Hopfield (1982) (réseau bouclé)
– Perceptron Multi-Couches (1985)
! Analyse et développements
– Théorie du contrôle, de la généralisation (Vapnik), ...

Les réseaux de neurones A. Cornuéjols 7 Les réseaux de neurones A. Cornuéjols 8 Les réseaux de neurones A. Cornuéjols 9

Le Perceptron Multi-Couches : propagation Le Perceptron Multi-Couches : exemple du XOR Exemple de réseau (simulateur JavaNNS)
• Pour chaque neurone :
# &
yl = g% " w jk ! j ( = g(ak )
$ j = 0, d '
! wjk : poids de la connexion de la cellule j à la cellule k
! ak : activation de la cellule k
! g : fonction d’
d’activation +1

Fonction à seuil

+1

1 Fonction à rampe
g(a) = !a
1+ e Sortie z i
+1 Fonction à base radiale

g’(a) = g(a)(1-g(a)) Fonction sigmoïde

Activation ai
Les réseaux de neurones A. Cornuéjols 10 Les réseaux de neurones A. Cornuéjols 11 Les réseaux de neurones A. Cornuéjols 12

Le PMC : l’apprentissage L’apprentissage : Erreur quadratique L’apprentissage : descente de gradient


• Apprentissage = recherche dans l’espace multidimensionnel des paramètres (poids
• Trouver des poids permettant au réseau de réaliser une relation • Interprétation géométrique synaptiques) en vue de minimiser la fonction de coût
entrée-sortie spécifiée par des exemples de cette relation
• Quasitotalité des règles d’apprentissage pour les RNs
(Toujours le problème de la généralisation)
= méthode de descente de gradient
• Apprentissage : ! Solution optimale w* tq. : !E(w* ) = 0
T
! Minimiser la fonction de coût E(w,{xl,ul}) en fonction du paramètre w # " " " &
! = % , , ...,
$ " w1 "w 2 "w N ('
! Utiliser pour ceci une méthode de descente de gradient
!wij " #$E $wij
(algorithme de rétro-propagation de gradient) E ( ! +1) = E ( ! ) " #w E
! Principe inductif : On fait alors l’hypothèse que ce qui marche sur les exemples
$E
(minimisation du risque empirique), marche sur des données non vues wij( ! +1) = w(ij! ) " #
(minimisation du risque réel) $wij w (! )

Les réseaux de neurones A. Cornuéjols 13 Les réseaux de neurones A. Cornuéjols 14 Les réseaux de neurones A. Cornuéjols 15

Le Perceptron Multi-Couches : apprentissage Le Perceptron Multi-Couches : apprentissage PMC : La rétro-propagation de gradient

Objectif :
m
2 1. Présentation d’un exemple parmi l’ensemble d’apprentissage • Le problème :
w * = arg min
w
" [ y(x
l =1
l ; w) ! u(xl ) ] Séquentielle, aléatoire, en fonction d’un critère donné Détermination des responsabilités (“credit assignment problem”)
Quelle connexion est responsable, et de combien, de l’erreur E ?
! Algorithme (rétro-propagation de gradient) : descente de gradient 2. Calcul de l’état du réseau

Algorithme itératif : 3. Calcul de l’erreur = fct(sortie - sortie désirée) (e.g. = (yl - ul)2) • Principe :
w( t ) = w( t !1) ! " # Ew (t ) Calculer l’erreur sur une connexion en fonction de l’erreur sur la
4. Calcul des gradients
Cas hors-ligne m
couche suivante
1 #R (x ,w) Par l’algorithme de rétro-propagation de gradient
(gradient total) : wij (t) = wij (t ! 1)! " (t) $ E#wk
m k =1 ij 5. Modification des poids synaptiques • Deux étapes :
où : RE (x k ,w) = [t k ! f (xk ,w)]2 6. Critère d’arrêt 1. Evaluation des dérivées de l’erreur par rapport aux poids

Sur l’erreur. Nombre de présentation d’exemples, ... 2. Utilisation de ces dérivées pour calculer la modification de chaque poids
Cas en-ligne # RE (x k ,w)
wij (t) = wij (t ! 1)! " (t)
(gradient stochastique) : # wij 7. Retour en 1

Les réseaux de neurones A. Cornuéjols 16 Les réseaux de neurones A. Cornuéjols 17 Les réseaux de neurones A. Cornuéjols 18

PMC : La rétro-propagation de gradient PMC : La rétro-propagation de gradient PMC : La rétro-propagation de gradient


1. Evaluation de l’erreur Ej (ou E) due à chaque connexion : ! El ai : activation de la cellule i
! wij zi : sortie de la cellule i
• 2. Modification des poids
Idée : calculer l’erreur sur la connexion wji en fonction de l’erreur après la cellule j !i : erreur attachée à la cellule i
! On suppose gradient à pas (constant ou non ): "(t)
! El ! El ! a j Cellule cachée Cellule de sortie
= = " j zi
! wij ! a j ! wij ! Si apprentissage stochastique (après présentation de chaque exemple)

! Pour les cellules de la couche de sortie :


aj ak
! wji = " (t) # j ai
" El " El
!k = = g' (ak ) = g' (ak )# (uk (xl ) $ y k ) zi zj yk ! Si apprentissage total (après présentation de l’ensemble des exemples)
" ak " yk i wij j wjk k
!j !k
! Pour les cellules d’une couche cachée : ! wji = " (t) $ # nj ain
n
" El " E l " ak " ak " zj
!j =
" aj
= #"a = #! k = g' (a j )$ # w jk !k
k k " aj k " zj " a j k
Les réseaux de neurones A. Cornuéjols 19 Les réseaux de neurones A. Cornuéjols 20 Les réseaux de neurones A. Cornuéjols 21

Le PMC : passes avant et arrière (résumé) Le PMC : passes avant et arrière (résumé) PMC : La rétro-propagation de gradient
k
ys (x) = !w js yj !s = g' (as ) (us"ys ) • Efficacité en apprentissage
ys(x) j=1 ys(x)
! En O(w) pour chaque passe d’apprentissage, w = nb de poids
wis (t + 1) = wis (t) ! "(t)# sai
d
j ! Il faut typiquement plusieurs centaines de passes (voir plus loin)
wis
ai (x) = ! w x +w
j =1
j 0
wis ! j = g' (aj ) "w js !s
cellules s
y1 (x) yi(x) yi (x) = g(ai (x)) yi(x) ! Il faut typiquement recommencer plusieurs dizaines de fois un apprentissage en
. . . y1 (x) . . . couche
suivante
partant avec différentes initialisations des poids
k neurones sur la wei (t + 1) = wei (t) ! "(t )# iae
w0 w1 wd
couche cachée w0 w1 • Efficacité en reconnaissance
w2 w3 w2 w3 wd
Biais Biais
. . . . . .
x0 x1 x2 x3 xd x0 x1 x2 x3 xd ! Possibilité de temps réel

x x

Les réseaux de neurones A. Cornuéjols 22 Les réseaux de neurones A. Cornuéjols 23 Les réseaux de neurones A. Cornuéjols 24

Analyse de la surface d’erreur Analyse de la surface d’erreur Analyse de la surface d’erreur

Les réseaux de neurones A. Cornuéjols 25 Les réseaux de neurones A. Cornuéjols 26 Les réseaux de neurones A. Cornuéjols 27

Applications : la discrimination Applications : la discrimination multiclasse Applications : optimisation multi-objectif


• Exemple : Exemple : • cf [Tom Mitchell]
y(x)
! Mines cylindriques / roches ! Reconnaissance de caractères manuscrits
(http://www.ics.uci.edu/mlearn/MLRepository.html)
! Reconnaissance de locuteurs

• 1 neurone de sortie • c-1 problèmes de discrimination


! {0,1}
. . . • 1 neurone de sortie
yi(x)
! [0,1]
! {0,1, …, c}
y1 (x) . . .
– Erreur quadratique
! [0,1]
w0 w1 wd
! Probabilité [0,1] w2 w3
Biais
. . . • n (" c) neurones de sortie w0 w1 w2 w3 wd
– Critère entropique x0 x1 x2 x3 xd Biais
! 1 neurone / classe . . .
x0 x1 x2 x3 xd
! Code correcteur d’erreur
x
Les réseaux de neurones A. Cornuéjols 28 Les réseaux de neurones A. Cornuéjols 29 Les réseaux de neurones A. Cornuéjols 30

PMC : Les applications Application aux codes postaux (Zip codes) La base de données
• Automatique : identification et contrôle de processus
• [Le Cun et al., 1989, ...] (ATT Bell Labs : très forte équipe)
(e.g. Commande de robot)
• ! 10000 exemples de chiffres manuscrits
• Traitement du signal (filtrage, compression de données, traitement de
la parole (Identification du locuteur, ...) • Segmentés et redimensionnés sur matrice 16 x 16
• Traitement d’images, reconnaissance des formes (reconnaissance de • Technique des poids partagés (“weight sharing”)
l’écriture manuscrite, Lecture automatique des codes postaux (Zip
codes, USA), ...) • Technique du optimal brain damage
• Prédiction (consommations d’eau, d’électricité, météorologie, bourse, • 99% de reconnaissance correcte (sur l’ensemble d’apprentissage)
...)
• 9% de rejet (pour reconnaissance humaine)
• Diagnostic (industrie, médecine, science, ...)

Les réseaux de neurones A. Cornuéjols 31 Les réseaux de neurones A. Cornuéjols 32 Les réseaux de neurones A. Cornuéjols 33

Application aux codes postaux (Zip codes) Les erreurs commises La régression

Les réseaux de neurones A. Cornuéjols 34 Les réseaux de neurones A. Cornuéjols 35 Les réseaux de neurones A. Cornuéjols 36

Un échec : QSAR Rôle de la couche cachée Rôle de la couche cachée

• Quantitative Structure Activity Relations

Prédire certaines
propriétés de molécules
(par exemple activité
biologique) à partir de
descriptions :
- chimiques
- géométriques
- éléctriques
Les réseaux de neurones A. Cornuéjols 37 Les réseaux de neurones A. Cornuéjols 38 Les réseaux de neurones A. Cornuéjols 39

PMC : Analyse Rôle de la couche cachée PMC : Mise en pratique (1)


• Problèmes techniques :
• Rôle des cellules cachées comment améliorer la performance de l’algorithme
! Le PMC en tant que méthode d’optimisation : variantes
• Efficacité calculatoire • Ajout d’un moment
• Méthodes du 2° ordre
• Hessien
• Gradients conjugués
! Heuristiques
• Apprentissage séquentiel vs en mode batch
• Choix de la fonction d’activation
• Normalisation des entrées
• Initialisation des poids
• Les gains d’apprentissage

Les réseaux de neurones A. Cornuéjols 40 Les réseaux de neurones A. Cornuéjols 41 Les réseaux de neurones A. Cornuéjols 42

PMC : La rétro-propagation de gradient (variantes) PMC : Problèmes de convergence PMC : Problèmes de convergence (gradients variables)

• Ajout d’un moment • Minimums locaux. “Ravins”. etc. • Gain adaptatif


$E ! Ajout d’un terme de moment (inertie) ! si le gradient ne change pas de signe, sinon
! wji (t + 1) = " # + % ! w ji (t)
$ w ji ! Conditionnement des variables ! Gain beaucoup plus faible en stochastique qu’en gradient total
! Bruiter les données d’apprentissage ! Gain propre à chaque couche (e.g. 1 / (# entrées cellule)1/2 )
! Algorithme stochastique (vs. total) • Algorithmes plus complexes
! Un pas de gradient variable (dans le temps et pour chaque cellule) ! Gradients conjugués
! Utilisation de la dérivée seconde (Hessien). Gradient conjugué. – Idée : Essayer de minimiser indépendamment sur chaque axe, en utilisant un
moment sur la direction de recherche
! Méthodes de second ordre (Hessien)
" Diminuent le nombre de pas mais augmentent le temps calcul.

Les réseaux de neurones A. Cornuéjols 43 Les réseaux de neurones A. Cornuéjols 44 Les réseaux de neurones A. Cornuéjols 45

PMC : Mise en pratique (2) Généralisation : optimiser la structure d’un réseau Régularisation et PMC

• Problèmes méthodologiques • Par croissance progressive • Nouveau risque empirique :


m
! Cascade correlation [Fahlman,1990] 1
! Choix de la fonction de coût (mesure du risque) Remp ( ! ) =
m " L(h (x l , ! ),u l ) + # $[h(. , ! )]
l =1 Terme de pénalisation
! Quand arrêter l’apprentissage ? • Par élagage
• Exemples de régularisateurs utilisés :
! Validation des résultats ? ! Optimal brain damage [Le Cun,1990]
! Early stopping
! Optimisation de la capacité en généralisation ? ! Optimal brain surgeon [Hassibi,1993]
! Apprentissage avec bruit
! Choix de la structure : nombre de couches, des cellules ! Weight decay
Dimensionnement automatique ? ! Réduction du nombre de poids
! Qualité de la base d’apprentissage ? ! Soft-weight sharing
Les réseaux de neurones A. Cornuéjols 46 Les réseaux de neurones A. Cornuéjols 47 Les réseaux de neurones A. Cornuéjols 48

Sources documentaires Les réseaux récurrents Les réseaux récurrents


• Ouvrages / articles (a) (b) (c)
• Tâches Sortie
Sortie Sortie

! Dreyfus et. al (2001) : Réseaux de neurones. Méthodologie et applications. Eyrolles, 2001.


! Reconnaissance de séquence
! Bishop C. (95) : Neural networks for pattern recognition. Clarendon Press - Oxford, 1995. Cachée Cachée
Cachée
E.g. reconnaître le mot correspondant à un signal vocal 1
! Haykin (98) : Neural Networks. Prentice Hall, 1998.
! Reproduction de séquence
! Hertz, Krogh & Palmer (91) : Introduction to the theory of neural computation. Addison Contexte Entrée Contexte
E.g. poursuivre la séquence quand une séquence initiale a été fournie (ex: prévision de Contexte
Wesley, 1991.
consommation d’électricité) !i
! Thiria, Gascuel, Lechevallier & Canu (97) : Statistiques et méthodes neuronales. Dunod, !
! Association temporelle (d)
1997. Sortie Entrée

! Vapnik (95) : The nature of statistical learning. Springer Verlag, 1995. Production d’une séquence en réponse à la reconnaissance d’une autre séquence.

• Sites web " Time Delay Neural Networks (TDNNs) 1


Cachée

! Duplication des couches (artifice : pas vraiment récurrents)


! http://www.lps.ens.fr/~nadal~ (point d’entrée pour de nombreux sites)
Contexte Entrée
" Réseaux récurrents
!

Les réseaux de neurones A. Cornuéjols 49 Les réseaux de neurones A. Cornuéjols 50

PMC à fonctions radiales (RBF) PMC à fonctions radiales (RBF) : apprentissage


• Paramètres à régler :
• Définition
! Nb de cellules cachées
! Couche cachée de cellules à fonction d’activation radiale (e.g. gaussienne)
! Position des centres des champs récepteurs
– Idée : “paver” l’espace des entrées avec ces “champs récepteurs”
! Diamètre des champs récepteurs
! Couche de sortie : combinaison linéaire sur la couche cachée
! Poids vers la couche de sortie (moyenne pondérée)

• Propriétés • Méthodes
! Adaptation de la rétro-propagation (possible)
! Approximateur universel ([Hartman et al.,90], ...)
! Détermination de chaque type de paramètres par une méthode propre
! Mais non parcimonieux (explosion combinatoire avec la taille des entrées) (souvent plus efficace)
" Réservé aux problèmes de faible dimensionalité – Centres déterminés par méthodes de “clustering” (k-means, ...)

! Liens étroits avec les systèmes d’inférence floue et les réseaux neuro-flous – Diamètres déterminés par optimisation des taux de recouvrement (PPV, ...)
– Poids par technique d’optimisation linéaire (calcul de pseudo-inverse, ...)