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/