Vision par ordinateur

&

Apprentissage profond

Contenu essentiellement tiré de l'excellent cours du MIT

MIT 6.S191: Introduction to Deep Learning

IntroToDeepLearning.com

© Alexander Amini and Ava Soleimany

D'énormes avancées dues au deep learning

...

Description

d'une scène visuelle

Identification des objets

d'une scène visuelle

Colorisation

Détection de pose

Transfert de style

Capture de mouvements

Amélioration de photos

Reconnaissance faciale

conduite autonome

segmentation d'image

Reconnaissance d'image(s)

Transformation d'image(s)

Extraction de propriétés

Comment les ordinateurs "voient" ils ?

... en apprenant des features locales

extraction de features par convolution

Le padding

pas de padding

padding de 1

full padding

Permet de "scanner" complètement les pixels du bord

Les strides

padding de 1 stride de 2

Le pas avec lequel s'appliquent les filtres

padding de 1 stride de 1

Avec des images en couleurs

Le réseau apprend un filtre par canal de couleur

Exemples avec des images codées en RGB

Avec des images en couleurs

On peut combiner plusieurs groupes de filtres par couche

Le réseau convolutif

Convolutionnal Neural Network (CNN)

Du perceptron au CNN

Les "briques" d'un CNN

Le pooling

Intérêt : faire un sous échantillonnage spatial

Le pooling

Mais ces couches tendent a être de moins en moins utilisées !

Différents types de pooling possibles:

max pooling

average pooling

region of interest pooling

A l'intérieur d'un CNN

Exemple de 96 filtres appris par des premières couches d'un CNN

Krizhevsky et al.

A l'intérieur d'un CNN

Visualiser couches cachées

D'autres types de couches

La "couche" batch normalisation

Idée : normaliser les données de chaque mini-batch

x_i' = \frac{x_i - \mu_B}{\sigma_B}

...

...

Accélère le calcul

Réduit le problème d'évanescence du gradient

Régularise les données

Apprentissage par transfert

Quelques architectures célèbres

...

LeNet

90

AlexNet

2012

ZFNet

2013

ResNet

2015

De nombreuses applications