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
( K
)
X
Yi ∈ ΣK = (p1 , . . . , pK ) : pk ≥ 0 et pk = 1
k=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
n
1X
θ̂ ∈ arg min Mn (θ) avec Mn (θ) := L(Yi , fθ (Xi ))
θ∈Θ n
i=1
où L est une fonction de perte e.g.
L(y, z) = ky − zk2
ou bien cross-entropy en classification i.e.
K
X
L(y, z) = − yk log(zk )
k=1
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é
n
1X
θ̂ ∈ arg min Mn (θ) avec Mn (θ) := L(Yi , fθ (Xi )) + λ pen(θ)
θ∈Rp n
i=1
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θk22 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
n
1X
Mn (θ) := L(Yi , fθ (Xi ))
n
i=1
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
q
1X
θ̂j+1 = θ̂j − γj ∇mq (θ̂j ) où mq (θ) = L(Yi` , fθ (Xi` ))
q
`=1
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