apprentissage et fouille de données visuellesviennet/ens/afdv/03-cours-deep.pdf · introduction...
TRANSCRIPT
Apprentissage et Fouille de Données Visuelles
E. Viennet
L2TIUniversité Paris 13
2018-2019
E. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 1 / 44
Plan du cours1 Introduction2 Bases de l’apprentissage (machine learning)
Apprentissage superviséApprentissage non-superviséApprentissage et généralisationRésumé du cours 1
3 Introduction au Deep LearningQuelques applications au traitement d’images ou de vidéosPrincipe généralHistoire du connexionnismePerceptrons multi-couchesApprentissage par descente du gradientArchitecture d’un réseau multicouche (MLP)Apprentissage d’un réseauOutils logicielsOutils de calculImplémentation en PyTorchE. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 2 / 44
Introduction
Plan1 Introduction2 Bases de l’apprentissage (machine learning)
Apprentissage superviséApprentissage non-superviséApprentissage et généralisationRésumé du cours 1
3 Introduction au Deep LearningQuelques applications au traitement d’images ou de vidéosPrincipe généralHistoire du connexionnismePerceptrons multi-couchesApprentissage par descente du gradientArchitecture d’un réseau multicouche (MLP)Apprentissage d’un réseauOutils logicielsOutils de calculImplémentation en PyTorchE. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 3 / 44
Bases de l’apprentissage (machine learning)
Plan1 Introduction2 Bases de l’apprentissage (machine learning)
Apprentissage superviséApprentissage non-superviséApprentissage et généralisationRésumé du cours 1
3 Introduction au Deep LearningQuelques applications au traitement d’images ou de vidéosPrincipe généralHistoire du connexionnismePerceptrons multi-couchesApprentissage par descente du gradientArchitecture d’un réseau multicouche (MLP)Apprentissage d’un réseauOutils logicielsOutils de calculImplémentation en PyTorchE. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 4 / 44
Bases de l’apprentissage (machine learning) Résumé du cours 1
Résumé du cours 1
Nous avons introduit :apprentissage à partir de données : concept et applications ;outils (Python) pour les sciences des données et le machinelearning ;Principaux modèles pour l’apprentissage supervisé etnon-supervisé.
E. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 5 / 44
Introduction au Deep Learning
Plan1 Introduction2 Bases de l’apprentissage (machine learning)
Apprentissage superviséApprentissage non-superviséApprentissage et généralisationRésumé du cours 1
3 Introduction au Deep LearningQuelques applications au traitement d’images ou de vidéosPrincipe généralHistoire du connexionnismePerceptrons multi-couchesApprentissage par descente du gradientArchitecture d’un réseau multicouche (MLP)Apprentissage d’un réseauOutils logicielsOutils de calculImplémentation en PyTorchE. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 6 / 44
Introduction au Deep Learning Apprentissage par descente du gradient
Résumé du cours 2
applications du Deep Learning aux images et vidéosprincipes : approximation de fonctions, apprentissagehistoriqueperceptrons multicouches (MLP)apprentissage par descente du gradient
E. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 7 / 44
Introduction au Deep Learning Architecture d’un réseau multicouche (MLP)
Couches complètement connectées
Chaque cellule est connectée à toutes les cellules de la coucheprécédente. La couche réalise un produit de matrice.
E. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 8 / 44
Introduction au Deep Learning Architecture d’un réseau multicouche (MLP)
Couche à convolution
Exemple en une dimension :
E. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 9 / 44
Introduction au Deep Learning Architecture d’un réseau multicouche (MLP)
Couche à convolution (2d)
E. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 10 / 44
Introduction au Deep Learning Architecture d’un réseau multicouche (MLP)
Filtres appris
E. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 11 / 44
Introduction au Deep Learning Architecture d’un réseau multicouche (MLP)
Exemple : convolution 2D sur 3 canaux
E. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 12 / 44
Introduction au Deep Learning Architecture d’un réseau multicouche (MLP)
Exemple
E. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 13 / 44
Introduction au Deep Learning Architecture d’un réseau multicouche (MLP)
Exemple
E. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 14 / 44
Introduction au Deep Learning Architecture d’un réseau multicouche (MLP)
Exemple
E. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 15 / 44
Introduction au Deep Learning Architecture d’un réseau multicouche (MLP)
Exemple
E. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 16 / 44
Introduction au Deep Learning Architecture d’un réseau multicouche (MLP)
Exemple
E. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 17 / 44
Introduction au Deep Learning Architecture d’un réseau multicouche (MLP)
Exemple
E. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 18 / 44
Introduction au Deep Learning Architecture d’un réseau multicouche (MLP)
Exemple
E. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 19 / 44
Introduction au Deep Learning Architecture d’un réseau multicouche (MLP)
Exemple
E. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 20 / 44
Introduction au Deep Learning Architecture d’un réseau multicouche (MLP)
Exemple
E. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 21 / 44
Introduction au Deep Learning Architecture d’un réseau multicouche (MLP)
Exemple
E. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 22 / 44
Introduction au Deep Learning Architecture d’un réseau multicouche (MLP)
Exemple
E. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 23 / 44
Introduction au Deep Learning Architecture d’un réseau multicouche (MLP)
Exemple
E. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 24 / 44
Introduction au Deep Learning Architecture d’un réseau multicouche (MLP)
Exemple
E. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 25 / 44
Introduction au Deep Learning Architecture d’un réseau multicouche (MLP)
Exemple
E. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 26 / 44
Introduction au Deep Learning Architecture d’un réseau multicouche (MLP)
Exemple
E. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 27 / 44
Introduction au Deep Learning Architecture d’un réseau multicouche (MLP)
Exemple
E. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 28 / 44
Introduction au Deep Learning Architecture d’un réseau multicouche (MLP)
Exemple
E. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 29 / 44
Introduction au Deep Learning Architecture d’un réseau multicouche (MLP)
Exemple
E. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 30 / 44
Introduction au Deep Learning Architecture d’un réseau multicouche (MLP)
Exemple
E. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 31 / 44
Introduction au Deep Learning Architecture d’un réseau multicouche (MLP)
Exemple
E. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 32 / 44
Introduction au Deep Learning Architecture d’un réseau multicouche (MLP)
Exemple
E. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 33 / 44
Introduction au Deep Learning Architecture d’un réseau multicouche (MLP)
Couches de pooling
E. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 34 / 44
Introduction au Deep Learning Architecture d’un réseau multicouche (MLP)
Couche ReLU (rappel)
E. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 35 / 44
Introduction au Deep Learning Architecture d’un réseau multicouche (MLP)
Architecture multicouche
alternance de convolutions et de pooling
Biais
Couche 1: filtrage
Couche 2: sous-echantillonnage
Couche 3: filtrage
Couche 4: sous-echantillonnage
Couche 5: classification
Pixels de l’image
Sortie: classes
E. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 36 / 44
Introduction au Deep Learning Architecture d’un réseau multicouche (MLP)
LeNet (1990)
E. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 37 / 44
Introduction au Deep Learning Architecture d’un réseau multicouche (MLP)
AlexNet (2012)
Reconnaissance d’images, ImageNet classification with deep convolutionalneural networks, Alex Krizhevsky, Ilya Sutskever, Geoffrey E. Hinton, 2012
E. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 38 / 44
Source: figure : Han et al. 2017
Introduction au Deep Learning Architecture d’un réseau multicouche (MLP)
Exemple : GoogleLeNet
Reconnaissance d’images, Going Deeper with Convolutions, C. Szegedy atal., 2014
22 couches.
E. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 39 / 44
Introduction au Deep Learning Architecture d’un réseau multicouche (MLP)
Neural Network Zoo
E. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 40 / 44
Source: van Veen, 2016
Introduction au Deep Learning Apprentissage d’un réseau
Techniques d’apprentissage
Descente stochastique du gradient (SGD)Stochastique vs mini-batch vs batch?momentumbatch normalizationCritère d’arrêt, early stopping
E. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 41 / 44
Introduction au Deep Learning Outils logiciels
Outils logiciels
Tensor Flow (Google)KerasPyTorch (Facebook research)Caffe (2013)Theano (U. Montreal, 2007)
E. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 42 / 44
Introduction au Deep Learning Outils de calcul
GPU
E. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 43 / 44
Source: Wikipedia
Introduction au Deep Learning Implémentation en PyTorch
Création d’un réseau en PyTorch (rappel)
N1 = 2N2 = 2c lass Net ( nn . Module ) :
def _ _ i n i t _ _ ( s e l f ) :super ( Net , s e l f ) . _ _ i n i t _ _ ( )s e l f . fc1 = nn . L inear (2 , N1)s e l f . fc2 = nn . L inear (N1, N2)s e l f . fc3 = nn . L inear (N2, NbClass )
def forward ( s e l f , x ) :x = F . r e l u ( s e l f . fc1 ( x ) )x = F . r e l u ( s e l f . fc2 ( x ) )x = s e l f . fc3 ( x )r e t u r n x
E. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 44 / 44
Introduction au Deep Learning Implémentation en PyTorch
Exemple complet en PyTorch
Voir le notebook exemple_nn_classif_lenet_MNIST.ipynb
E. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 45 / 44