Cours 3 - apprentissage automatique copy
Transcription
Cours 3 - apprentissage automatique copy
1 Apprentissage Automatique Réseaux de neurones artificiels Apprentissage non-supervisé Apprentissage supervisé Apprentissage par renforcement Nicolas Bredèche Professeur des Universités, UPMC [email protected] UE IARO - L3 - UPMC - Mise à jour: 7 avril 2016 2 Réseaux de Neurones Artificiels Qu’est ce qu’un neurone? 3 En pratique: un neurone artificiel n’est qu’inspiré du neurone réel. Qu’est ce qu’un neurone artificiel? • La forme la plus simple: le neurone formel • Poids synaptiques • excitation, inhibition • fonction de Heaviside • Fonction d’activation [McCulloch, Pitts, 1943] 4 Perceptron • Perceptron • • • 5 [Rosenblatt, 1957] w0 w1 Neurones formels w2 Ajout d’un neurone de biais Fonction d’activation non-linéaire et dérivable • Calcul de l’activité d’un neurone: x1 w1 x2 w2 x3 w3 ∑ f a • Notation: ‣ ‣ x : activité interne du neurone (ie. avant fonction d’activation) a : activité du neurone en sortie (ie. après fonc. d’activation) Variantes • Fonctions d'agrégation / de combinaison • • Combinaison linéaire des entrées (cf. transp. précédent) Radial Basis Function (RBF) ‣ norme euclidienne de la différence entre les vecteurs d’entrées • Fonctions d’activation • • • • Heaviside (ie. non-linéaire, non dérivable) Linéaire (ie. équivalent à une matrice de transformation) Sigmoïde, Tangente hyperbolique (ie. non-linéaire, dérivable) Gaussienne (ie. non-linéaire, dérivable) 6 Topologie • Réseaux à propagation directe • [“feed-forward NN”] À chaque instant : F:ℜn⇒ℜm • Réseaux récurrents • 7 [“recurrent NN”] À chaque instant : l’activation de chaque neurone à t peut dépendre: ‣ ‣ des entrées de l’état du réseau à t-1 Espace de recherche Question: qu’est ce qui peut être modifié dans un réseau? • Paramètres • • Poids des arcs • • Ajout/suppression des arcs Paramètres de la fonction d’activation • Topologie Ajout/suppression des noeuds 8 Théorie et pratiques 9 • Résultats théoriques • approximateur universel ‣ ‣ une couches “cachée” suffit, si suffisamment de neurones. régression [Cybenko 1988-89], classification [Hornik 1989] • Propriétés empiriques • • • Bonne résistance au bruit Bonnes propriétés de généralisation Meilleur si domaine plutôt convexe ‣ ‣ « Si A et B positifs, tout le segment AB est positif » Sensible lors de dépendances sur les entrées • • P.ex. le nombre d’entrées à 1 est paire ou impaire ? Un perceptron mono-couche n’y arrive pas; un PMC difficilement Repères historiques • • • • Inspiration biologique: « neuro-mimétisme » • • 1943 : neurone formel de McCulloch&Pitts 1949 : Règle de Hebb Première époque (1959-1969) [rosenblatt 59, Widrow&Hoff 60, Minsky&Papert 69] • • 1959 : perceptron et règle d’apprentissage 1969 : Limites du perceptron (aux problèmes linéairement séparables) Seconde époque (1986-…) [Rumelhart&McClelland 86][LeCun 86][Werbos 74][Parker 82] • • • 1986 : Perceptron Multi-Couches (pour les problèmes linéairement non-séparables) Algorithme de rétro-propagation du gradient pour les PMC Algorithme d’apprentissage des poids et de la structure Aujourd’hui (~2000-...) • • • Dynamique interne et prédiction de séries temporelles (ESN, LSM) Optimisation paramétrique et non-paramétrique des réseaux de neurones Réseaux de neurones profonds (Deep NN) et/ou convolutionnel 10 11 Apprentissage Non-Supervisé Approches neuronales Définition • Apprentissage non supervisé • • • On ne dispose que de données brutes On souhaite “organiser” ou stocker ces données ‣ ‣ organiser: construire des catégories stocker: imiter la mémoire et le mécanisme de rappel Applications: découvrir des groupes naturels, faciliter la visualisation, etc. 12 Hebbian learning rule [Hebb, 1949] • • 13 Règle d’apprentissage non supervisée (règle de Hebb) • Renforce les connections ‣ ‣ entre neurones proches, actifs au même moment Mise à jour des poids: ) (simplification: seuil d’apprentissage • taux d’apprentissage intervalle de temps Remarques: • Mécanisme d’association (renforcement stimulus-réponse) Réseaux de Hopfield [1982] • • réseaux de neurones (souvent binaire) complètement connecté (connexions excitatrice ou non, asymétrique) Mémoire associative • • stockage d’un motif (ie. encode un attracteur) rappel du motif à partir d’une amorce (ie. convergence) Applications • • Etude de la mémoire associative Reconnaissance/identification d’objets/lettres/scènes, reconstruction de parties manquantes, etc. 14 Carte Auto-Organisatrice [Kohonen, 1988] 15 “Self-Organizing Maps” ou “Kohonen Maps” compression ...... . .. ............ . .. espace RVB comment identifier une palette réduite à partir d’un grand échantillon de couleur? Carte Auto-Organisatrice [Kohonen, 1988] “Self-Organizing Maps” ou “Kohonen Maps” • Objectif exemple: compression de données RVB sur 100 valeurs Les neurones sont positionnés sur une grille 2D Chaque neurone code 3 valeurs (R,V,B de référence) • regroupement de données proches (auto-organisation) • applications: compression, visualisation, etc. • Principes • • • représentation synthétique de données consacre plus de ressources pour les régions plus dense notion de voisinage sur un plan 2D 16 Carte Auto-Organisatrice [Kohonen, 1988] 17 “Self-Organizing Maps” ou “Kohonen Maps” • Algorithme • • Pour chaque entrée on calcule le BMU (« best matching unit ») Mise à jour des valeurs de chaque unité: ‣ ‣ ‣ ‣ alpha: taux d’apprentissage (décroissance monotone dans le temps) omega: pondère par la distance p/r au « Best Matching Unit » D(t): valeurs de l’entrée actuellement traitée Wv(t): valeur de l’unité neuronale à mettre à jour ➡ Interprétation: le BMU « attire » les autres unités 18 Apprentissage Supervisé Approches neuronales Définition • 19 Apprentissage supervisé • • • On dispose d’exemples positifs et négatifs d’un concept On souhaite apprendre comment étiqueter un nouvel exemple Applications: approximation ou modélisation de fonctions, identification d‘objet/ texte/son, détection des mauvais payeurs, prédiction de séries temporelles, application au contrôle robotique, etc. Apprentissage supervisé • Le problème: classification 20 regression • Une fonction de perte: • Objectif: • Trouver l’hypothèse qui minimise l’erreur de prédiction tel que: Réseaux de Neurones 21 Remarque: c’est valable aussi pour d’autres formalismes... des règles, des arbres de décision, SVM, etc. Calcul de l’erreur dans le perceptron calcul de l’erreur quadratique • Un courbe d’erreur classique: • En abscisse: le nombre d’itérations • En ordonnées: l’erreur 22 Apprentissage 23 • Rétro propagation du gradient de l’erreur • w_ji : poids de l’arc liant le neurone d’entrée j et le neurone de sortie i • x_j : valeur du neurone d’entrée j • a_i : valeur du neurone de sortie i • a*_i : valeur désirée du neurone de sortie i • mu : pas d’apprentissage Limites • Perceptron simple • Problème lorsque les entrées sont inter-dépendantes ‣ calculer XOR, estimer si le nombre d’entrées à 1 est paire, etc. • Un perceptron agit comme un séparateur linéaire • • Théoriquement: approximateur universel • Solution: ajouter une couche cachée! • Mais: il faut définir l’algorithme d’apprentissage ‣ comment estimer l’erreur due aux neurones de la couche cachée? => perceptron multi-couches 24 Perceptron Multi-Couches (MLP) 25 [LeCun, 1984] [Rumelhart et McLelland, 1984][Werbos, 1974][Parker, 1982] neurone de biais neurones de sorties neurones d’entrées neurones de la couche cachée propagation du signal Propriété requise : fonction d’activation non-linéaire et dérivable Perceptron Multi-Couches (MLP) [LeCun, 1984] [Rumelhart et McLelland, 1984][Werbos, 1974][Parker, 1982] • Propriétés requises : • couche cachée: fonction d’activation non-linéaire et dérivable • En pratique: • couche cachée: ‣ fonction sigmoïde ‣ tangente hyperbolique • couche de sortie : fonction linéaire equiv. à : dérivé: • Remarques • paramètre clé: le nombre de neurones cachés ‣ Remarque: évidemment, la topologie, le nombre de couche, ont aussi une influence, mais sont aussi plus difficile à régler. 26 Propagation du signal dans un MLP 27 On utilise une fonction d’activation linéaire w16 w21 w1 w15 w(…) Biais = 1.0 x1 x2 x3 x4 Rétro-propagation de l’erreur rétropropagation de l’erreur [LeCun, 1984] [Rumelhart et McLelland, 1984][Werbos, 1974][Parker, 1982] w16 w21 w1 w15 w(…) Biais = 1.0 x1 x2 x3 x4 «back-propagation algorithm» 28 Mise en pratique : propagation et rétro-propagation sortie souhaitée: 1 niveau “i” ? -0.5 0.4 -0.6 niveau “j” flinéaire ? ? 0.6 0.4 0.5 0.8 1 0 fsigmoide - apprentissage de la fonction OU - ici: exemple ”1 OU 0” - sortie attendue: “1” Etude pratique: 1. propagation du signal 2. rétro-propagation de l’erreur Remarque: en pratique, il faudrait faire cela un grand nombre de fois pour chaque exemple de la base d’apprentissage. biais niveau “k” Imaginons: Objectif: Régler les poids du réseau. -0.1 -1.6 1 activation: sigmoide pour la couche cachée, et linéaire pour les sorties Ici, on fixe mu=0.1 (pas d’apprentissage) dérivé sigmoïde: Etape 1 : propagation du signal sortie souhaitée: 1 niveau “i” -0.47 0.4 -0.6 niveau “j” 1 f(0.5)= -0.1 -1.6 0.62 flinéaire -0.5 ai=1 = 0.4*0.62 + -0.5*0.23 + -0.6 = -0.47 f(-1.2)= 0.23 fsigmoide 0.6 0.4 0.5 0.8 1 0 aj=1 = fsig( 0.6*1 + 0.5*0 + -0.1 ) = fsig( 0.5 ) = 0.62 aj=2 = fsig( 0.4*1 + 0.8*0 + -1.6 ) = fsig( -1.2 ) = 0.23 biais niveau “k” ak=1 = 1 ak=2 = 0 activation: sigmoide 29 pour la couche cachée, et linéaire pour les sorties 32 Etape 2 : rétro-propagation de l’erreur et correction 1.a sortie souhaitée: 1 niveau “i” -0.47 37 δi=1 = flinéaire’(-0.47) * (1 - -0.47) = 1 * 1.47 = 1.47 δ=1.47 1.b -0.6 -0.45 niveau “j” 0.4 0.49 f(0.5)= -0.09 0.62 -0.1 -1.6 δ=0.14 biais 1 niveau “k” = ( 0.62 * 0.38 ) * 0.59 = 0.14 δj=2 = fa’(-1.2) * ( -0.5* 1.47 ) = f(-1.2)= δ=-0.13 0.23 -1.61 0.5 0.5 0.8 0.6 0.4 0.39 0.61 0.8 1 δj=1 = fa’(0.5) * ( 0.4*1.47 ) = ( fa(0.5) * ( 1 - fa(0.5) )*0.59 -0.5 -0.47 2.a wj=1,i=1 = 0.4 + 0.1*1.47*0.62 = 0.49 wj=2,i=1 = -0.5 + 0.1*1.47*0.23 = -0.47 wbias,i=1 = -0.6 + 0.1*1.47*1 = -0.45 2.b 0 wk=1,j=1 = 0.6 + 0.1*0.14*1 = 0.61 wk=2,j=1 = 0.5 + 0.1*0.14*0 = 0.5 wbias,j=1 = -0.1 + 0.1*0.14*1 = -0.09 wk=1,j=2 = 0.4 + 0.1*-0.13*1 = 0.39 wk=2,j=2 = 0.8 + 0.1*-0.13*0 = 0.8 wbias,j=2 = -1.6 + 0.1*-0.13*1 = -1.61 -- rappel: a=f(x) -- f’lin(x)=1 -- sigmoide: ( 0.23 * 0.77 ) * 0.74 = -0.13 Ici, on fixe mu=0.1 (pas d’apprentissage) Protocole expérimental • Protocole d’apprentissage • • • Les exemples sont présentés plusieurs fois ‣ un +/- grand nombre de fois avant convergence Méthode “on-line”: • • tirage au hasard d’un exemple, on calcule une erreur locale application de l’algorithme de rétro-propagation (ie. pour chaque exemple) Méthode “batch”: • • on passe tous les exemples, on calcule une erreur globale application de l’algorithme de rétro-propagation (ie. une seule fois pas passage de la base) 38 Critères de succès fonction cible 39 4 neurones 8 neurones • Compromis mémorisation vs. généralisation • • mémorisation: approximation +/- grossière des exemples • • Base d’apprentissage : exemples utilisés pour l’apprentissage généralisation: risque de sur-apprentissage (= apprendre par coeur) • Méthodologie: Base de test : exemples utilisés pour la validation (ex.: 10-fold cross-validation) image: source transp. A. Cornuejols Dynamique interne • Intérêts • • • • États internes => mémoire Machine de Turing universelle Permet d’aborder les problèmes avec descripteurs temporels Réseaux récurrents • • Type de réseaux • DTRNN (Elman-net, Jordan-net, …), CTRNN Apprentissage • BPTT, RTRL 40 Influence de la topologie 41 • Intérêt: • • Certaines topologies s’avèrent parfois un bon choix • • • • • • • Cascade Correlation (Falhman 1991) ‣ Ex.: Topologies small world (réseaux sociaux), scale-free (internet), ...? Comment exploiter/construire la topologie? Optimal Brain Damage (LeCun) Optimal Brain Surgery (Hassibi & Stork) ... Reservoir computing (2000+) Convolutional neural networks (1990+) Deep neural networks (2000+) illustration: http://www.cs.cornell.edu/boom/2004sp/projectarch/appofneuralnetworkcrystallography/NeuralNetworkCascadeCorrelation.htm 42 Réseaux de neurones convolutionnels exemple : Les codes postaux 43 • Lecun et al. 1989 • Objectif • identifier les codes postaux sur les enveloppes • Méthode • Réseaux de neurones + retro-propagation • Problématique : • Comment entraîner un tel réseau? (trop de poids) • Approche: • entraîner des détecteurs de caractéristiques particulières (2/2) 9760 poids (au lieu de 200000 poids si on connecte tout) 7300 exemples d’apprentissage, 2000 exemples de tests, 99% de précision. 44 “Dave” : autonomous off-road vehicle 45 [LeCun et al., 2003-2004] • Problème d’Apprentissage • • données générées pendant pilotage par un humain apprendre la fonction: f(senseurs)=>actionneurs source: http://yann.lecun.com/ 46 données d’apprentissage (exemple) source: DARPA Final technical report. 2004. http://yann.lecun.com/ “Dave” : autonomous off-road vehicle 47 • Problème d’Apprentissage • • données générées pendant pilotage par un humain apprendre la fonction: f(senseurs)=>actionneurs source: http://yann.lecun.com/ 48 traitement et décision (2 exemples) source: DARPA Final technical report. 2004. http://yann.lecun.com/ 49 Apprentissage par Renforcement 50 • Objectif: • trouver la politique optimale qui maximise la récompense globale • on veut st , (st ) at avec un espérance de gain max. •Notations: •at action optimale à t ; ( at A ) •st état courant à t ; ( st S ) 51 • On souhaite estimer la fonction de valeur V et trouver la politique 𝝅 • Difficultés: exploration vs. exploitation, temporal credit-assignment problem Q-learning • Politique: • greedy, epsilon-greedy, softmax 52 53 Etude de cas: AlphaGO 54 55 Policy network: 13 couches apprentissage: (1) appr. supervisé sur des parties existantes (2) appr. par renf. sur des self-play Value network: entrée: 19x19x48 (48 features) + 1 entrée donnant la couleur du joueur 13 couches + dernière couche avec un seul neurone (fonction d’activation tanh) apprentissage: regression sur les self-play 56 Choix d’un coup à jouer Evaluation: (1) Value Function ; (2) rollout 57 Synthèse Synthèse • Ce qu’on a vu • • • • Réseaux de Neurones Artificiels Apprentissage non-supervisé: Kohonen maps Apprentissage Supervisé: MLP, rétro-propagation Apprentissage par Renforcement: Q-learning ‣ non évoqué ici: robotique évolutionniste ~= policy-search RL 58