Réseaux de neurones - Julie Scholler
Transcript of Réseaux de neurones - Julie Scholler
RÉSEAUX DE NEURONES
Julie Scholler
mars 2019
MÉcEn
I. Introduction
Réseaux de neurones
• Idée initiale : simuler le cerveau humain
• Historique : 1940’ notion initiale, 1950’-1960’ perceptron deRosenblatt, 1980’ essor, 1990’ industrialisation,2000’-2010’ nouvel essor avec le deep learning
• Diversité : techniques descriptives et prédictives (classificationet régression)
Réseaux de neurones formels ou artificiels• méthodes d’apprentissage supervisées et non supervisées
développées en analogie avec le cerveau• combinaison (réseau) plus ou moins complexe d’objets
élémentaires (neurones formels)
I. Introduction
Diversité
Un réseau de neurones est défini par• sa structure• son type de neurone.
Exemples
• Carte auto-organisée, carte de Kohonen (méthode nonsupervisée)• Perceptron multicouche (méthode supervisée)• Alex Net, GoogLeNet, Residual Network, etc.
I. Introduction
Avantages
• fonctionne pour la prédiction de variables quantitatives etqualitatives• méthode non paramétrique• ils peuvent approcher n’importe quelle fonction (assez régulière)
Points faibles• difficile à entraîner ; puissance informatique requise,
convergence vers une solution non forcément optimale• risque de surapprentissage• aspect boîte noire
II. Neurone
Neurone naturel
Par BruceBlaus - https ://commons.wikimedia.org/w/index.php ?curid=28761830
II. Neurone
Neurone formel
• signaux d’entrée• fonction de combinaison des signaux faisant intervenir des poids• fonction de transfert ou d’activation (de seuil, linéaire,
sigmoïde, etc.)• signal de sortie
x2 w2∑
f
Fonctiond’activation
zSortie
x1 w1
x3 w3
Poids
Biais : b
Entrées
III. Perceptron multicouche
Couches• une couche d’entrée (valeurs X )• une couche de sortie (valeurs Y )• une ou plusieurs couches cachées
Caractéristiques
• pas de connexion entre les neurones d’une même couche• connexions entre les neurones de deux couches successives
(feedforward)
III. Perceptron multicouche
Structure à deux couches cachées
Entrée #1
Entrée #2
Entrée #3
Entrée #4
Sortie
Couchecachée 1
Couchecachée 2
Couched’entrée
Couchede sortie
III. Perceptron multicouche
Structure à une couche cachée
Entrée #1
Entrée #2
Entrée #3
Entrée #4
Sortie
Couchecachée
Couched’entrée
Couchede sortie
III. Perceptron multicouche
Perceptron à une couche cachée
fS
Q∑j=1
w (2)j fN
( P∑k=1
w (1)jk xk + w (1)
0
)+ w (2)
0
avec fN une sigmoïde
Approximation universellePour toute fonction Φ assez régulière et pour toute précision ε, ilexiste un perceptron à une couche cachée avec fonction d’activationsigmoïde qui approche Φ avec une erreur au plus de ε.
IV. Apprentissage du perceptron à une couche cachée
Apprentissage des poids
à Q (le nombre de neurones de la couche) fixé, on cherche
wn = arg minw
(1n
n∑i=1
(yi − Fw (xi ))2)
Principaux problèmes
• pas de solution exacte : algorithme d’approximation, obtentiond’un minimum local• risque de surapprentissage : plus le nombre de neurones est
grand, plus le perceptron est flexible
IV. Apprentissage du perceptron à une couche cachée
Optimisation par descente de gradient
R̂n(w) =n∑
i=1(yi − Fw (xi ))2 =
n∑i=1
Ei (w)
Méthode• Initialisation des poids w(0) : aléatoirement ou selon un a priori• Approche batch : pour t = 1, . . .T
w(t + 1) = w(t)− η(t)∇wR̂n(w(t))
• Approche stochastique : pour t = 1, . . .T , on choisitaléatoirement un individu et on met à jour
w(t + 1) = w(t)− η(t)∇wE (w(t))
• η(t) : taux d’apprentissage fixe ou évolutif
IV. Apprentissage du perceptron à une couche cachée
Principe de rétropropagation du gradient
• méthode rapide pour obtenir le gradient
Deux étapes
• Étape forward : calcul des valeurs des différents neurones, de lacouche d’entrée vers la couche de sortie• Étape backward : calcul des gradients partiels par rapport aux
poids, de la couche de sortie vers la couche d’entrée
V. Apprentissage en pratique
Apprentissage en pratique
Données en entrée• numériques• normalisées ou standardisées entre 0 et 1
Choix des poids initiaux
• Poids choisis aléatoirement selon N(0; 1√
P
)ou N
(0; 1√
Q
)• R : dans nnet : poids choisis aléatoirement selon U([−0.5; 0.5])
Choix de l’arrêt de l’apprentissage
• On se fixe un T .• On s’arrête quand on atteint une certaine erreur R̂n(w).• On s’arrête quand on atteint une certaine évolution de l’erreur :R̂n(w(t))− R̂n(w(t + 1)).
V. Apprentissage en pratique
Stratégie pour éviter le surapprentissage
1. bien choisir Q le nombre de neurones de la couche• validation croisée• si Q est très grand, utiliser une partie des données pour
contrôler l’erreur et stopper la descente de gradient• en pratique, on considère qu’il faut un échantillon
d’apprentissage au moins 10 fois plus grand que le nombre deparamètres à estimer
V. Apprentissage en pratique
Exemple d’apprentissage de x 7→ sin(2πx)
+
+
+++
+
+++
+
++
+
+
+
0.2 0.4 0.6 0.8
-1.0
-0.5
0.0
0.5
1.0
x
y
V. Apprentissage en pratique
Différentes valeurs de Q
+
+
+++
+
+++
+
++
+
+
+
Q = 1
x
y
+
+
+++
+
+++
+
++
+
+
+
Q = 2
x
y
+
+
+++
+
+++
+
++
+
+
+
Q = 3
x
y
+
+
+++
+
+++
+
++
+
+
+
Q = 4
x
y
+
+
+++
+
+++
+
++
+
+
+
Q = 5
x
y
+
+
+++
+
+++
+
++
+
+
+
Q = 6
x
y
+
+
+++
+
+++
+
++
+
+
+
Q = 7
x
y
+
+
+++
+
+++
+
++
+
+
+
Q = 8
x
y
+
+
+++
+
+++
+
++
+
+
+
Q = 9
x
y
+
+
+++
+
+++
+
++
+
+
+
Q = 10
x
yV. Apprentissage en pratique
Erreurs selon Q
+ + + + + + + + + +
2 4 6 8 10
0.00
0.05
0.10
0.15
0.20
0.25
Q
erreur
+ +
++
+
+
+
+ +
+
apprentissagetest
V. Apprentissage en pratique
Choix de Q par validation croisée
2 4 6 8 10
0.10
0.11
0.12
0.13
0.14
0.15
0.16
Q
erreur
V. Apprentissage en pratique
Stratégie pour éviter le surapprentissage
1. bien choisir Q le nombre de neurones de la couche
2. pénalisation du risque empirique
R̂n(w) + λ‖w‖2
V. Apprentissage en pratique
Choix de λ pour Q fixé à 10
+
+
+++
+
+++
+
++
+
+
+
0.1
x
y
+
+
+++
+
+++
+
++
+
+
+
0.01
x
y
+
+
+++
+
+++
+
++
+
+
+
0.001
x
y
+
+
+++
+
+++
+
++
+
+
+
1e-04
x
y
+
+
+++
+
+++
+
++
+
+
+
1e-05
x
y
+
+
+++
+
+++
+
++
+
+
+
1e-06
x
y
+
+
++++
++ +
+
++
+
+
+
1e-07
x
y
+
+
+++
+
+++
+
++
+
+
+
1e-08
x
y+
+
+++
+
+++
+
++
+
+
+
1e-09
x
y
+
+
++++
++ +
+
++
+
+
+
sans régularisation
x
yV. Apprentissage en pratique
Erreur selon λ
+
++ + + + + + +
2 4 6 8
0.0
0.1
0.2
0.3
0.4
- log10(l)
erreur + +
++
+
+
+
+
+
apprentissagetest
V. Apprentissage en pratique
Choix de λ par validation croisée
2 4 6 8
0.10
0.12
0.14
0.16
0.18
0.20
0.22
- log10(l)
erreur
V. Apprentissage en pratique
Stratégie pour éviter le surapprentissage
1. bien choisir Q le nombre de neurones de la couche2. pénalisation du risque empirique
R̂n(w) + λ‖w‖2
3. injection de bruit : modification des données en entrée durantl’entrainement
V. Apprentissage en pratique
Exemple avec Boston
4
5
20 40 60 80size
RMSE
decay0.0010.010.10.51
V. Apprentissage en pratique
Exemple avec Boston
Différentes méthodes• Random Forest avec 10 variables par split : MSE ' 13.77
• Boosting de 300 arbres de 5 de profondeur avec pénalisation à0.05 : MSE ' 11.20
• Perceptron à une couche cachée de 30 neurones et unepénalisation de 1 : MSE ' 11.92
VI. Deep Learning
Deep Learning
• réseaux de neurones à architecture profonde (dès 3 couches)• nécessite beaucoup d’exemples d’apprentissage• temps d’apprentissage important
Historique
• dès les années 1990’• industrialisation : 2000’• révolution du deep learning : 2010’
Outils• TensorFlow• Keras
VI. Deep Learning
Applications
• médecine, santé• reconnaissance d’image• reconnaissance vocale• traduction automatique
Exemples en reconnaissance d’image
• AlexNet (2012) : réseau convolutif, 8 couches, 60 millionsde paramètres à régler, 1 semaine de calculssur deux GPUerreur en reconnaissance d’image : 15%
• GoogleNet (2014) : inceptionerreur en reconnaissance d’image : 7%
• Residual Network (2016) : 152 coucheserreur en reconnaissance d’image : 3%