0% ont trouvé ce document utile (0 vote)
32 vues52 pages

Réseaux de Neurones: Le Perceptron Multi-Couches: Fabrice Rossi

Le document présente le perceptron multi-couches (PMC), un modèle de réseau de neurones organisé en couches, et décrit ses composants, y compris les neurones, les fonctions d'activation et le mode de calcul. Il aborde également les méthodes d'apprentissage, telles que l'optimisation et la rétro-propagation, ainsi que des considérations pratiques comme l'initialisation et les critères d'arrêt. Enfin, il souligne l'importance de la régularisation et du prétraitement des données pour améliorer la performance des PMC.

Transféré par

dkz
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
32 vues52 pages

Réseaux de Neurones: Le Perceptron Multi-Couches: Fabrice Rossi

Le document présente le perceptron multi-couches (PMC), un modèle de réseau de neurones organisé en couches, et décrit ses composants, y compris les neurones, les fonctions d'activation et le mode de calcul. Il aborde également les méthodes d'apprentissage, telles que l'optimisation et la rétro-propagation, ainsi que des considérations pratiques comme l'initialisation et les critères d'arrêt. Enfin, il souligne l'importance de la régularisation et du prétraitement des données pour améliorer la performance des PMC.

Transféré par

dkz
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Réseaux de neurones : le perceptron

multi-couches
Fabrice Rossi
[Link]

Université Paris-IX Dauphine

Réseaux de neurones – le perceptron multi-couches – p.1/45


Plan du cours “le perceptron multi-couches”
1. le modèle
2. apprentissage :
(a) optimisation
(b) rétro-propagation
(c) initialisation
(d) critères d’arrêt
3. en pratique :
(a) régularisation (weight decay, injection de bruit,
élagage, etc.)
(b) sélection de modèle
4. discrimination

Réseaux de neurones – le perceptron multi-couches – p.2/45


Le perceptron multi-couches
PMC ou MLP (Multi-Layer Perceptron)
réseau organisé en couches :
une couche : un groupe de neurones uniformes sans
connexion les uns avec les autres
réalise une transformation vectorielle :
une couche reçoit un vecteur d’entrée et le
transforme en vecteur de sortie
une couche au moins n’est pas linéaire
les dimensions d’entrée et de sortie peuvent être
différentes
au moins 2 couches (une couche dite “cachée” et une
couche de sortie)
structure sans cycle (feed-forward) : une couche ne
peut utiliser que les sorties des couches précédentes

Réseaux de neurones – le perceptron multi-couches – p.3/45


Exemple

Entrées Couche 1 Couche 2 Couche 3

Sorties

Dessin simplifié : il manque des connexions

Réseaux de neurones – le perceptron multi-couches – p.4/45


Neurone élémentaire
Un neurone de PMC est défini par :
1. une fonction d’activation (ou de transfert), T : R → R
2. un nombre entier d’entrées
Un neurone à n entrées est associé à n + 1 paramètres
numériques :
n poids synaptiques (chaque poids correspond à une
flèche dans le dessin)
un seuil (threshold) ou biais (bias)
Un neurone à n entrées calcule la fonction suivante :
n
!
X
f (x1 , . . . , xn ) = T w i xi + t
i=1

Réseaux de neurones – le perceptron multi-couches – p.5/45


Fonction d’activation
Choix pour T :
fonction non linéaire (au moins dans une des couches)
propriétés théoriques importantes :
continue presque partout (on peut relâcher cette
hypothèse)
non polynomiale
propriété pratique importante : dérivable
choix classiques :
T (x) = tanh(x) tangente hyperbolique (le choix
standard)
T (x) = 1+e1−x fonction logistique

Réseaux de neurones – le perceptron multi-couches – p.6/45


Le perceptron multi-couches (2)
Mode de calcul :
la première couche reçoit l’entrée du réseau et produit
son résultat :
chaque neurone reçoit comme vecteur d’entrée celui du
réseau
le vecteur de sortie est le regroupement des sorties des
neurones
la deuxième couche reçoit la sortie de la première couche
(et éventuellement l’entrée du réseau) et produit son
résultat
etc.
Réseau “classique” :
connexions complètes entre une couche et sa suivante
pas d’autres connexions
tous les neurones d’une même couche ont la même
fonction d’activation
Réseaux de neurones – le perceptron multi-couches – p.7/45
Notations vectorielles
PMC à l couches. Pour la couche i :
n(i) : nombre de neurones dans la couche (n(0) nombre
d’entrées du réseau)
o(i) : vecteur de sortie de la couche (o(o) vecteur d’entrée
du réseau)
T (i) : fonction d’activation vectorielle de la couche
W (i) : matrice des poids synaptiques de la couche
t(i) : vecteur des seuils de la couche
Propagation (pour i ≥ 1) :

v (i) = t(i) + W (i) o(i−1)


o(i) = T (i) (v (i) )

v (i) représente la partie linéaire du traitement de la couche i.

Réseaux de neurones – le perceptron multi-couches – p.8/45


Apprentissage
Un PMC calcule donc une fonction F
n(0) p n(l)
de R × R dans R Pl
p, nombre total de paramètres, p = i=1 n(i) (1 + n(i−1) )
comme toujours, le but est de trouver w tel que
x 7→ F (x, w) soit un bon modèle des données (les
(xi , y i )1≤i≤N )
n(l) n(l)
erreur ponctuelle d fonction de R × R dans R (par
exemple la distance euclidienne)
erreur à minimiser
N
X
E(w) = d(F (xi , w), y i )
i=1

cf les cours précédents pour les propriétés théoriques

Réseaux de neurones – le perceptron multi-couches – p.9/45


Approximation universelle
Cas particulier :
PMC à deux couches
deuxième couche linéaire (T (2) (x) = x)
T (1) doit vérifier certaines propriétés
Théorème :
soit G une fonction continue de K (un compact de Rn )
dans Rq et  > 0
il existe un PMC (cas particulier) et des paramètres
numériques pour ce PMC tels que

sup |F (x, w) − G(x)| < 


x∈K

|.| est une norme sur Rq fixée à l’avance.


Résultat non constructif.

Réseaux de neurones – le perceptron multi-couches – p.10/45


Optimisation (Apprentissage)
Problème : comment trouver w pour bien approcher des
données ?
w 7→ F (., w) n’est pas linéaire
donc, w 7→ E(w) n’est pas quadratique
donc, on ne sait pas minimiser E(w) de façon exacte
solution : optimisation non linéaire classique
inconvénients :
coûteux (en temps et parfois en mémoire)
programmation subtile
minimum local, pas global

Réseaux de neurones – le perceptron multi-couches – p.11/45


Algorithmes de descente
Forme générale d’algorithme de minimisation de E(w) :
1. on part de w0 (choisit au hasard)
2. à l’étape i :
(a) on calcule une direction de descente di ∈ Rp
(dépend de l’algorithme)
(b) on calcule un pas i (dépend de l’algorithme)
(c) on remplace wi−1 par

wi = wi−1 + i di

3. si E(wi ) est satisfaisant, on s’arrête, sinon on retourne


en 2

Réseaux de neurones – le perceptron multi-couches – p.12/45


Le gradient simple
L’algorithme le plus mauvais, mais le plus simple :
di est la plus grande pente :

di = −∇E(wi−1 )

est une “petite” valeur (mais pas trop) et on doit avoir :


i P
 =∞
Pi i2
i i < ∞
par exemple i = 1i
en théorie, l’algorithme du gradient simple converge
en pratique, même appliqué à une fonction quadratique, il
peut être très lent

Réseaux de neurones – le perceptron multi-couches – p.13/45


Les gradients conjugués
Bien meilleurs (mais plus complexes à programmer) :
di est la plus grande pente corrigée :

di = −∇E(wi−1 ) + βi di−1

formule de Fletcher-Reeves :
∇E(wi−1 ).∇E(wi−1 )
βi =
∇E(wi−2 ).∇E(wi−2 )

formule de Polak-Ribiere (donne souvent de meilleurs


résultats) :

∇E(wi−1 ). (∇E(wi−1 ) − ∇E(wi−2 ))


βi =
∇E(wi−2 ).∇E(wi−2 )

Réseaux de neurones – le perceptron multi-couches – p.14/45


Les gradients conjugués (2)
difficulté : le choix de i
il faut que i soit une bonne estimation d’un minimiseur de

 7→ E(wi−1 + di )

minimisation d’une fonction de R dans R :


algorithme de la section dorée
algorithme de Brent
etc.
en théorie, les algorithmes de gradient conjugués
convergent
pour une fonction quadratique sur Rp , ils demandent p
itérations
en pratique, bien plus rapides que le gradient simple

Réseaux de neurones – le perceptron multi-couches – p.15/45


Autres algorithmes
Divers autres algorithmes :
gradient conjugué formule BFGS : en général meilleur de
Polak-Ribiere, mais mise à jour plus complexe
scaled conjugate gradient : amélioration subtile des
gradients conjugués, permettant de supprimer la
minimisation unidimensionnelle
quasi-newton (méthode d’ordre deux) BFGS : une des
meilleures méthodes, mais coûteuse
Levemberg-Marquardt : une des meilleures méthodes,
mais spécifique à une erreur quadratique
Toujours basé sur le calcul de ∇E.

Réseaux de neurones – le perceptron multi-couches – p.16/45


Algorithmes stochastiques
basés sur
PNla définition de l’erreur
E(w) = i=1 d(F (xi , w), y i ) par une somme
idée fondatrice : correction de l’erreur exemple par
exemple
algorithme de base

wi = wi−1 − i ∇d(F (xji , w), y ji )

choix des ji : en général au hasard (uniformément) dans


{1, . . . , N }
choix de i : mêmes propriétés que pour le gradient simple
amélioration : terme de moment, i.e.

wi = wi−1 − i ∇d(F (xji , w), y ji ) + µi (wi−1 − wi−2 )

En pratique : éviter les algorithmes stochastiques

Réseaux de neurones – le perceptron multi-couches – p.17/45


La rétro-propagation
algorithme efficace pour calculer ∇E pour un PMC
ce n’est pas un algorithme d’apprentissage !
principe :
calcul exemple par exemple puis somme des résultats
PN
(i.e., ∇E = i=1 ∇d(F (xi , w), y i ))
application astucieuse de la règle de dérivation de
fonctions composées
∂o(i)
mauvaise idée : calculer ∂W (i) et propager
∂d
bonne idée : calculer ∂W (i) et rétro-propager (en arrière

dans le réseau)
coût : O(p) au lieu de O(p2 ).
notation : ∂d(l) dérivée de d par rapport à la k-ième sortie
∂ok
du réseau

Réseaux de neurones – le perceptron multi-couches – p.18/45


La rétro-propagation (2)
on a
(i)
∂d ∂d ∂vk
(i)
= (i) (i)
∂Wkr ∂vk ∂Wkr
(i)
∂d ∂d ∂vk
(i)
= (i) (i)
∂tk ∂vk ∂tk

et donc
∂d ∂d (i−1)
(i)
= o
(i) r
∂Wkr ∂vk
∂d ∂d
(i)
= (i)
∂tk ∂vk

Réseaux de neurones – le perceptron multi-couches – p.19/45


La rétro-propagation (3)
Pour la dernière couche
∂d ∂d (l) 0 (l)
(l)
= T (vk )
(l) k
∂vk ∂ok

Pour les autres couches


n(i+1)
∂d X ∂d (i) (i) 0 (i)
(i)
= (i+1)
Wrk Tk (vk )
∂vk r=1 ∂vr

Réseaux de neurones – le perceptron multi-couches – p.20/45


Initialisation
comment choisir w0 ?
problème lié à T (1) quand on prend tanh ou la fonction
logistique :
dès que x est “grand”, tanh0 (x) est “nul”
exemple tanh0 (10) = 8 10−9
donc les dérivées par rapport aux paramètres de la
première couche sont nulles ⇒ impossible à régler
par descente de gradient !
si les paramètres sont “nuls”, les dérivées le sont aussi
donc il faut des paramètres “moyens” :
on suppose les entrées centrées-réduites
on choisit les paramètres de la couche i selon une
1
distribution gaussienne d’écart-type √n(i−1)
diverses variantes possibles (seuils fixés à zéro,
initialisation géométrique, etc.)

Réseaux de neurones – le perceptron multi-couches – p.21/45


Tangente hyperbolique

1.0
tanh
0.5
0.0
−0.5
−1.0 tanh’

−10 −5 0 5 10

Réseaux de neurones – le perceptron multi-couches – p.22/45


Arrêt de l’apprentissage
Critères classiques :
1. borne sur le temps de calcul (i.e., nombre d’itérations
de l’algorithme)
2. valeur à atteindre (on s’arrête quand l’erreur passe en
dessous d’un seuil)
3. vitesse de progression (on s’arrête quand l’erreur ne
diminue plus assez ou quand le vecteur de paramètres
ne change plus)
en général, on combine 1 et 3
une technique de régularisation : arrêt prématuré (early
stopping) :
éviter le sur-apprentissage en arrêtant l’algorithme
avant d’avoir atteint le minimum
utilise un ensemble d’exemples dit de validation : on
s’arrête quand l’erreur remonte “trop” sur cet ensemble
Réseaux de neurones – le perceptron multi-couches – p.23/45
Remarques pratiques
les PMC sont plus sensibles que méthodes linéaires : il
faut centrer et réduire les données :
chaque entrée doit avoir une moyenne nulle
chaque entrée doit avoir un écart-type de un
on peut aussi centrer et réduire les sorties (en régression)
on peut aussi réduire le nombre d’entrées (et donc le
nombre de paramètres) pour accélérer l’apprentissage :
analyse en composantes principales
autres techniques (modélisation linéaire et test de
Fisher par exemple)
les algorithmes d’optimisation donnent un minimum
local : on peut essayer plusieurs points de départ pour
trouver un minimum global

Réseaux de neurones – le perceptron multi-couches – p.24/45


Application en régression
Même principe que les modèles linéaires (généralisés) :
Critère d’erreur : moindres carrés, i.e.
N
2
X
E(w) = F (xi , w), y i
i=1

Bonnes propriétés théoriques :


convergence des paramètres optimaux empiriques vers
les paramètres optimaux théoriques
maximum de vraisemblance dans le cas d’une erreur
gaussienne
estimation de E(Y |X)
Problèmes classiques : évaluation et sélection de modèle
(nombre de neurones et nombre de couches)

Réseaux de neurones – le perceptron multi-couches – p.25/45


Prédire l’ozone à partir du vent

150
100
Ozone

50
0

5 10 15 20

Wind

Réseaux de neurones – le perceptron multi-couches – p.26/45


Prédire l’ozone à partir du vent
degré 1

données
pseudo linéaire
PMC
150
100
Ozone

50
0

5 10 15 20

Wind

Réseaux de neurones – le perceptron multi-couches – p.26/45


Prédire l’ozone à partir du vent
degré 2

données
pseudo linéaire
PMC
150
100
Ozone

50
0

5 10 15 20

Wind

Réseaux de neurones – le perceptron multi-couches – p.26/45


Prédire l’ozone à partir du vent
degré 3

données
pseudo linéaire
PMC
150
100
Ozone

50
0

5 10 15 20

Wind

Réseaux de neurones – le perceptron multi-couches – p.26/45


Prédire l’ozone à partir du vent
degré 4

données
pseudo linéaire
PMC
150
100
Ozone

50
0

5 10 15 20

Wind

Réseaux de neurones – le perceptron multi-couches – p.26/45


Prédire l’ozone à partir du vent
degré 5

données
pseudo linéaire
PMC
150
100
Ozone

50
0

5 10 15 20

Wind

Réseaux de neurones – le perceptron multi-couches – p.26/45


Prédire l’ozone à partir du vent
degré 6

données
pseudo linéaire
PMC
150
100
Ozone

50
0

5 10 15 20

Wind

Réseaux de neurones – le perceptron multi-couches – p.26/45


Prédire l’ozone à partir du vent
degré 7

données
pseudo linéaire
PMC
150
100
Ozone

50
0

5 10 15 20

Wind

Réseaux de neurones – le perceptron multi-couches – p.26/45


Evolution de l’erreur
pseudo linéaire
650
600 PMC
Erreur résiduelle moyenne

550
500
450

1 2 3 4 5 6 7

degré

Réseaux de neurones – le perceptron multi-couches – p.27/45


Contrôle de complexité
Solutions classiques par pénalisation :
sur les paramètres (weight decay ) :
l’approche la plus utilisée
nécessite une normalisation des entrées
on a intérêt à utiliser un coefficient de pénalisation
par couche
sur les dérivées : lourd à mettre en place
Arrêt prématuré : “équivalent” au weight decay
Injection de bruit :
consiste à modifier les vecteurs d’entrée en leur ajoutant
du bruit (différent à chaque présentation du vecteur)
“équivalent” à une régularisation par des dérivées
facile à mettre en œuvre
Élagage : suppression de connexion a posteriori
Dans tous les cas : sélection d’hyper-paramètres !

Réseaux de neurones – le perceptron multi-couches – p.28/45


En pratique
Il faut faire impérativement de la sélection de modèle et de la
régularisation :
Régularisation :
éviter l’arrêt prématuré qui demande un découpage des
données
utiliser une régularisation comme le weight decay ou
l’injection de bruit
idéalement, utiliser une régularisation basée sur les
dérivées
on peut aussi élaguer le modèle
Sélection de modèle :
éviter la validation par découpage
utiliser au minimum un critère de complexité (type BIC)
idéalement, procéder par rééchantillonnage (validation
croisée ou bootstrap)

Réseaux de neurones – le perceptron multi-couches – p.29/45


Ozone avec Weight decay
Weight decay (10 neurones)

0 1e−04 0.001 0.01


150

150

150

150
100

100

100

100
Ozone

Ozone

Ozone

Ozone
50

50

50

50
0

0
5 10 15 20 5 10 15 20 5 10 15 20 5 10 15 20

Wind Wind Wind Wind

0.05 0.1 0.5 1


150

150

150

150
100

100

100

100
Ozone

Ozone

Ozone

Ozone
50

50

50

50
0

0
5 10 15 20 5 10 15 20 5 10 15 20 5 10 15 20

Wind Wind Wind Wind

1.5 2 4
150

150

150
100

100

100
Ozone

Ozone

Ozone
50

50

50
0

5 10 15 20 5 10 15 20 5 10 15 20

Wind Wind Wind

Réseaux de neurones – le perceptron multi-couches – p.30/45


Meilleur modèle (validation croisée)

150
100
Ozone

50
0

5 10 15 20

Wind
Réseaux de neurones – le perceptron multi-couches – p.31/45
Injection de bruit
Pertuber les observations pour rendre la fonction calculée
F (w, x) moins sensible à des petites variations de x
En pratique, on remplace chaque (xi , y i ) par s répliques :

(xi (t) = xi + νi (t), y i ),

où i (t) est gaussien (moyenne nulle, écart type 1)


Deux hyper-paramètres
s : qualité de l’injection de bruit, compromis entre
l’insensibilité au tirage aléatoire et le temps de calcul
ν : importance de la régularisation
On peut déterminer ν par validation croisée (très
coûteux !)

Réseaux de neurones – le perceptron multi-couches – p.32/45


Ozone avec injection de bruit
Injection de bruit (10 neurones)

0 1e−04 0.001 0.01


150

150

150

150
100

100

100

100
Ozone

Ozone

Ozone

Ozone
50

50

50

50
0

0
5 10 15 20 5 10 15 20 5 10 15 20 5 10 15 20

Wind Wind Wind Wind

0.05 0.1 0.2 0.4


150

150

150

150
100

100

100

100
Ozone

Ozone

Ozone

Ozone
50

50

50

50
0

0
5 10 15 20 5 10 15 20 5 10 15 20 5 10 15 20

Wind Wind Wind Wind

0.6 0.8 1 1.5


150

150

150

150
100

100

100

100
Ozone

Ozone

Ozone

Ozone
50

50

50

50
0

0
5 10 15 20 5 10 15 20 5 10 15 20 5 10 15 20

Wind Wind Wind Wind

Réseaux de neurones – le perceptron multi-couches – p.33/45


Élagage
Idée de base : entraîner un “gros” PMC, puis supprimer
les connexions (ou les neurones) inutiles
Algorithme :
1. entraîner le PMC
2. supprimer certains poids “inutiles”
3. retourner en 1 sauf si un critère d’arrêt est vérifié
Critères de qualité des poids :
basique : qualité de wi donnée par l’accroissement de
E(w) quand on remplace wi par 0
Optimal Brain Damage : qualité de wi donnée par

∂2E 2
w
2 i
∂wi

Approximation de E au voisinage de son minimum.


Réseaux de neurones – le perceptron multi-couches – p.34/45
Ozone avec la méthode de base
Suppression de poids par E

1 2 3 4
3

3
2

2
Ozone

Ozone

Ozone

Ozone
1

1
0

0
−1

−1

−1

−1
−2 −1 0 1 2 3 −2 −1 0 1 2 3 −2 −1 0 1 2 3 −2 −1 0 1 2 3

Wind Wind Wind Wind

5 6 7 8
3

3
2

2
Ozone

Ozone

Ozone

Ozone
1

1
0

0
−1

−1

−1

−1
−2 −1 0 1 2 3 −2 −1 0 1 2 3 −2 −1 0 1 2 3 −2 −1 0 1 2 3

Wind Wind Wind Wind

9 10 11 12
3

3
2

2
Ozone

Ozone

Ozone

Ozone
1

1
0

0
−1

−1

−1

−1
−2 −1 0 1 2 3 −2 −1 0 1 2 3 −2 −1 0 1 2 3 −2 −1 0 1 2 3

Wind Wind Wind Wind

Réseaux de neurones – le perceptron multi-couches – p.35/45


Ozone avec Optimal Brain Damage
Suppression de poids par OBD

1 2 3 4
3

3
2

2
Ozone

Ozone

Ozone

Ozone
1

1
0

0
−1

−1

−1

−1
−2 −1 0 1 2 3 −2 −1 0 1 2 3 −2 −1 0 1 2 3 −2 −1 0 1 2 3

Wind Wind Wind Wind

5 6 7 8
3

3
2

2
Ozone

Ozone

Ozone

Ozone
1

1
0

0
−1

−1

−1

−1
−2 −1 0 1 2 3 −2 −1 0 1 2 3 −2 −1 0 1 2 3 −2 −1 0 1 2 3

Wind Wind Wind Wind

9 10 11 12
3

3
2

2
Ozone

Ozone

Ozone

Ozone
1

1
0

0
−1

−1

−1

−1
−2 −1 0 1 2 3 −2 −1 0 1 2 3 −2 −1 0 1 2 3 −2 −1 0 1 2 3

Wind Wind Wind Wind

Réseaux de neurones – le perceptron multi-couches – p.36/45


Élagage (2)
Optimal Brain Surgeon :
Optimal Brain Damage est basé sur une approximation
diagonale du Hessien : en général, cette approximation
est très mauvaise
idées de Optimal Brain Surgeon :
ne pas faire d’approximation diagonale
tenir compte du réapprentissage (avec wi = 0) pour
estimer la qualité d’un poids
wi2
qualité de wi donnée par aii , où aii est le terme de place
(i, i) de l’inverse de la Hessienne de E
de plus l’algorithme calcule l’inverse grâce à une
approximation obtenue itérativement (le temps de calcul
reste raisonnable)
plus coûteux que Optimal Brain Damage mais donne de
meilleurs résultats

Réseaux de neurones – le perceptron multi-couches – p.37/45


Ozone avec Optimal Brain Surgeon
Suppression de poids par OBS

1 2 3 4
3

3
2

2
Ozone

Ozone

Ozone

Ozone
1

1
0

0
−1

−1

−1

−1
−2 −1 0 1 2 3 −2 −1 0 1 2 3 −2 −1 0 1 2 3 −2 −1 0 1 2 3

Wind Wind Wind Wind

5 6 7 8
3

3
2

2
Ozone

Ozone

Ozone

Ozone
1

1
0

0
−1

−1

−1

−1
−2 −1 0 1 2 3 −2 −1 0 1 2 3 −2 −1 0 1 2 3 −2 −1 0 1 2 3

Wind Wind Wind Wind

9 10 11 12
3

3
2

2
Ozone

Ozone

Ozone

Ozone
1

1
0

0
−1

−1

−1

−1
−2 −1 0 1 2 3 −2 −1 0 1 2 3 −2 −1 0 1 2 3 −2 −1 0 1 2 3

Wind Wind Wind Wind

Réseaux de neurones – le perceptron multi-couches – p.38/45


Élagage (3)
élagage de neurones :
approche basique (effet de la suppression)
diverses méthodes par approximation
méthodes statistiques classiques :
basées sur l’étude asymptotique de la distribution des
poids (théorème de la limite centrale)
quelques difficultés théoriques (problème
d’identifiabilité)
méthodes bayésiennes :
estimer la distribution des poids
quelques difficultés pratiques et théoriques

Réseaux de neurones – le perceptron multi-couches – p.39/45


Application en discrimination
Classe représentée par codage disjonctif complet
Mesure de l’erreur :
Erreur quadratique : même approche que pour les
modèles linéaires généralisés
Entropie croisée, correspondant au maximum de
vraisemblance, pour deux classes (codage 0/1) :
N  i i

X
i F (x , w) i 1 − F (x , w)
E(w) = − y ln i
+ (1 − y ) ln i
i=1
y 1 − y

On a alors intérêt à utiliser pour T (2) la fonction


logistique (sortie comprise entre 0 et 1, et simplification
des calculs)

Réseaux de neurones – le perceptron multi-couches – p.40/45


Application en discrimination (2)
Entropie croisée pour p classes (codage disjonctif
complet) :
q
N X i
X
i F (x , w)j
E(w) = − yj ln i
i=1 j=1
y j

On a intérêt à utiliser un softmax, c’est-à-dire définir o(2)


par :
(2)
vj
(2) e
oj = Pq (2)
vk
k=1 e
Avantages :
Pq (2)
j=1 j = 1
o
(2)
0 ≤ oj ≤ 1
simplification des calculs
Réseaux de neurones – le perceptron multi-couches – p.41/45
Les iris d’Anderson
Edgar Anderson’s Iris Data
2.0 2.5 3.0 3.5 4.0 0.5 1.0 1.5 2.0 2.5

7.5
6.5
[Link]

5.5
4.5
4.0
3.5

[Link]
3.0
2.5
2.0

7
6
5
[Link]

4
3
2
1
2.5
2.0
1.5

[Link]
1.0
0.5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0 1 2 3 4 5 6 7

Réseaux de neurones – le perceptron multi-couches – p.42/45


Les iris d’Anderson (2)
Traitement effectué :
PMC à 10 neurones
sortie softmax (codage disjonctif complet)
erreur entropie croisée
régularisation par weight decay déterminé par validation
croisée (0.05)
matrice de confusion (sur les données d’origine)
 
1 0 0
0 0.96 0.02
 
 
0 0.04 0.98

il faut d’autres données pour évaluer le modèle

Réseaux de neurones – le perceptron multi-couches – p.43/45


Régression évoluée
Modèle de régression classique : E(Y |X = x), i.e., une
seule valeur pour un x donné
Modèle évolué : estimer p(y|X = x), la densité
conditionnelle de Y sachant X =Px
modèle additif : p(y|X = x) = sj=1 αj (x)φj (y, x) (les φj
sont des noyaux)
par exemple :
ky−µj (x)k2
1 −
2σ 2 (x)
φj (y, x) = p p exp j
(2π) 2 σj (x)

trouver αj (x), σj (x), µj (x) par un PMC

Réseaux de neurones – le perceptron multi-couches – p.44/45


Régression évoluée (2)
il faut utiliser un softmax pour les αj (x)
pour les σj (x) l’idéal est d’utiliser une activation
exponentielle (ce qui donne σj (x) > 0)
pour les µj (x), on utilise une activation linéaire
on estime le modèle par maximum de vraisemblance, i.e.,
on minimise
N s
!
X X
E=− ln αj (xi )φj (y i , xi )
i=1 j=1

on obtient ∇E par rétro-propagation

Réseaux de neurones – le perceptron multi-couches – p.45/45

Vous aimerez peut-être aussi