ENSIIE - Intelligence Artificielle (RIIA) - 1er cours Benjamin PIWOWARSKI 28 septembre 2015 Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 1 / 53
Introduction Plan 1 Introduction 2 Définitions 3 Les apprentissages 4 Les grandes questions Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 2 / 53
Introduction
Introduction
Introduction
Introduction
Définitions Plan 1 Introduction 2 Définitions 3 Les apprentissages 4 Les grandes questions Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 7 / 53
Définitions Intelligence Artificielle et apprentissage automatique Représentation des connaissances Résolution de problèmes Optimisation Apprentissage automatique (Machine Learning) La reconnaissance des formes Statistiques Optimisation Exploration de données Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 8 / 53
Définitions Plusieurs Définitions Learning is making useful changes in mind [Marvin Minsky, 1985] Learning is any change in a system that allows it to perform better the second time on repetition of the same task or another task drawn from the same population [Herbert Simon, 1983] Learning is the organization of experience [Scott, 1983] Learning is constructing or modifying representations of what is being experienced [Riszard Michalski, 1986] Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 9 / 53
Définitions L Apprentissage Plusieurs définition (écoles) de l apprentissage : Psychologie : comportementalisme, constructivistes,... Théories sur le déroulement/fonctionnement de l apprentissage Cognitivistes : Postulat : Assimilation de l organisme à un ordinateur, à une machine à traiter des informations Apprentissage : Compréhension et développements de modèles Théories écologiques : Postulat : Le comportement dynamique traduit l adaptation du système aux contraintes qui pèsent sur lui Apprentissage : Intégrer de nouveaux états stables Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 10 / 53
Définitions Ordinateurs intelligents (par apprentissage) Problématique : Nous souhaitons avoir des ordinateurs intelligents adaptatifs avec un comportement robuste Programmer de tels comportement est souvent impossible Solution : Par exemple : Intelligence artificielle dans les jeux (scripts) Faire un ordinateur capable de se programmer lui-même à partir d exemples (apprentissage classique / par imitation) à partir de son «expérience» (apprentissage par renforcement) Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 11 / 53
Définitions Quand utiliser l apprentissage? Analyse de données (capteurs, Web) Il n y a pas d expert humain L utilisation d un expert humain est trop couteuse ou trop peu performante La quantité de données est telle qu une analyse manuelle est impossible Les données évoluent rapidement dans le temps Les modèles doivent être adaptés à l utilisateur Les systèmes doivent s adapter facilement à des conditions opérationnelles différentes Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 12 / 53
Définitions Apprentissage automatique (Machine Learning) Différents contextes d apprentissage : L apprentissage supervisé : un expert est employé pour étiqueter correctement des exemple L apprentissage semi-supervisé L apprentissage non-supervisé : Aucun expert n est disponible. L algorithme doit découvrir par lui-même la structure des données. L apprentissage par renforcement : L algorithme apprend un comportement. Exemples de modèles : Les réseaux de neurones Les arbres de décision Les modèles probabilistes Les machines à vecteur de support Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 13 / 53
Les apprentissages Plan 1 Introduction 2 Définitions 3 Les apprentissages Apprentissage supervisé Apprentissage non-supervisé Apprentissage par renforcement 4 Les grandes questions Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 14 / 53
Les apprentissages Apprentissage supervisé Les apprentissages Apprentissage supervisé Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 15 / 53
Les apprentissages Apprentissage supervisé Apprentissage supervisé On considère : Un espace de représentation X Un espace de sortie Y Un ensemble d apprentissage X = ((x 1, y 1 ),..., (x n, y n )) On cherche à apprendre à partir de X une fonction f θ telle que : f θ : X Y θ est l ensemble des paramètres (à apprendre) de la fonction f θ (x) prédit l étiquette y associée à x Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 16 / 53
Les apprentissages Apprentissage supervisé Régression x est un vecteur de taille n y est un nombre réel Exemples : Prédiction de la température Prédiction du cours de la bourse Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 17 / 53
Les apprentissages Apprentissage supervisé Régression Computer science doctorates awarded (US) 2200 2000 1800 1600 1400 1200 1000 800 From http://tylervigen.com 17000 18000 19000 20000 21000 22000 23000 Total revenue generated by golf courses (US)? Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 18 / 53
Les apprentissages Apprentissage supervisé Régression Computer science doctorates awarded (US) 2500 2000 1500 1000 500 From http://tylervigen.com 16000 18000 20000 22000 24000 Total revenue generated by golf courses (US) Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 18 / 53
Les apprentissages Apprentissage supervisé La classification x est un vecteur de taille n - taille 2 dans nos illustrations y est une catégorie : soit 1, soit +1 (classification binaire) un nombre discret de classes Exemples : Binaire : Classification de Spam dans les emails, hausse ou à la baisse de la bourse ; le bien, le mal... Autre : classification de chiffres,... Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 19 / 53
Les apprentissages Apprentissage supervisé La classification : Ensemble d apprentissage Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 20 / 53
Les apprentissages Apprentissage supervisé La classification : Frontière de décision Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 21 / 53
Les apprentissages Apprentissage non-supervisé Les apprentissages Apprentissage non-supervisé Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 22 / 53
Les apprentissages Apprentissage non-supervisé Apprentissage non-supervisé Un espace de représentation X Un espace de sortie Y Un ensemble d apprentissage X = (x 1,..., x n ) On cherche à apprendre à partir de X une fonction f θ telle que : f θ : X Y θ est l ensemble des paramètres (à apprendre) de la fonction Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 23 / 53
Les apprentissages Apprentissage non-supervisé Exemple : Clustering Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 24 / 53
Les apprentissages Apprentissage non-supervisé Source : Tong Lin, Hongbin Zha, "Riemannian Manifold Learning," IEEE Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 25 / 53 Exemple : Apprentissage de représentation
Les apprentissages Apprentissage par renforcement Les apprentissages Apprentissage par renforcement Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 26 / 53
Les apprentissages Apprentissage par renforcement Apprentissage 1 Apprentissage supervisé = on connait la bonne réponse 2 Apprentissage non supervisé = on groupe les objets 3 Apprentissage semi-supervisé =... 4 Apprentissage par renforcement = la supervision («récompense») arrive après une séquence de décision 1 Un cadre d apprentissage naturel 2 Plus dur que l apprentissage supervisé Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 27 / 53
Les apprentissages Apprentissage par renforcement Contexte Ce contexte décrit des situations très générales est diverses : Un robot qui atterrit sur la lune Un logiciel qui joue eux échecs (au go, au backgammon, au poker,...) Un hélicoptère qui apprend à voler Un joueur de foot... Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 28 / 53
Les apprentissages Apprentissage par renforcement Cadre théorique : Markov Decision Process Nous définissons un MDP comme un quadruplet {S, A, P, R} : States S est l ensemble d états Actions A est l ensemble des actions. On note A(s) l ensemble des actions dans l état s tel que A(s) A Probability P est la fonction de transition : P : S A S [0; 1] P(s, a, s ) = P(s = s t+1 s = s t, a t = a) Reward R est la fonction de récompense (reward). R : S A S R telle que R(s, a, s ) = E[r t s t = s, s t+1 = s, a t = a] Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 29 / 53
Les grandes questions Plan 1 Introduction 2 Définitions 3 Les apprentissages 4 Les grandes questions Question 1 : Quelle fonction utiliser? Question 2 : Comment trouver la meilleure fonction f? Comment évaluer la qualité de f θ? Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 30 / 53
Les grandes questions Apprentissage Question 1 Quelle fonction f θ utiliser - quelle hypothèse? Question 2 Comment trouver les valeurs de θ les meilleures? Question 3 Quelle est la qualité du modèle trouvé? Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 31 / 53
Les grandes questions Question 1 : Quelle fonction utiliser? Les grandes questions Question 1 : Quelle fonction utiliser? Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 32 / 53
Les grandes questions Question 1 : Quelle fonction utiliser? Introduction Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 33 / 53
Les grandes questions Question 1 : Quelle fonction utiliser? Apprentissage Plein de modèles existent KNN Arbres de décision Réseaux de neurones Machines à vecteurs de support Réseaux Bayésiens Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 34 / 53
Les grandes questions Question 1 : Quelle fonction utiliser? Apprentissage Plein de modèles existent Les différences entres les modèles existants sont : Complexité (mémoire / CPU) Type d entrée/sortie (vecteur, séquences, structures,...) Méthode d optimisation sous-jacente (optimisation convexe, optimisation non-convexe) Performance Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 35 / 53
Les grandes questions Question 1 : Quelle fonction utiliser? Fonctions paramétriques Dans la majorité des cas, F est une famille paramétrique θ R n définit totalement une fonction dans F Polynomes de degré n θ 0 + θ 1 x + θ 2 x 2 +... + θ n x n Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 36 / 53
Les grandes questions Question 2 : Comment trouver la meilleure fonction f? Les grandes questions Question 2 : Comment trouver la meilleure fonction f? Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 37 / 53
Les grandes questions Question 2 : Comment trouver la meilleure fonction f? Critère d apprentissage Critère d apprentissage Principe : Trouver les paramètres qui, sur l ensemble d apprentissage minimisent (ou maximisent) un critère donné (problème d optimisation). θ = argmin f F R(f, X ) Quel critère? Maximum de vraisemblance Risque (fonction de coût)... Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 38 / 53
Les grandes questions Question 2 : Comment trouver la meilleure fonction f? Note : Risque empirique et théorique Risque théorique : c est ce qu on voudrait connaître... ˆ R 0 (f ) = (f (x), y)p(x, y)dx x,y f 0 = argmin f F R 0 (f ) Risque empirique : c est ce qu on observe! R(f, X ) = 1 N N (f (x i ), y i ) i=1 f = argmin f F R emp (f ) Conséquence : il faut contrôler l apprentissage... Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 39 / 53
Les grandes questions Question 2 : Comment trouver la meilleure fonction f? Cas des fonctions paramétriques Si F est une famille paramétrique... le coût s écrit R(θ, X ), ou plus simplement R(θ) on peut trouver les paramètres θ par descente de gradient Principe itératif : θ R (θ ) = 0 θ est un extremum (ou un col) on part de θ 0 à chaque itération, θ k = θ k 1 ɛ θ R (θ k 1 ) Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 40 / 53
Les grandes questions Question 2 : Comment trouver la meilleure fonction f? Trouver les meilleurs θ (descente de gradient) Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 41 / 53
Les grandes questions Comment évaluer la qualité de f θ? Les grandes questions Comment évaluer la qualité de f θ? Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 42 / 53
Les grandes questions Comment évaluer la qualité de f θ? Evaluation Problème non trivial Evaluation sur les données d apprentissage? NON Evaluation sur des nouvelles données étiquetées : Prendre la base d apprentissage La couper en deux Entraîner sur une partie (train) Tester sur une autre (test) Problème : réduction du nombre d exemples d apprentissage Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 43 / 53
Les grandes questions Comment évaluer la qualité de f θ? Validation croisée Validation croisée La validation croisée ( cross-validation ) est une méthode d estimation de fiabilité d un modèle fondé sur une technique d échantillonnage Valeurs typiques : K=3, 10 Cas extrême : leave-one-out Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 44 / 53
Les grandes questions Comment évaluer la qualité de f θ? Hyper-paramètres C est quoi? Degré maximum d un polynôme Pas de gradient... On ne peut pas utiliser le jeu de test! Découpage du jeu d entraînement en deux : 1 Jeu d entraînement du modèle 2 Jeu de validation Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 45 / 53
Les grandes questions Comment évaluer la qualité de f θ? Sous- et sur-apprentissage Sous-apprentissage Le sous-apprentissage est le fait qu un modèle n a pas la capacité à bien modéliser les données d apprentissage Sur-apprentissage Le surapprentissage ou overfitting (apprentissage par coeur) provient du fait que de par sa trop grande capacité à stocker des informations, une structure dans une situation de surapprentissage aura de la peine à généraliser les caractéristiques des données. Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 46 / 53
Les grandes questions Comment évaluer la qualité de f θ? Sous- et sur-apprentissage Erreur mesurée Complexité Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 46 / 53
Les grandes questions Comment évaluer la qualité de f θ? Différents types de fonction Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 47 / 53
Les grandes questions Comment évaluer la qualité de f θ? Sur/Sous apprentissage Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 48 / 53
Les grandes questions Comment évaluer la qualité de f θ? Sur/Sous apprentissage Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 48 / 53
Les grandes questions Comment évaluer la qualité de f θ? Théorie de Vapnik-Chervonenkis (VC) Théorie mathématique et informatique (1960-1990, Vladimir Vapnik et Alexey Chervonenkis) : contrôle de la capacité d apprentissage automatique Principal concept = la dimension VC, le plus grand nombre de points que le modèle peut apprendre à classifier correctement (quelque soit leurs labels) Principal résultat théorique, la borne sur l erreur de test (N nombre d exemples h la dimension VC, η quelconque) ( P test error training error + ) h(log(2n/h) + 1) log(η/4) = 1 η N Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 49 / 53
Les grandes questions Comment évaluer la qualité de f θ? Théorie de Vapnik-Chervonenkis (VC) eta= 0.01 m 0.0 0.1 0.2 0.3 0.4 0.5 0.6 N=10,000 N=100,000 N=1,000,000 N=10,000,000 0 200 400 600 800 1000 VC Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 49 / 53
Pour finir... Plan 5 Pour finir... Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 50 / 53
Pour finir... Qui suis-je? Benjamin Piwowarski Chercheur CNRS au LIP6 (Université Paris 6) Spécialisé en accès à l information Applications de l apprentissage statistique Méthodes d apprentissage de représentation pour le texte & les graphes Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 51 / 53
Pour finir... But du cours Pour vous : Connaissance que ça existe Connaissance des champs d applications Connaissance des problématiques de base Connaissance des modèles de base Pour moi : Aller à Evry...? Trouver des stagiaires Trouver des thésards Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 52 / 53
Pour finir... Plan du cours 3 jours 1 Introduction, K-NN, arbres de décision 2 Réseaux de neurones 3 Apprentissage de représentation Evaluation 1 rendu de TP (jours 1 & 2) Une présentation d articles (jour 3) Benjamin PIWOWARSKI IA - 1er cours 28 septembre 2015 53 / 53