SlideShare une entreprise Scribd logo
1  sur  51
Télécharger pour lire hors ligne
Introduction au Deep Learning
Introduction au Deep Learning
Jérémie Bigot
UFMI, Institut de Mathématiques de Bordeaux - Université de Bordeaux
Master MAS-MSS & CMI ISI
Université de Bordeaux
Introduction au Deep Learning
Classification d’images par Deep Learning ILSVRC
Challenge (2010) 1
apprentissage : 1.2 million d’images labellisées (1000 classes)
test : 150 000 images
1. Krizhevsky, A., Sutskever, I., and Hinton, G. E. (2012)
Introduction au Deep Learning
Ce cours : un bref aperçu du Deep Learning
Introduction aux principes des réseaux de neurones (tels que
formulés dès les années 50)
Réseaux de neurones profonds (après 2012) : définition et
méthodes d’inférence
Mise en oeuvre pratique sur des exemples très simples : facilité
d’utilisation et résultats spectaculaires comme raisons du
succès?
Introduction au Deep Learning
1 Principes de l’apprentissage statistique (machine learning)
2 Réseaux de neurones multi-couches
3 Réseaux de neurones convolutionnels
Introduction au Deep Learning
Principes de l’apprentissage statistique (machine learning)
1 Principes de l’apprentissage statistique (machine learning)
2 Réseaux de neurones multi-couches
3 Réseaux de neurones convolutionnels
Introduction au Deep Learning
Principes de l’apprentissage statistique (machine learning)
Apprentissage statistique
Problème générique : étant donné une base d’apprentissage
(Xi, Yi)1≤i≤n où
Xi ∈ Rd
Yi ∈ R (régression) ou Yi ∈ {1; 2; . . . ; K} (classification)
On souhaite :
déterminer un modèle qui permet de lier l’entrée Xi à la sortie Yi
pour tout 1 ≤ i ≤ n
pour i0 /
∈ {1, . . . , n} on veut déterminer Ŷi0
prédiction de Yi0
(non-observé) au vu de l’observation de Xi0
Le couple (Xi0 , Yi0 ) est un élément de l’ensemble test.
Remarque : en classification on peut aussi considérer que
Yi ∈ ΣK =
(
(p1, . . . , pK) : pk ≥ 0 et
K
X
k=1
pk = 1
)
Introduction au Deep Learning
Principes de l’apprentissage statistique (machine learning)
Choix d’une classe de modèles
Definition : une classe de modèles est un ensemble de fonctions
fθ : Rd
→ R (régression) ou fθ : Rd
→ ΣK (classification) indexées
par un paramètre
θ ∈ Θ ⊂ Rp
Apprentissage d’un modèle : minimisation du risque empirique
θ̂ ∈ arg min
θ∈Θ
Mn(θ) avec Mn(θ) :=
1
n
n
X
i=1
L(Yi, fθ(Xi))
où L est une fonction de perte e.g.
L(y, z) = ky − zk2
ou bien cross-entropy en classification i.e.
L(y, z) = −
K
X
k=1
yk log(zk)
Prédiction : Ŷi0
= fθ̂(Xi0
)
Introduction au Deep Learning
Principes de l’apprentissage statistique (machine learning)
Choix d’une classe de modèles + pénalisation
Definition : une classe de modèles est un ensemble de fonctions
fθ : Rd
→ R (régression) ou fθ : Rd
→ ΣK (classification) indexées
par un paramètre
θ ∈ Rp
Apprentissage d’un modèle : minimisation du risque empirique
pénalisé
θ̂ ∈ arg min
θ∈Rp
Mn(θ) avec Mn(θ) :=
1
n
n
X
i=1
L(Yi, fθ(Xi)) + λ pen(θ)
où pen(θ) est une fonction de pénalisation qui augmente avec la
complexité du modèle paramètré par θ, et λ ≥ 0 est un paramètre de
régularisation (Exemple : pen(θ) = kθk2
2 ou pen(θ) = kθk1)
Prédiction : Ŷi0 = fθ̂(Xi0 )
Introduction au Deep Learning
Principes de l’apprentissage statistique (machine learning)
Choix d’une méthode d’optimisation
Remarque : pour les réseaux de neurones θ 7→ Mn(θ) est
non-convexe et la dimension de θ est très grande!
Calcul de θ̂ par descente de gradient : (e.g. package nnet de R
basée sur la méthode BFGS)
θ̂j+1 = θ̂j − γj∇Mn(θ̂j) et θ̂ = θ̂J,
pour J assez grand.
Introduction au Deep Learning
Principes de l’apprentissage statistique (machine learning)
Choix d’une méthode d’optimisation
Deep learning : le nombre n d’exemples est très grand, coût élevé de
l’évaluation
Mn(θ) :=
1
n
n
X
i=1
L(Yi, fθ(Xi))
Calcul de θ̂ par descente de gradient stochastique : (e.g. librairie
Tensorflow de Python)
A chaque itération j, choix aléatoire d’un sous-ensemble de données
Xi1
, . . . Xiq
(batch) de taille q  n
θ̂j+1 = θ̂j − γj∇mq(θ̂j) où mq(θ) =
1
q
q
X
`=1
L(Yi`
, fθ(Xi`
))
En pratique : partition des données en un ensemble de batch
(disjoints) de taille m
Epoch : nombre de passage sur l’ensemble des données
Introduction au Deep Learning
Réseaux de neurones multi-couches
1 Principes de l’apprentissage statistique (machine learning)
2 Réseaux de neurones multi-couches
3 Réseaux de neurones convolutionnels
Introduction au Deep Learning
Réseaux de neurones multi-couches
Eléments bibliographiques
Exposé basé sur le livre en ligne de Michael Nielsen
http://neuralnetworksanddeeplearning.com/index.html
avec codes en Python :
https://github.com/mnielsen/neural-networks-and-deep-learning.git
et exemples d’utilisation de la librairie Theano de Python
Introduction au Deep Learning
Réseaux de neurones multi-couches
Eléments bibliographiques
Exemple illustratif : base de données MNIST 1
Image de taille d = 28 × 28 = 784 pixels, K = 10 classes
1. http://neuralnetworksanddeeplearning.com/index.html
Introduction au Deep Learning
Réseaux de neurones multi-couches
Eléments bibliographiques
Classification par réseaux de neurones convolutionnels
Ensemble d’apprentissage de 50000 images
Taux de classification  99%
Ensemble test de 10000 images : taux de classification  99%
Introduction au Deep Learning
Réseaux de neurones multi-couches
Eléments bibliographiques
33 images mal-classées sur l’ensemble test 1
Vraie classe : coin supérieur droit
Classe prédite : coin inférier droit
1. http://neuralnetworksanddeeplearning.com/index.html
Introduction au Deep Learning
Réseaux de neurones multi-couches
Eléments bibliographiques
Pour ceux qui n’aiment pas la lecture...
Vidéos en ligne sur le site du Collège de France :
Cours de Yann LeCun, “L’apprentissage profond : théorie et
pratique”, Collège de France (2015-2016), Informatique et
Sciences du Numérique.
www.college-de-france.fr/site/yann-lecun/course-2015-2016.htm
Cours de Stéphane Mallat, “Mystères mathématiques des
réseaux de neurones convolutionnels”, Collège de France
(2015-2016), Informatique et Sciences du Numérique.
www.college-de-france.fr/site/yann-lecun/seminar-2016-02-19-15h30.
Introduction au Deep Learning
Réseaux de neurones multi-couches
Méthode d’apprentissage linéaire
Choix d’une méthode d’apprentissage - séparation de classes par
un hyperplan
Introduction au Deep Learning
Réseaux de neurones multi-couches
Méthode d’apprentissage linéaire
Choix d’une méthode d’apprentissage - séparation de classes par
un hyperplan
Equation d’un hyperplan

x ∈ Rd
: hx, wi + b = 0 où
θ = (w, b) ∈ Rd
× R sont les paramètres de l’hyperplan (ici d = 2)
Introduction au Deep Learning
Réseaux de neurones multi-couches
Méthode d’apprentissage linéaire
Choix d’une méthode d’apprentissage - séparation de classes par
un hyperplan
Points au-dessus de l’hyperplan

x ∈ Rd
: hx, wi + b  0
Points au-dessous de l’hyperplan

x ∈ Rd
: hx, wi + b  0
Introduction au Deep Learning
Réseaux de neurones multi-couches
Méthode d’apprentissage linéaire
Choix d’une méthode d’apprentissage - séparation de classes par
un hyperplan
Règle de classification f(x, θ) = σ (hx, wi + b) avec σ(z) = 1
1R+ (z) ou
σ(z) = 1
1+exp(−z) avec θ = (w, b) ∈ Rd
× R
Introduction au Deep Learning
Réseaux de neurones multi-couches
Construction d’un réseau de neurones
Neurone de base : modèle du Perceptron (Rosenblatt, 1957)
Source : https://stats385.github.io/
Combinaison linéaire de x ∈ Rd
avec les poids ω1, . . . , ωd et un biais b
Fonction non-linéaire d’activation f(z) = σ(z) = 1
1{z≥0}
Introduction au Deep Learning
Réseaux de neurones multi-couches
Construction d’un réseau de neurones
Neurone de base : modèle du Perceptron (Rosenblatt, 1957)
Source : https://stats385.github.io/
Combinaison linéaire de x ∈ Rd
avec les poids ω1, . . . , ωd et un biais b
Autre choix σ(z) = 1
1+exp(−z) (sigmoı̈de) ou σ(z) = max(0, z) (ReLU)
Introduction au Deep Learning
Réseaux de neurones multi-couches
Construction d’un réseau de neurones
Single layer Perceptron
Source : https://stats385.github.io/
Ecriture condensée : fθ(x0) = σ1 (W1x0 + b1), où
σ1 : Rd1
→ Rd1
est une fonction non-linéaire entrée par entrée
W1 ∈ Rd×d1
(poids) b1 ∈ Rd1
(biais)
θ = (W1, b1) : paramètres du réseau
Introduction au Deep Learning
Réseaux de neurones multi-couches
Construction d’un réseau de neurones
Single layer Perceptron - Régression
Source : http://neuralnetworksanddeeplearning.com/index.html
Ecriture condensée : fθ(x0) = W2σ1 (W1x0 + b1) + b2,
avec W1 ∈ Rd×d1
, b1 ∈ Rd1
, W2 ∈ Rd1×1
, b2 ∈ R et θ = (W1, b1, W2, b2)
Introduction au Deep Learning
Réseaux de neurones multi-couches
Construction d’un réseau de neurones
Single layer Perceptron - Classification
Source : http://neuralnetworksanddeeplearning.com/index.html
Ecriture condensée : fθ(x0) = σsoftmax (W2σ1 (W1x0 + b1) + b2),
avec W1 ∈ Rd×d1
, b1 ∈ Rd1
, W2 ∈ Rd1×K
, b2 ∈ RK
et θ = (W1, b1, W2, b2)
Introduction au Deep Learning
Réseaux de neurones multi-couches
Construction d’un réseau de neurones
Multi-layer Perceptron
Source : https://stats385.github.io/
Ecriture condensée - entrée x0 ∈ Rd
, sortie xL, puis, pour ` = 1, . . . , L,
faire x` = σ` (W`x`−1 + b`) avec σL = Id ou bien σL = σsoftmax
Introduction au Deep Learning
Réseaux de neurones multi-couches
Construction d’un réseau de neurones
Multi-layer Perceptron
Source : https://stats385.github.io/
Si xL−1 = (x(1)
, . . . , x(K)
) alors [σsoftmax(xL−1)]k = exp(x(k)
)
PK
`=1 exp(x(`))
pout tout
1 ≤ k ≤ K.
Introduction au Deep Learning
Réseaux de neurones multi-couches
Construction d’un réseau de neurones
Multi-layer Perceptron
Source : http://neuralnetworksanddeeplearning.com/index.html
Réseau de neurones profonds : “nombreuses” couches cachées
Introduction au Deep Learning
Réseaux de neurones multi-couches
Exemple : classification dans R2
avec K = 4 classes
Visualisation des données - Mélange gaussien
−5 0 5 10
−5
0
5
10
x[,1]
x[,2]
Introduction au Deep Learning
Réseaux de neurones multi-couches
Exemple : classification dans R2
avec K = 4 classes
Classificiation optimale : règle de Bayes (indépendante des données)
−5 0 5 10
−5
0
5
10
x[,1]
x[,2]
Introduction au Deep Learning
Réseaux de neurones multi-couches
Exemple : classification dans R2
avec K = 4 classes
Single-layer Perceptron avec 1 neurone dans la couche cachée
Optimisation par descente de gradient (BFGS, librairie nnet de R)
−5 0 5 10
−5
0
5
10
x[,1]
x[,2]
Introduction au Deep Learning
Réseaux de neurones multi-couches
Exemple : classification dans R2
avec K = 4 classes
Single-layer Perceptron avec 2 neurones dans la couche cachée
Optimisation par descente de gradient (BFGS, librairie nnet de R)
−5 0 5 10
−5
0
5
10
x[,1]
x[,2]
Introduction au Deep Learning
Réseaux de neurones multi-couches
Exemple : classification dans R2
avec K = 4 classes
Single-layer Perceptron avec 10 neurones dans la couche cachée
Optimisation par descente de gradient (BFGS, librairie nnet de R)
−5 0 5 10
−5
0
5
10
x[,1]
x[,2]
Introduction au Deep Learning
Réseaux de neurones multi-couches
Calcul du gradient par rétro-propagation de l’erreur
Soit fθ un réseau de neurones - entrée x0 ∈ Rd
, sortie xL = fθ(x0),
puis pour ` = 1, . . . , L, faire x` = σ` (W`x`−1 + b`).
Paramètres : θ = (W`, b`)1≤`≤L
Algorithme de back-propagation (Rumelhart et al. 1986; LeCun
1988) : calcul efficace du gradient de θ 7→ fθ(x0) (avec x0 fixé) c’est à
dire de
∂
∂W`
fθ(x0) et
∂
∂b`
fθ(x0)
Introduction au Deep Learning
Réseaux de neurones multi-couches
Calcul du gradient par rétro-propagation de l’erreur
Formulation par multiplicateur de Lagrange (LeCun 1988) pour le
calcul du gradient de fθ
Optimisation (écriture sans le biais)
min
W,x
kxL − yk2
sous-contraintes x` = σ` (W`x`−1) pour ` = 1, . . . , L.
Formulation lagrangienne (sans contrainte)
min
W,x,B
L(W, x, B)
avec
L(W, x, B) = kxL − yk2
+
L
X
`=1
BT
` (x` − σ` (W`x`−1))
Introduction au Deep Learning
Réseaux de neurones multi-couches
Calcul du gradient par rétro-propagation de l’erreur
Différentiation du terme lagrangien
∂
∂B L = 0 implique que (forward pass) pour ` = 1, . . . , L
x` = σ` W`x`−1
| {z }
a`

∂
∂xL = 0 implique que (backward pass)
zL = 2∇σL aL

(y − xL)
| {z }
Erreur initiale
et z` = ∇σ` a`

WT
`+1z`+1
| {z }
Rétro-propagation
et ainsi
∂
∂W`
fθ(x0) = z`xT
`−1
peut être calculé de façon récursive.
Remarque : ∇σ` a`

est une matrice diagonale!
Introduction au Deep Learning
Réseaux de neurones convolutionnels
1 Principes de l’apprentissage statistique (machine learning)
2 Réseaux de neurones multi-couches
3 Réseaux de neurones convolutionnels
Introduction au Deep Learning
Réseaux de neurones convolutionnels
Réseaux de neurones profond pour le traitement
d’images
Proposés par LeCun, Bottou, Bengio and Haffner (1998)... mais
plusieurs semaines pour l’optimisation d’un réseau de neurones
convolutionnel sur la base de données MNIST
Révolution récente (après 2012) : possibilité d’entrainer un
réseau de neurones profond sur des bases de données
massives (ImageNet - 16 millions d’images couleur - K = 20000
classes, ou bien sur un sous-ensemble ILSVRC Challenge )
Raisons du succès :
Moyens de calculs
Taille des bases d’apprentissage
Raffinement des méthodes d’optimisation (activation ReLU,
régularisation par dropout,...)
Popularisation par librairies de calcul facilement utilisables
Introduction au Deep Learning
Réseaux de neurones convolutionnels
Couche cachée par convolutions de l’entrée
Choix d’un filtre discret (ex de taille 5 × 5)
La couche cachée est le résultat de la convolution de l’image en
entrée par ce filtre (suivie par une fonction d’activation
non-linéaire)
Ecriture condensée : fθ(x0) = σ1 (W1x0 + b1), où W1 est une
matrice de Toeplitz très creuse
Source : http://neuralnetworksanddeeplearning.com/index.html
Introduction au Deep Learning
Réseaux de neurones convolutionnels
Couche cachée par convolutions de l’entrée
Choix d’un filtre discret (ex de taille 5 × 5)
La couche cachée est le résultat de la convolution de l’image en
entrée par ce filtre (suivie par une fonction d’activation
non-linéaire)
Ecriture condensée : fθ(x0) = σ1 (W1x0 + b1), où W1 est une
matrice de Toeplitz très creuse
Source : http://neuralnetworksanddeeplearning.com/index.html
Introduction au Deep Learning
Réseaux de neurones convolutionnels
Couche cachée par convolutions de l’entrée
Choix de plusieurs filtres discret (ex trois de de taille 5 × 5)
La couche cachée est le résultat de la convolution de l’image en
entrée par ces trois filtres (suivie par une fonction d’activation
non-linéaire)
Ecriture condensée : fθ(x0) = σ1 (W1x0 + b1), où W1 est une
matrice de Toeplitz par blocs
Source : http://neuralnetworksanddeeplearning.com/index.html
Introduction au Deep Learning
Réseaux de neurones convolutionnels
Couche cachée par pooling
Ajout d’une couche caché par max-pooling ou L2-pooling
(réduction de dimension et des effets de déformation locale)
Source : http://neuralnetworksanddeeplearning.com/index.html
Introduction au Deep Learning
Réseaux de neurones convolutionnels
Couche cachée par pooling
Ajout d’une couche caché par max-pooling ou L2-pooling
(réduction de dimension et des effets de déformation locale)
Source : http://neuralnetworksanddeeplearning.com/index.html
Introduction au Deep Learning
Réseaux de neurones convolutionnels
Couche finale fully-connected + softmax
Source : http://neuralnetworksanddeeplearning.com/index.html
Introduction au Deep Learning
Réseaux de neurones convolutionnels
Couche finale fully-connected + perceptron + softmax
Source : http://neuralnetworksanddeeplearning.com/index.html
Introduction au Deep Learning
Réseaux de neurones convolutionnels
Exemple de filtres appris avec MNIST
Source : http://neuralnetworksanddeeplearning.com/index.html
Introduction au Deep Learning
Réseaux de neurones convolutionnels
Filtres de Gabor
Source : MathWorks
Introduction au Deep Learning
Réseaux de neurones convolutionnels
33 images mal-classées sur l’ensemble test?
Attention : nombreux paramètres à choisir!
choix des fonctions d’activation : sigmoı̈de, tanh, ReLU...
choix du nombre de couches, nombre de neurones et du type
d’opérations (convolution, pooling, fully-connected)
taille des batch, nombre d’epoch
taux d’apprentissage γj dans la descente de gradient
stochastique
régularisation explicite
min
θ∈Θ
1
n
n
X
i=1
L(Yi, fθ(Xi)) + λkθk2
et bien d’autres : agrégation de réseaux de neurones,
augmentation artificielle de la base de données
d’apprentissage...
Introduction au Deep Learning
Réseaux de neurones convolutionnels
Régularisation par Dropout
Principe : suppression aléatoire de certains poids dans le réseau de
neurones à chaque itération de la descente de gradient stochastique
i.e répéter pour j = 1, 2, . . .
1 choix d’un mini-batch à l’étape j
2 suppression aléatoire de certains poids (i.e. connexions) dans le
réseau de neurones complet
Source : http://neuralnetworksanddeeplearning.com/index.html
Introduction au Deep Learning
Réseaux de neurones convolutionnels
Régularisation par Dropout
Principe : suppression aléatoire de certains poids dans le réseau de
neurones à chaque itération de la descente de gradient stochastique
i.e répéter pour j = 1, 2, . . .
3 pour chaque donnée du mini-batch propager l’entrée x dans le
sous-réseau et rétropropager la sortie y pour calculer le gradient
4 revenir au réseau de neurones complet initial
Source : http://neuralnetworksanddeeplearning.com/index.html
Introduction au Deep Learning
Réseaux de neurones convolutionnels
33 images mal-classées sur l’ensemble test?
Quel sont les paramètres finalement choisis?
Rendez-vous sur le chapitre 6 du livre en ligne de Michael Nielsen!!

Contenu connexe

Similaire à Intro_DeepLearning.pdf

Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...ENSET, Université Hassan II Casablanca
 
toaz.info-clustering-1-pr_7c021feec2e58f2cfdcdf6fe5c0cfc03.pdf
toaz.info-clustering-1-pr_7c021feec2e58f2cfdcdf6fe5c0cfc03.pdftoaz.info-clustering-1-pr_7c021feec2e58f2cfdcdf6fe5c0cfc03.pdf
toaz.info-clustering-1-pr_7c021feec2e58f2cfdcdf6fe5c0cfc03.pdfPenielLoyi
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite completChahrawoods Dmz
 
Cours algorithmique et complexite
Cours algorithmique et complexite Cours algorithmique et complexite
Cours algorithmique et complexite Saddem Chikh
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite completChahrawoods Dmz
 
Les réseaux de neurones
Les réseaux de neuronesLes réseaux de neurones
Les réseaux de neuronesMariam Amchayd
 
Théorie de l’apprentissage et SVM : présentation rapide et premières idées da...
Théorie de l’apprentissage et SVM : présentation rapide et premières idées da...Théorie de l’apprentissage et SVM : présentation rapide et premières idées da...
Théorie de l’apprentissage et SVM : présentation rapide et premières idées da...tuxette
 
Reds presentation ml_interpretability_raouf_aurelia
Reds presentation ml_interpretability_raouf_aureliaReds presentation ml_interpretability_raouf_aurelia
Reds presentation ml_interpretability_raouf_aureliaRaouf KESKES
 
Planification séquentielle pour l'estimation de probabilités de défaillance
Planification séquentielle pour l'estimation de probabilités de défaillancePlanification séquentielle pour l'estimation de probabilités de défaillance
Planification séquentielle pour l'estimation de probabilités de défaillanceJulien Bect
 
La recherche approchée de motifs : théorie et applications
La recherche approchée de motifs : théorie et applications La recherche approchée de motifs : théorie et applications
La recherche approchée de motifs : théorie et applications Ibrahim Chegrane
 
Développement informatique : Algorithmique I : Récursion et arbre
Développement informatique : Algorithmique I : Récursion et arbreDéveloppement informatique : Algorithmique I : Récursion et arbre
Développement informatique : Algorithmique I : Récursion et arbreECAM Brussels Engineering School
 
TP_Réseaux_de_neurones_Safae_ElOmari.pdf
TP_Réseaux_de_neurones_Safae_ElOmari.pdfTP_Réseaux_de_neurones_Safae_ElOmari.pdf
TP_Réseaux_de_neurones_Safae_ElOmari.pdfSafaeElOmari
 
logistic_regression_ml.pdf
logistic_regression_ml.pdflogistic_regression_ml.pdf
logistic_regression_ml.pdfSidiAbdallah1
 

Similaire à Intro_DeepLearning.pdf (20)

Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
 
toaz.info-clustering-1-pr_7c021feec2e58f2cfdcdf6fe5c0cfc03.pdf
toaz.info-clustering-1-pr_7c021feec2e58f2cfdcdf6fe5c0cfc03.pdftoaz.info-clustering-1-pr_7c021feec2e58f2cfdcdf6fe5c0cfc03.pdf
toaz.info-clustering-1-pr_7c021feec2e58f2cfdcdf6fe5c0cfc03.pdf
 
Mathématiques et Python
Mathématiques et PythonMathématiques et Python
Mathématiques et Python
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite complet
 
Cours algorithmique et complexite
Cours algorithmique et complexite Cours algorithmique et complexite
Cours algorithmique et complexite
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite complet
 
Comment faire disparaître les rides
Comment faire disparaître les ridesComment faire disparaître les rides
Comment faire disparaître les rides
 
Les réseaux de neurones
Les réseaux de neuronesLes réseaux de neurones
Les réseaux de neurones
 
Théorie de l’apprentissage et SVM : présentation rapide et premières idées da...
Théorie de l’apprentissage et SVM : présentation rapide et premières idées da...Théorie de l’apprentissage et SVM : présentation rapide et premières idées da...
Théorie de l’apprentissage et SVM : présentation rapide et premières idées da...
 
Reds presentation ml_interpretability_raouf_aurelia
Reds presentation ml_interpretability_raouf_aureliaReds presentation ml_interpretability_raouf_aurelia
Reds presentation ml_interpretability_raouf_aurelia
 
Comparaison
ComparaisonComparaison
Comparaison
 
Planification séquentielle pour l'estimation de probabilités de défaillance
Planification séquentielle pour l'estimation de probabilités de défaillancePlanification séquentielle pour l'estimation de probabilités de défaillance
Planification séquentielle pour l'estimation de probabilités de défaillance
 
1Flou.ppt
1Flou.ppt1Flou.ppt
1Flou.ppt
 
1Flou.ppt
1Flou.ppt1Flou.ppt
1Flou.ppt
 
La recherche approchée de motifs : théorie et applications
La recherche approchée de motifs : théorie et applications La recherche approchée de motifs : théorie et applications
La recherche approchée de motifs : théorie et applications
 
Développement informatique : Algorithmique I : Récursion et arbre
Développement informatique : Algorithmique I : Récursion et arbreDéveloppement informatique : Algorithmique I : Récursion et arbre
Développement informatique : Algorithmique I : Récursion et arbre
 
TP_Réseaux_de_neurones_Safae_ElOmari.pdf
TP_Réseaux_de_neurones_Safae_ElOmari.pdfTP_Réseaux_de_neurones_Safae_ElOmari.pdf
TP_Réseaux_de_neurones_Safae_ElOmari.pdf
 
Théorie des distributions
Théorie des distributionsThéorie des distributions
Théorie des distributions
 
logistic_regression_ml.pdf
logistic_regression_ml.pdflogistic_regression_ml.pdf
logistic_regression_ml.pdf
 
Algorithme knn
Algorithme knnAlgorithme knn
Algorithme knn
 

Dernier

Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxMartin M Flynn
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .Txaruka
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxrababouerdighi
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipM2i Formation
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertChristianMbip
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptxSAID MASHATE
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxAsmaa105193
 
7 PPT sue le project de fin d'étude.pptx
7 PPT sue le project de fin d'étude.pptx7 PPT sue le project de fin d'étude.pptx
7 PPT sue le project de fin d'étude.pptxrababouerdighi
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETMedBechir
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptxTxaruka
 
Guide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étudeGuide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étudeBenamraneMarwa
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETMedBechir
 

Dernier (15)

Pâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie PelletierPâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie Pelletier
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptx
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptx
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadership
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expert
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. Marocpptx
 
7 PPT sue le project de fin d'étude.pptx
7 PPT sue le project de fin d'étude.pptx7 PPT sue le project de fin d'étude.pptx
7 PPT sue le project de fin d'étude.pptx
 
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptx
 
Guide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étudeGuide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étude
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSET
 

Intro_DeepLearning.pdf

  • 1. Introduction au Deep Learning Introduction au Deep Learning Jérémie Bigot UFMI, Institut de Mathématiques de Bordeaux - Université de Bordeaux Master MAS-MSS & CMI ISI Université de Bordeaux
  • 2. Introduction au Deep Learning Classification d’images par Deep Learning ILSVRC Challenge (2010) 1 apprentissage : 1.2 million d’images labellisées (1000 classes) test : 150 000 images 1. Krizhevsky, A., Sutskever, I., and Hinton, G. E. (2012)
  • 3. Introduction au Deep Learning Ce cours : un bref aperçu du Deep Learning Introduction aux principes des réseaux de neurones (tels que formulés dès les années 50) Réseaux de neurones profonds (après 2012) : définition et méthodes d’inférence Mise en oeuvre pratique sur des exemples très simples : facilité d’utilisation et résultats spectaculaires comme raisons du succès?
  • 4. Introduction au Deep Learning 1 Principes de l’apprentissage statistique (machine learning) 2 Réseaux de neurones multi-couches 3 Réseaux de neurones convolutionnels
  • 5. Introduction au Deep Learning Principes de l’apprentissage statistique (machine learning) 1 Principes de l’apprentissage statistique (machine learning) 2 Réseaux de neurones multi-couches 3 Réseaux de neurones convolutionnels
  • 6. Introduction au Deep Learning Principes de l’apprentissage statistique (machine learning) Apprentissage statistique Problème générique : étant donné une base d’apprentissage (Xi, Yi)1≤i≤n où Xi ∈ Rd Yi ∈ R (régression) ou Yi ∈ {1; 2; . . . ; K} (classification) On souhaite : déterminer un modèle qui permet de lier l’entrée Xi à la sortie Yi pour tout 1 ≤ i ≤ n pour i0 / ∈ {1, . . . , n} on veut déterminer Ŷi0 prédiction de Yi0 (non-observé) au vu de l’observation de Xi0 Le couple (Xi0 , Yi0 ) est un élément de l’ensemble test. Remarque : en classification on peut aussi considérer que Yi ∈ ΣK = ( (p1, . . . , pK) : pk ≥ 0 et K X k=1 pk = 1 )
  • 7. Introduction au Deep Learning Principes de l’apprentissage statistique (machine learning) Choix d’une classe de modèles Definition : une classe de modèles est un ensemble de fonctions fθ : Rd → R (régression) ou fθ : Rd → ΣK (classification) indexées par un paramètre θ ∈ Θ ⊂ Rp Apprentissage d’un modèle : minimisation du risque empirique θ̂ ∈ arg min θ∈Θ Mn(θ) avec Mn(θ) := 1 n n X i=1 L(Yi, fθ(Xi)) où L est une fonction de perte e.g. L(y, z) = ky − zk2 ou bien cross-entropy en classification i.e. L(y, z) = − K X k=1 yk log(zk) Prédiction : Ŷi0 = fθ̂(Xi0 )
  • 8. Introduction au Deep Learning Principes de l’apprentissage statistique (machine learning) Choix d’une classe de modèles + pénalisation Definition : une classe de modèles est un ensemble de fonctions fθ : Rd → R (régression) ou fθ : Rd → ΣK (classification) indexées par un paramètre θ ∈ Rp Apprentissage d’un modèle : minimisation du risque empirique pénalisé θ̂ ∈ arg min θ∈Rp Mn(θ) avec Mn(θ) := 1 n n X i=1 L(Yi, fθ(Xi)) + λ pen(θ) où pen(θ) est une fonction de pénalisation qui augmente avec la complexité du modèle paramètré par θ, et λ ≥ 0 est un paramètre de régularisation (Exemple : pen(θ) = kθk2 2 ou pen(θ) = kθk1) Prédiction : Ŷi0 = fθ̂(Xi0 )
  • 9. Introduction au Deep Learning Principes de l’apprentissage statistique (machine learning) Choix d’une méthode d’optimisation Remarque : pour les réseaux de neurones θ 7→ Mn(θ) est non-convexe et la dimension de θ est très grande! Calcul de θ̂ par descente de gradient : (e.g. package nnet de R basée sur la méthode BFGS) θ̂j+1 = θ̂j − γj∇Mn(θ̂j) et θ̂ = θ̂J, pour J assez grand.
  • 10. Introduction au Deep Learning Principes de l’apprentissage statistique (machine learning) Choix d’une méthode d’optimisation Deep learning : le nombre n d’exemples est très grand, coût élevé de l’évaluation Mn(θ) := 1 n n X i=1 L(Yi, fθ(Xi)) Calcul de θ̂ par descente de gradient stochastique : (e.g. librairie Tensorflow de Python) A chaque itération j, choix aléatoire d’un sous-ensemble de données Xi1 , . . . Xiq (batch) de taille q n θ̂j+1 = θ̂j − γj∇mq(θ̂j) où mq(θ) = 1 q q X `=1 L(Yi` , fθ(Xi` )) En pratique : partition des données en un ensemble de batch (disjoints) de taille m Epoch : nombre de passage sur l’ensemble des données
  • 11. Introduction au Deep Learning Réseaux de neurones multi-couches 1 Principes de l’apprentissage statistique (machine learning) 2 Réseaux de neurones multi-couches 3 Réseaux de neurones convolutionnels
  • 12. Introduction au Deep Learning Réseaux de neurones multi-couches Eléments bibliographiques Exposé basé sur le livre en ligne de Michael Nielsen http://neuralnetworksanddeeplearning.com/index.html avec codes en Python : https://github.com/mnielsen/neural-networks-and-deep-learning.git et exemples d’utilisation de la librairie Theano de Python
  • 13. Introduction au Deep Learning Réseaux de neurones multi-couches Eléments bibliographiques Exemple illustratif : base de données MNIST 1 Image de taille d = 28 × 28 = 784 pixels, K = 10 classes 1. http://neuralnetworksanddeeplearning.com/index.html
  • 14. Introduction au Deep Learning Réseaux de neurones multi-couches Eléments bibliographiques Classification par réseaux de neurones convolutionnels Ensemble d’apprentissage de 50000 images Taux de classification 99% Ensemble test de 10000 images : taux de classification 99%
  • 15. Introduction au Deep Learning Réseaux de neurones multi-couches Eléments bibliographiques 33 images mal-classées sur l’ensemble test 1 Vraie classe : coin supérieur droit Classe prédite : coin inférier droit 1. http://neuralnetworksanddeeplearning.com/index.html
  • 16. Introduction au Deep Learning Réseaux de neurones multi-couches Eléments bibliographiques Pour ceux qui n’aiment pas la lecture... Vidéos en ligne sur le site du Collège de France : Cours de Yann LeCun, “L’apprentissage profond : théorie et pratique”, Collège de France (2015-2016), Informatique et Sciences du Numérique. www.college-de-france.fr/site/yann-lecun/course-2015-2016.htm Cours de Stéphane Mallat, “Mystères mathématiques des réseaux de neurones convolutionnels”, Collège de France (2015-2016), Informatique et Sciences du Numérique. www.college-de-france.fr/site/yann-lecun/seminar-2016-02-19-15h30.
  • 17. Introduction au Deep Learning Réseaux de neurones multi-couches Méthode d’apprentissage linéaire Choix d’une méthode d’apprentissage - séparation de classes par un hyperplan
  • 18. Introduction au Deep Learning Réseaux de neurones multi-couches Méthode d’apprentissage linéaire Choix d’une méthode d’apprentissage - séparation de classes par un hyperplan Equation d’un hyperplan x ∈ Rd : hx, wi + b = 0 où θ = (w, b) ∈ Rd × R sont les paramètres de l’hyperplan (ici d = 2)
  • 19. Introduction au Deep Learning Réseaux de neurones multi-couches Méthode d’apprentissage linéaire Choix d’une méthode d’apprentissage - séparation de classes par un hyperplan Points au-dessus de l’hyperplan x ∈ Rd : hx, wi + b 0 Points au-dessous de l’hyperplan x ∈ Rd : hx, wi + b 0
  • 20. Introduction au Deep Learning Réseaux de neurones multi-couches Méthode d’apprentissage linéaire Choix d’une méthode d’apprentissage - séparation de classes par un hyperplan Règle de classification f(x, θ) = σ (hx, wi + b) avec σ(z) = 1 1R+ (z) ou σ(z) = 1 1+exp(−z) avec θ = (w, b) ∈ Rd × R
  • 21. Introduction au Deep Learning Réseaux de neurones multi-couches Construction d’un réseau de neurones Neurone de base : modèle du Perceptron (Rosenblatt, 1957) Source : https://stats385.github.io/ Combinaison linéaire de x ∈ Rd avec les poids ω1, . . . , ωd et un biais b Fonction non-linéaire d’activation f(z) = σ(z) = 1 1{z≥0}
  • 22. Introduction au Deep Learning Réseaux de neurones multi-couches Construction d’un réseau de neurones Neurone de base : modèle du Perceptron (Rosenblatt, 1957) Source : https://stats385.github.io/ Combinaison linéaire de x ∈ Rd avec les poids ω1, . . . , ωd et un biais b Autre choix σ(z) = 1 1+exp(−z) (sigmoı̈de) ou σ(z) = max(0, z) (ReLU)
  • 23. Introduction au Deep Learning Réseaux de neurones multi-couches Construction d’un réseau de neurones Single layer Perceptron Source : https://stats385.github.io/ Ecriture condensée : fθ(x0) = σ1 (W1x0 + b1), où σ1 : Rd1 → Rd1 est une fonction non-linéaire entrée par entrée W1 ∈ Rd×d1 (poids) b1 ∈ Rd1 (biais) θ = (W1, b1) : paramètres du réseau
  • 24. Introduction au Deep Learning Réseaux de neurones multi-couches Construction d’un réseau de neurones Single layer Perceptron - Régression Source : http://neuralnetworksanddeeplearning.com/index.html Ecriture condensée : fθ(x0) = W2σ1 (W1x0 + b1) + b2, avec W1 ∈ Rd×d1 , b1 ∈ Rd1 , W2 ∈ Rd1×1 , b2 ∈ R et θ = (W1, b1, W2, b2)
  • 25. Introduction au Deep Learning Réseaux de neurones multi-couches Construction d’un réseau de neurones Single layer Perceptron - Classification Source : http://neuralnetworksanddeeplearning.com/index.html Ecriture condensée : fθ(x0) = σsoftmax (W2σ1 (W1x0 + b1) + b2), avec W1 ∈ Rd×d1 , b1 ∈ Rd1 , W2 ∈ Rd1×K , b2 ∈ RK et θ = (W1, b1, W2, b2)
  • 26. Introduction au Deep Learning Réseaux de neurones multi-couches Construction d’un réseau de neurones Multi-layer Perceptron Source : https://stats385.github.io/ Ecriture condensée - entrée x0 ∈ Rd , sortie xL, puis, pour ` = 1, . . . , L, faire x` = σ` (W`x`−1 + b`) avec σL = Id ou bien σL = σsoftmax
  • 27. Introduction au Deep Learning Réseaux de neurones multi-couches Construction d’un réseau de neurones Multi-layer Perceptron Source : https://stats385.github.io/ Si xL−1 = (x(1) , . . . , x(K) ) alors [σsoftmax(xL−1)]k = exp(x(k) ) PK `=1 exp(x(`)) pout tout 1 ≤ k ≤ K.
  • 28. Introduction au Deep Learning Réseaux de neurones multi-couches Construction d’un réseau de neurones Multi-layer Perceptron Source : http://neuralnetworksanddeeplearning.com/index.html Réseau de neurones profonds : “nombreuses” couches cachées
  • 29. Introduction au Deep Learning Réseaux de neurones multi-couches Exemple : classification dans R2 avec K = 4 classes Visualisation des données - Mélange gaussien −5 0 5 10 −5 0 5 10 x[,1] x[,2]
  • 30. Introduction au Deep Learning Réseaux de neurones multi-couches Exemple : classification dans R2 avec K = 4 classes Classificiation optimale : règle de Bayes (indépendante des données) −5 0 5 10 −5 0 5 10 x[,1] x[,2]
  • 31. Introduction au Deep Learning Réseaux de neurones multi-couches Exemple : classification dans R2 avec K = 4 classes Single-layer Perceptron avec 1 neurone dans la couche cachée Optimisation par descente de gradient (BFGS, librairie nnet de R) −5 0 5 10 −5 0 5 10 x[,1] x[,2]
  • 32. Introduction au Deep Learning Réseaux de neurones multi-couches Exemple : classification dans R2 avec K = 4 classes Single-layer Perceptron avec 2 neurones dans la couche cachée Optimisation par descente de gradient (BFGS, librairie nnet de R) −5 0 5 10 −5 0 5 10 x[,1] x[,2]
  • 33. Introduction au Deep Learning Réseaux de neurones multi-couches Exemple : classification dans R2 avec K = 4 classes Single-layer Perceptron avec 10 neurones dans la couche cachée Optimisation par descente de gradient (BFGS, librairie nnet de R) −5 0 5 10 −5 0 5 10 x[,1] x[,2]
  • 34. Introduction au Deep Learning Réseaux de neurones multi-couches Calcul du gradient par rétro-propagation de l’erreur Soit fθ un réseau de neurones - entrée x0 ∈ Rd , sortie xL = fθ(x0), puis pour ` = 1, . . . , L, faire x` = σ` (W`x`−1 + b`). Paramètres : θ = (W`, b`)1≤`≤L Algorithme de back-propagation (Rumelhart et al. 1986; LeCun 1988) : calcul efficace du gradient de θ 7→ fθ(x0) (avec x0 fixé) c’est à dire de ∂ ∂W` fθ(x0) et ∂ ∂b` fθ(x0)
  • 35. Introduction au Deep Learning Réseaux de neurones multi-couches Calcul du gradient par rétro-propagation de l’erreur Formulation par multiplicateur de Lagrange (LeCun 1988) pour le calcul du gradient de fθ Optimisation (écriture sans le biais) min W,x kxL − yk2 sous-contraintes x` = σ` (W`x`−1) pour ` = 1, . . . , L. Formulation lagrangienne (sans contrainte) min W,x,B L(W, x, B) avec L(W, x, B) = kxL − yk2 + L X `=1 BT ` (x` − σ` (W`x`−1))
  • 36. Introduction au Deep Learning Réseaux de neurones multi-couches Calcul du gradient par rétro-propagation de l’erreur Différentiation du terme lagrangien ∂ ∂B L = 0 implique que (forward pass) pour ` = 1, . . . , L x` = σ` W`x`−1 | {z } a` ∂ ∂xL = 0 implique que (backward pass) zL = 2∇σL aL (y − xL) | {z } Erreur initiale et z` = ∇σ` a` WT `+1z`+1 | {z } Rétro-propagation et ainsi ∂ ∂W` fθ(x0) = z`xT `−1 peut être calculé de façon récursive. Remarque : ∇σ` a` est une matrice diagonale!
  • 37. Introduction au Deep Learning Réseaux de neurones convolutionnels 1 Principes de l’apprentissage statistique (machine learning) 2 Réseaux de neurones multi-couches 3 Réseaux de neurones convolutionnels
  • 38. Introduction au Deep Learning Réseaux de neurones convolutionnels Réseaux de neurones profond pour le traitement d’images Proposés par LeCun, Bottou, Bengio and Haffner (1998)... mais plusieurs semaines pour l’optimisation d’un réseau de neurones convolutionnel sur la base de données MNIST Révolution récente (après 2012) : possibilité d’entrainer un réseau de neurones profond sur des bases de données massives (ImageNet - 16 millions d’images couleur - K = 20000 classes, ou bien sur un sous-ensemble ILSVRC Challenge ) Raisons du succès : Moyens de calculs Taille des bases d’apprentissage Raffinement des méthodes d’optimisation (activation ReLU, régularisation par dropout,...) Popularisation par librairies de calcul facilement utilisables
  • 39. Introduction au Deep Learning Réseaux de neurones convolutionnels Couche cachée par convolutions de l’entrée Choix d’un filtre discret (ex de taille 5 × 5) La couche cachée est le résultat de la convolution de l’image en entrée par ce filtre (suivie par une fonction d’activation non-linéaire) Ecriture condensée : fθ(x0) = σ1 (W1x0 + b1), où W1 est une matrice de Toeplitz très creuse Source : http://neuralnetworksanddeeplearning.com/index.html
  • 40. Introduction au Deep Learning Réseaux de neurones convolutionnels Couche cachée par convolutions de l’entrée Choix d’un filtre discret (ex de taille 5 × 5) La couche cachée est le résultat de la convolution de l’image en entrée par ce filtre (suivie par une fonction d’activation non-linéaire) Ecriture condensée : fθ(x0) = σ1 (W1x0 + b1), où W1 est une matrice de Toeplitz très creuse Source : http://neuralnetworksanddeeplearning.com/index.html
  • 41. Introduction au Deep Learning Réseaux de neurones convolutionnels Couche cachée par convolutions de l’entrée Choix de plusieurs filtres discret (ex trois de de taille 5 × 5) La couche cachée est le résultat de la convolution de l’image en entrée par ces trois filtres (suivie par une fonction d’activation non-linéaire) Ecriture condensée : fθ(x0) = σ1 (W1x0 + b1), où W1 est une matrice de Toeplitz par blocs Source : http://neuralnetworksanddeeplearning.com/index.html
  • 42. Introduction au Deep Learning Réseaux de neurones convolutionnels Couche cachée par pooling Ajout d’une couche caché par max-pooling ou L2-pooling (réduction de dimension et des effets de déformation locale) Source : http://neuralnetworksanddeeplearning.com/index.html
  • 43. Introduction au Deep Learning Réseaux de neurones convolutionnels Couche cachée par pooling Ajout d’une couche caché par max-pooling ou L2-pooling (réduction de dimension et des effets de déformation locale) Source : http://neuralnetworksanddeeplearning.com/index.html
  • 44. Introduction au Deep Learning Réseaux de neurones convolutionnels Couche finale fully-connected + softmax Source : http://neuralnetworksanddeeplearning.com/index.html
  • 45. Introduction au Deep Learning Réseaux de neurones convolutionnels Couche finale fully-connected + perceptron + softmax Source : http://neuralnetworksanddeeplearning.com/index.html
  • 46. Introduction au Deep Learning Réseaux de neurones convolutionnels Exemple de filtres appris avec MNIST Source : http://neuralnetworksanddeeplearning.com/index.html
  • 47. Introduction au Deep Learning Réseaux de neurones convolutionnels Filtres de Gabor Source : MathWorks
  • 48. Introduction au Deep Learning Réseaux de neurones convolutionnels 33 images mal-classées sur l’ensemble test? Attention : nombreux paramètres à choisir! choix des fonctions d’activation : sigmoı̈de, tanh, ReLU... choix du nombre de couches, nombre de neurones et du type d’opérations (convolution, pooling, fully-connected) taille des batch, nombre d’epoch taux d’apprentissage γj dans la descente de gradient stochastique régularisation explicite min θ∈Θ 1 n n X i=1 L(Yi, fθ(Xi)) + λkθk2 et bien d’autres : agrégation de réseaux de neurones, augmentation artificielle de la base de données d’apprentissage...
  • 49. Introduction au Deep Learning Réseaux de neurones convolutionnels Régularisation par Dropout Principe : suppression aléatoire de certains poids dans le réseau de neurones à chaque itération de la descente de gradient stochastique i.e répéter pour j = 1, 2, . . . 1 choix d’un mini-batch à l’étape j 2 suppression aléatoire de certains poids (i.e. connexions) dans le réseau de neurones complet Source : http://neuralnetworksanddeeplearning.com/index.html
  • 50. Introduction au Deep Learning Réseaux de neurones convolutionnels Régularisation par Dropout Principe : suppression aléatoire de certains poids dans le réseau de neurones à chaque itération de la descente de gradient stochastique i.e répéter pour j = 1, 2, . . . 3 pour chaque donnée du mini-batch propager l’entrée x dans le sous-réseau et rétropropager la sortie y pour calculer le gradient 4 revenir au réseau de neurones complet initial Source : http://neuralnetworksanddeeplearning.com/index.html
  • 51. Introduction au Deep Learning Réseaux de neurones convolutionnels 33 images mal-classées sur l’ensemble test? Quel sont les paramètres finalement choisis? Rendez-vous sur le chapitre 6 du livre en ligne de Michael Nielsen!!