Introduction à l`Apprentissage Automatique

publicité
Introduction à l’Apprentissage Automatique
Alain Rakotomamonjy
Ecole Interdisciplinaire sur les systèmes complexes
October 11, 2016
Science des données
Quid?
Extraction de connaissances à partir de données
Champs d’applications diverses : astronomie, médecine, brain science,
...
LITIS Univ Rouen Normandie
2/∞
Science des données
Quid?
Extraction de connaissances à partir de données
Champs d’applications diverses : astronomie, médecine, brain science,
...
Compétences en sciences des données
LITIS Univ Rouen Normandie
2/∞
Plan
1
Une brève introduction de l’apprentissage automatique
2
Etude de cas
Cas d’école : reconnaître des “tufa” avec des SVMs
Reconnaître un objet dans une image par deep learning
LITIS Univ Rouen Normandie
3/∞
Plan
1
Une brève introduction de l’apprentissage automatique
2
Etude de cas
Cas d’école : reconnaître des “tufa” avec des SVMs
Reconnaître un objet dans une image par deep learning
Deux définitions de l’apprentissage
Arthur Samuel (1959)
Machine Learning: Field of study that gives
computers the ability to learn without being
explicitly programmed.
Tom Mitchell (The Discipline of Machine Learning, 2006)
“How can we build computer systems that automatically improve with
experience, and what are the fundamental laws that govern all learning
processes?”
A computer program CP is said to learn from experience E with respect to
some class of tasks T and performance measure P, if its performance at
tasks in T, as measured by P, improves with experience E
LITIS Univ Rouen Normandie
5/∞
Une tâche T « apprenable »
Machine Learning
A computer program CP learn from experience E
with respect to some class of tasks T and
performance measure P, if its performance at tasks
in T, as measured by P, improves with experience E
Construire un programme CP
tasks T :
I
I
I
utilité
traduction automatique lien
jouer au go
conduire
performance measure P :
experience E :
optimisation
données/statistiques
LITIS Univ Rouen Normandie
6/∞
Les tâches T
LITIS Univ Rouen Normandie
7/∞
L’experience E : les données
capteurs
texte
parole
images/vidéos
réseaux
jeux
flots
→
→
→
→
→
→
→
quantitatives
chaine de caractères
temps - série temporelle
dépendances 2/3 d
graphes
séquences d’interactions
tickets de caisse, web logs, traffic. . .
Les mégadonnées
Génération/Stockage de données sans interruption
3V : volume,variété, vitesse
l’exemple du smartphone : message, photos, trace GPS, trace de
navigation, ...
300h de vidéo par minute sur YouTube
LITIS Univ Rouen Normandie
8/∞
Objectifs, tâches et mesures de performance P
Apprentissage supervisé
Apprendre à partir de données dont on connait les sorties désirées
Exemples : apprendre à reconnaitre des spams, prédiction dans des
systèmes de partage collaboratifs (vélos, vehicules)
LITIS Univ Rouen Normandie
9/∞
Objectifs, tâches et mesures de performance P
Apprentissage supervisé
classification
I
I
I
binaire
multi classe
détection
nombre d’erreur (0/1)
matrice de confusion
nombre de non-détection et fausses alarmes
régression
réelle
Pos
Neg
erreur quadratique moyenne
prédiction
Positif Negatif
VP
FN
FP
VN
réelle
Route
Building
Fôret
LITIS Univ Rouen Normandie
prédiction
Route Building
100%
0
5%
90%
20%
10%
10/∞
Foret
0
5%
70%
Objectifs, tâches et mesures de performance P
Apprentissage par renforcement
apprendre à partir de feedback ou récompense
exemple : jouer à chaud ou froid, apprendre à jouer au go en gagnant
ou perdant
LITIS Univ Rouen Normandie
11/∞
Objectifs, tâches et mesures de performance P
Apprentissage non-supervisé
inférer des structures latentes dans les données
“regrouper” des données homogènes
LITIS Univ Rouen Normandie
12/∞
Types de problèmes
Reconnaître le problème
Regrouper automatiquement mes photos personnels en catégories
Apprendre à aider au diagnostic d’une maladie à partir d’images
médicales
Etant donné le profil d’un client, est ce qu’en tant que banque je peux
lui octroyer un prêt?
Etant donné une bande musicale, séparer la voix du chanteur du reste
de la musique
LITIS Univ Rouen Normandie
13/∞
Types de problèmes
Reconnaître le problème
Regrouper automatiquement mes photos personnels en catégories
non-supervisé
Apprendre à aider au diagnostic d’une maladie à partir d’images
médicales
Etant donné le profil d’un client, est ce qu’en tant que banque je peux
lui octroyer un prêt?
Etant donné une bande musicale, séparer la voix du chanteur du reste
de la musique
LITIS Univ Rouen Normandie
13/∞
Types de problèmes
Reconnaître le problème
Regrouper automatiquement mes photos personnels en catégories
non-supervisé
Apprendre à aider au diagnostic d’une maladie à partir d’images
médicales
supervisé
Etant donné le profil d’un client, est ce qu’en tant que banque je peux
lui octroyer un prêt?
Etant donné une bande musicale, séparer la voix du chanteur du reste
de la musique
LITIS Univ Rouen Normandie
13/∞
Types de problèmes
Reconnaître le problème
Regrouper automatiquement mes photos personnels en catégories
non-supervisé
Apprendre à aider au diagnostic d’une maladie à partir d’images
médicales
supervisé
Etant donné le profil d’un client, est ce qu’en tant que banque je peux
lui octroyer un prêt?
supervisé
Etant donné une bande musicale, séparer la voix du chanteur du reste
de la musique
LITIS Univ Rouen Normandie
13/∞
Types de problèmes
Reconnaître le problème
Regrouper automatiquement mes photos personnels en catégories
non-supervisé
Apprendre à aider au diagnostic d’une maladie à partir d’images
médicales
supervisé
Etant donné le profil d’un client, est ce qu’en tant que banque je peux
lui octroyer un prêt?
supervisé
Etant donné une bande musicale, séparer la voix du chanteur du reste
de la musique
non-supervisé
LITIS Univ Rouen Normandie
13/∞
Apprentissage supervisé
Cadre global
Données labelisées pour apprendre : {xi , yi } ∈ X × Y
Ensemble de fonctions F : X → Y
Apprentissage : choisir un fˆ ∈ F tel que yi ≈ fˆ(xi )
Prediction : étant donné une nouvelle donnée x, construire la
prédiction y = f (x)
Objectif : généraliser
→ bien faire (minimiser P) sur les futures données que l’on ne connait pas
LITIS Univ Rouen Normandie
14/∞
L’apprentissage comme un problème d’optimisation bi-critère
Apprendre c’est sélectionner une bonne
hypothèse
un bon modèle F (ensemble d’hypothèses)
n
I
min
s’ajuster aux données
f ∈F
cout d’ajustement aux données
(apprentissage)
(généralisation)
LITIS Univ Rouen Normandie
15/∞
L’apprentissage comme un problème d’optimisation bi-critère
Apprendre c’est sélectionner une bonne
hypothèse
un bon modèle F (ensemble d’hypothèses)
P = deux critères contradictoires
I
I
cout d’ajustement aux données
pénalité favorisant une certaine régularité
n
min
s’ajuster aux données
min
bien généraliser
f ∈F
f ∈F
une bonne gestion de cette contradiction
(apprentissage)
(généralisation)
LITIS Univ Rouen Normandie
15/∞
Exemples de modèle F (ensemble d’hypothèses)
dictionnaire fixe
f (x) =
dictionnaire adapté aux observations
I
les machines à noyaux
f (x) =
f (x) =
p
X
j=1
p
X
αj φj (x)
αj φj (x, xi )
j=1
Pn
i=1
αi k(x, xi )
dictionnaire adapté aux observations et aux étiquettes
f (x) =
p
X
αj φj (x, xi , yi )
i=1
I
les réseaux de neurones de type perceptron multicouche


p
m
X
X
αk Φ 
f (x) =
βj x
k=1
LITIS Univ Rouen Normandie
16/∞
j=1
Les objectifs de l’apprentissage automatique
Algorithmes d’apprentissage
I
I
I
selectionner la bonne fonction parmi l’ensemble d’hypothèses
bonne généralisation
passage à l’échelle
Questions théoriques (Vapnik’s Book, 1982 - Valiant, 1984)
I
I
apprenabilité, sous quelles conditions, quelle garantie théorique?
complexité (en temps, en échantillon)
LITIS Univ Rouen Normandie
17/∞
Apprentissage supervisé : workflow
LITIS Univ Rouen Normandie
18/∞
Top 10 algorithmes en fouille de données
Arbres de décision (et les forêts)
I
I
C4.5,
CART,
SVM,
AdaBoost,
kNN,
...
en 2014 un 11 ème : deep learning
(CNN, RNN)
identified by the IEEE International Conference on Data Mining (ICDM) in December 2006, maj 2014
LITIS Univ Rouen Normandie
19/∞
Apprendre à reconnaitre! Apprendre à raisonner ?
Le genre de problème qu’une machine apprend très bien
LITIS Univ Rouen Normandie
20/∞
Apprendre à reconnaitre! Apprendre à raisonner ?
Le genre de problème qu’une machine est très loin de résoudre
LITIS Univ Rouen Normandie
20/∞
Plan
1
Une brève introduction de l’apprentissage automatique
2
Etude de cas
Cas d’école : reconnaître des “tufa” avec des SVMs
Reconnaître un objet dans une image par deep learning
Plan
1
Une brève introduction de l’apprentissage automatique
2
Etude de cas
Cas d’école : reconnaître des “tufa” avec des SVMs
Reconnaître un objet dans une image par deep learning
LITIS Univ Rouen Normandie
22/∞
Reconnaissance d’une forme géométrique
Apprendre à reconnaitre un “tufa”
Tenenbaum et al. 2010
LITIS Univ Rouen Normandie
23/∞
Reconnaissance d’une forme géométrique
Apprendre à reconnaitre un “tufa”
Tenenbaum et al. 2010
LITIS Univ Rouen Normandie
23/∞
Mécanisme d’apprentissage
Extraction de caractéristiques
l’image est représentée par un ensemble de caractéristiques
1
ingénierie : construction manuelle de “bonnes” representations.
2
apprentissage : La machine apprend les représentations.
Apprentissage supervisé
On fournit à la machine un ensemble de couples (caractéristiques, classe)
La machine apprend une règle permettant d’attribuer un mot à une
nouvelle image qu’elle n’a jamais vu
On choisit (par essai-erreur) le bon espace d’hypothèses/algorithmes.
LITIS Univ Rouen Normandie
24/∞
Apprentissage statistique supervisé
Modèle mathématique pour apprendre la relation de dépendance entre
le type d’objet et les caractéristiques
Le modèle : une règle de décision paramétrée qui, à un ensemble de
caractéristiques donné, associe un nom d’objet ( classification)
On ajuste les paramètres de cette règle de sorte à ce que la règle
I
I
prédise bien sur les données d’apprentissage
soit simple
Tufa
Règle
de
décision
Tufa
Non tufa
Non tufa
Non tufa
??
Tufa
??
LITIS Univ Rouen Normandie
25/∞
Apprentissage supervisé : Séparateur à Vaste Marge
Principe
Trouver un plan qui sépare correctement 2 familles d’objets
Choisir celui est le plus robuste à la variation des données
y
x
LITIS Univ Rouen Normandie
26/∞
Apprentissage supervisé : Séparateur à Vaste Marge
Principe
Trouver un plan qui sépare correctement 2 familles d’objets
Choisir celui est le plus robuste à la variation des données
y
x
LITIS Univ Rouen Normandie
26/∞
Apprentissage supervisé : Séparateur à Vaste Marge
Principe
Trouver un plan qui sépare correctement 2 familles d’objets
Choisir celui est le plus robuste à la variation des données
y
x
LITIS Univ Rouen Normandie
26/∞
Apprentissage supervisé : Séparateur à Vaste Marge
Principe
Trouver un plan qui sépare correctement 2 familles d’objets
Choisir celui est le plus robuste à la variation des données
y
x
Séparateur à vaste marge : propriétés
Problème mathématique “simple”
Apprenable avec des millions de données d’apprentissage
LITIS Univ Rouen Normandie
26/∞
Regularized Empirical Risk Minimization problem
The big picture for linear model
Labeled data : xi ∈ Rd , yi = {+1, −1}, i = 1, · · · , n
From input space to feature space : x → Φ(x)
Goal: predict y from x with a linear model f (x) = w T Φ(x)
Learn w from optimization problem :
P
T
λΩ(w )
minw
i `(yi , w Φ(xi )) +
training error
+ Regularization
Regularization
Transfer to the optimization problem some prior knowledge about the
function we look for (margin, smoothness, sparsity, channel sparsity,
...)
LITIS Univ Rouen Normandie
27/∞
Typical loss functions and regularizers
Examples of loss functions
Examples of regularizers
I
I
I
2
Ω(w ) = kw
P k : we want w to have small values
Ω(w ) = k |wk | : we want w to be sparse small i.e many entries of
w = 0 →Pfeature selection
Ω(w ) = g ∈G kwGg k2 : we want group of features to be sparse.
Most discriminative classifiers use a combination of these loss
functions and regularizers (e.g SVM, LDA)
LITIS Univ Rouen Normandie
28/∞
How does SVM work
Projects training set into a high dimensional space H using a mapping
Φ(x). In space H, build a linear classifier
f (x) = sign(hw , Φ(x)iH + b)
φ(.)
Input space
φ( )
φ( )
φ( ) φ( ) φ( )
φ( )
φ( )
φ( )
φ( ) φ( )
φ( ) φ( )
φ( )
φ( ) φ( )
φ( )
φ( )
φ( )
Feature space
LITIS Univ Rouen Normandie
29/∞
How does SVM work
Projects training set into a high dimensional space H using a mapping
Φ(x). In space H, build a linear classifier
f (x) = sign(hw , Φ(x)iH + b)
... that maximizes the margin m while classifying correctly most
examples. ⇒ L2 norm regularizer + Hinge loss function
Class 2
Class 1
m
LITIS Univ Rouen Normandie
29/∞
The optimization problem in the general case
Solve
X
1
kw k2H + C
max(0, 1 − yi (hw , φ(xi )i + b))
w ∈H,b 2
min
i
or equivalently
minw ∈H,b,ξi
with
P
1
2
i ξi
2 kw kH + C
yi f (xi ) ≥ 1 − ξi ∀i,
ξi ≥ 0 ∀i
Class 2
Class 1
LITIS Univ Rouen Normandie
30/∞
Kernel trick
w=
P
aj Φ(xj )
The data appears only through inner product hΦ(xi ), Φ(xj )i
Forget about Φ(x), use a kernel function K (x, y ) that acts as an inner
product hφ(xi ), φ(xj )i in some space.
The decision function
X
f (x) = sign(
aj K (x, xj ) + b)
j
Classical kernels
linear kernel (original space)
polynomial kernel
gaussian kernel
LITIS Univ Rouen Normandie
31/∞
Kernel trick
Intuitions on the kernel
kernel defines the space where you are looking for the decision function
kernel defines a measure of similarity of the data
Features
kernel can be designed according to own data
kernels exist for non-vectorial objects like graphs
Performance of SVM depend on the kernel
Kernel can be combined
LITIS Univ Rouen Normandie
32/∞
Why is (used to be) SVM popular
Sound theorical foundations (Vapnik’s theory)
Good performances in real applications
Nice computational properties (No local minima, sparse
representations, large-scale)
Robust in high dimension
Can handle non-vectorial objects
LITIS Univ Rouen Normandie
33/∞
Plan
1
Une brève introduction de l’apprentissage automatique
2
Etude de cas
Cas d’école : reconnaître des “tufa” avec des SVMs
Reconnaître un objet dans une image par deep learning
Deep Learning = Representation learning
Approche classique de la reconnaissance d’objets dans les images
Caractéristiques fixes et construites obtenues par ingénierie
Classifieur optimisable
Représentation
Classifieur
Feature learning/deep learning
Caractéristiques et Classifieur optimisables
Représentation
apprenable
Classifieur
Modèle classique : reseau de neurones convolutionnels
LITIS Univ Rouen Normandie
35/∞
Reseaux de neurones
Principe
combiner des fonctions élementaires pour former des fonctions
complexes
apprendre les liens entre fonctions simples par apprentissage
Analogie très simpliste
fonction élementaire = neurone
connexion entre neurone = synapse
LITIS Univ Rouen Normandie
36/∞
Le modele mathématique
Definit un hyperplan
x2
x1 , w 1
x2 , w 2
...
wtx + b = 0
h
y = ϕ(w t x + b)
xp , w p
x1
1, b
x vecteur d’entrée
w poids, b biais
1
ϕ fonction d’activation
y sortie
0
ϕ(t) = tanh(t)
LITIS Univ Rouen Normandie
−1
−5
0
37/∞
5
Structure de réseaux pour la reconnaissance d’objets
Reseaux multi-couches
completement connectés : entrée : 200 × 200, 1000 neurones en
couches cachées ⇒ 40M de paramètres
connections locales avec un champ de vision 10 × 10 pour 1000
neurones ⇒ 100k de paramètres
Les connections locales prennent en compte des informations
structurelles locales
LITIS Univ Rouen Normandie
38/∞
Réseaux de neurones convolutionnels
Structure et propriétés
convolution : ai,j =
P
k,l
wk,l xi−k,j−l + b et activation φ(ai,j )
partage de poids : le même filtre est utilisé sur toute l’image
invariance en translation
reduction de la complexité : 10 filtres de taille 10 × 10 ⇒ 1010
paramètres
LITIS Univ Rouen Normandie
39/∞
Réseaux de neurones convolutionnels (2)
Multiples filtres
detection de motifs multiples
les réponses des filtres au meme patch forme un vecteur de
caractéristiques pour le patch
Agrégation (Pooling)
Evalue le meilleur match entre le filtre et le patch analysé dans le voisinage
de l’agrégation ⇒ invariance locale
LITIS Univ Rouen Normandie
40/∞
Réseaux de neurones convolutionnels profonds
Apprentissage par descente de gradient (stochastique)
Rétro-propagation du gradient (chain rule)
LITIS Univ Rouen Normandie
41/∞
OCR: the MNIST database (Y. LeCun, 1989)
LITIS Univ Rouen Normandie
42/∞
The caltech 101 database (2004)
101 classes
30 training images per category
...and the winner is NOT a deep network
I
dataset is too small
LITIS Univ Rouen Normandie
43/∞
Deep architecture lessons from caltech 101 (2009)
Rabs Rectification Layer
N Local Contrast Normalization Layer
PA Average Pooling and Subsampling Layer
in What is the Best Multi-Stage Architecture for Object Recognition? Jarrett et al, 2009
LITIS Univ Rouen Normandie
44/∞
The image net database (Deng et al., 2012)
ImageNet = 15 million labeled high-resolution images of 22,000 categories.
Large-Scale Visual Recognition Challenge (a subset of ImageNet)
1000 categories.
1.2 million training images,
50,000 validation images,
150,000 testing images.
www.image-net.org/challenges/LSVRC/2012/
LITIS Univ Rouen Normandie
45/∞
A new fashion in computer vision
2015 5%, 2016 : 3%
Y. LeCun StatLearn tutorial
LITIS Univ Rouen Normandie
46/∞
Deep architecture and the image net
The architecture of the CNN [Krizhevsky, Sutskever, Hinton, 2012]
60 million parameters
using 2 GPU
regularization
I
I
I
data augmentation
dropout
weight decay
Learning Deep architecture
min
W ∈IRd
n
X
kf (xi , W ) − yi k2 + λkw k2
i=1
d = 60 × 106
n = 1, 200 000 ++
λ = 0.0005
f is a deep NN
Y. Bengio tutorial
LITIS Univ Rouen Normandie
48/∞
Then a m. occurs: learning internal representation
Y. LeCun StatLearn tutorial
LITIS Univ Rouen Normandie
49/∞
Deep architecture: more contests and benchmark records
speech (phoneme) recognition,
automatic translation,
Optical Character Recognition (OCR),
ICDAR Chinese handwriting recognition benchmark,
Grand Challenge on Mitosis Detection, Road sign recognition
LITIS Univ Rouen Normandie
50/∞
Beyond recognition : Captioning challenge
The model is mixture of two types of neural networks
CNNs recognize/localize objects in images
Recurrent Neural Networks align object in images and words in
sentence
Appropriate cost function
LITIS Univ Rouen Normandie
51/∞
Beyond recognition : Captioning challenge - examples of
results
black and white dog jumps over bar.
a young boy is holding a baseball bat.
http://cs.stanford.edu/people/karpathy/deepimagesent/generationdemo/
LITIS Univ Rouen Normandie
52/∞
Machine/Deep learning : Comment ça marche ?
Programmation par l’exemple (et beaucoup - des méga données)
un bon critère :
I
I
I
intégre des connaissances a priori
ajustement aux données
un ou des mécanismes de régularisation
une bonne procédure d’optimisation
des ressources informatiques suffisantes
LITIS Univ Rouen Normandie
53/∞
Quelques prédictions... à propos du futur
Applications
I
I
I
I
assistant personnel
aide aux diagnostics
sciences des données
...
Outils pour l’apprentissage
I
I
l’apprentissage sans paramètres
(off-the-shelf)
passage à l’échelle (4v - big data mégadonnées)
Algorithmes d’apprentissage
I
I
optimisation (mégadonnées, non
convexe)
apprendre à apprendre (transfert)
Théorie de l’apprentissage
LITIS Univ Rouen Normandie
54/∞
Pour en savoir plus
livres
I
I
I
I
I
Bishop, C. M. 1995. Neural Networks for Pattern Recognition. Oxford: Oxford
University Press.
Duda, R. O., P. E. Hart, and D. G. Stork. 2001. Pattern Classification, 2nd ed.
New York: Wiley.
Hastie, T., R. Tibshirani, and J. Friedman. 2001. The Elements of Statistical
Learning: Data Mining, Inference, and Prediction. New York: Springer.
A. Cornuéjols & L. Miclet, "L’apprentissage artificiel. Concepts et algorithmes".
Eyrolles. 2 ème éd. 2010.
Y. Bengio, “Deep Learning”, MIT Press, 2017
conférences
I
xCML, NIPS, COLT, séminaire SMILE, Paris Machine Learning
Applications Group
revues
I
JMLR, Machine Learning, Foundations and Trends in Machine
Learning, machine learning survey http://www.mlsurveys.com/
Téléchargement