45
Apprentissage et Fouille de Données Visuelles E. Viennet L2TI Université Paris 13 2018-2019 E. Viennet (Université Paris 13) Apprentissage et Fouille de Données Visuelles 2018-2019 1 / 44

Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

  • Upload
    others

  • View
    9

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 2: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 3: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 4: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 5: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 6: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 7: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 8: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 9: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 10: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 11: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 12: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 13: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 14: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 15: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 16: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 17: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 18: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 19: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 20: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 21: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 22: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 23: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 24: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 25: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 26: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 27: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 28: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 29: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 30: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 31: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 32: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 33: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 34: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 35: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 36: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 37: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 38: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 39: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 40: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 41: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 42: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 43: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 44: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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

Page 45: Apprentissage et Fouille de Données Visuellesviennet/ens/AFDV/03-Cours-Deep.pdf · Introduction Plan 1 Introduction 2 Bases de l’apprentissage (machine learning) Apprentissage

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