IFT 608 / IFT 702 – Planification en intelligence artificielle Apprentissage par renforcement profond (Deep Reinforcement Learning) Mariane Maynard.

Slides:



Advertisements
Présentations similaires
© 2006 Les Éditions de la Chenelière inc., La gestion dynamique: concepts, méthodes et applications, 4 e édition1/14 Chapitre 4 : Le gestionnaire en tant.
Advertisements

Nouveau programme de 3ème Probabilités Document de travail – Académie de Rouen
FSA/INGI - 5 septembre 2006 Application du Reinforcement Learning à un jeu de Markov de type évasion-poursuite Lionel Dricot Promoteur : Professeur Marco.
Cours COMPOSANTES DES VECTEURS Dimitri Zuchowski et Marc-Élie Lapointe.
La séquence pédagogique : Définition Période d’apprentissage dont le but est de permettre à l’apprenant d’acquérir un savoir faire nouveau, ou de le consolider.
LES PRATIQUES D’EVALUATION EN SVT DEFINITIONS OBJECTIFS MODALITES
Années 90’ > Renaissance de l’IA avec le Machine Learning
L’évaluation positive
épreuve E6 questionnement possible
Sylvain Hamel - Analyste
Valeurs de toutes les différences observables sous H0
Je fabrique mon stabile
IFT 702 – Planification en intelligence artificielle Langage PDDL
Division de la Planification et de la Recherche en Collecte
1.3 COORDONNÉES DES POINTS
MOT Éditeur de modèles de connaissances par objets typés
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Section 1.1 : Unités du système international (SI)
IFT 615 – Intelligence artificielle Recherche heuristique
Javadoc et débogueur Semaine 03 Version A16.
Votre succès est notre but !
Plans d’expériences: Plans factoriels
Plans d’expériences: Plans factoriels.
STRATÉGIES ET INSTRUMENTS D´ÉVALUATION
Technologies de l’intelligence d’affaires Séance 14
Technologies de l’intelligence d’affaires Séance 12
Semaine #4 INF130 par Frédérick Henri.
Le choix optimal.
Tableau de bord des risques
Techniques du Data Mining
INTELLIGENCE ARTIFICIELLE
INTELLIGENCE ARTIFICIELLE
Apprentissage profond Q
Méthode Taguchy Analyse de la variance Anavar
INTELLIGENCE ARTIFICIELLE
1.2 dénombrement cours 2.
Regroupement contextuel de cimes dans les images aéroportées
Rapport sur l'état d'avancement
Réseaux de neurones appliqués à la reconnaissance de caractères
LOG770 Annexe A Éléments de probabilité
Exercice : le jeu. Vous devez concevoir l’algorithme permettant de jouer avec votre calculatrice : elle détermine au hasard un nombre caché entier entre.
Des mathématiques derrière l’intelligence artificielle
Chapitre 3 : Caractéristiques de tendance centrale
La mission SUIVI DE GESTION
Responsable Petite et Moyenne Structure
Adaptive Neuro Fuzzy Inference System (ANFIS)
Les essentiels de la planification stratégique
CHAPTER 2: Apprentissage supervisé
CRITERES DE QUALITE 1) PRECISION 2) RAPIDITE 3) AMORTISSEMENT
A l’aide du triangle pédagogique de Jean Houssaye
Modélisation objet avec UML
Comment penser une organisation ?
Information sur survies des patients en dialyse péritonéale, en France métropolitaine dans le RDPLF Année 2016.
Lois de Probabilité Discrètes
Les opérations intellectuelles et le dossier documentaire
Froduald Kabanza et Hugo Larochelle
Bilan de projet pour [Nom du projet]
Le code de Huffman: est une méthode de compression statistique de données qui permet de réduire la longueur du codage d'un alphabet. Le code de Huffman.
DEVELOPPER LE PANIER MOYEN
Présentation 9 : Calcul de précision des estimateurs complexes
MATHÉMATIQUES FINANCIÈRES I
Reconnaissance de formes: lettres/chiffres
IFT313 Introduction aux langages formels
INTELLIGENCE ARTIFICIELLE
Les différents modes de démarrage de Windows
Chapter 11: Récursivité Java Software Solutions Second Edition
INTELLIGENCE ARTIFICIELLE
IFT 615 – Intelligence artificielle Consignes pour l’examen final
MOT Éditeur de modèles de connaissances par objets typés
Séquence 1:Analyse du système d’information comptable
Transcription de la présentation:

IFT 608 / IFT 702 – Planification en intelligence artificielle Apprentissage par renforcement profond (Deep Reinforcement Learning) Mariane Maynard Département d’informatique Université de Sherbrooke planiart.usherbrooke.ca/cours/ift608 Projet StarCraft Reconnaissance de plan peut améliorer stratégie d’un Game AI Intéresse à l’apprentissage dans les jeux (deep learning) Revue de littérature m’a amené à m’intéresser à l’apprentissage par renforcement profond

Conférence sur l’éthique en IA ce midi CONFÉRENCIER : Martin Gibert est chercheur en éthique de l'IA à l'Université de Montréal (affilié à l'IVADO et au CRÉ) et coordonnateur de la Déclaration de Montréal TITRE : Déclaration de Montréal pour un développement responsable de l’intelligence artificielle RÉSUMÉ : En novembre dernier, lors d'un forum au Palais des congrès de Montréal, un comité multidisciplinaire de chercheurs a proposé sept principes pour encadrer un développement responsable de l'Intelligence artificielle. Cette déclaration de Montréal demeure cependant ouverte et révisable. Que dit exactement la déclaration? Autour de quelles valeurs s'articule-t-elle? Comment participer à sa co-construction? Martin Gibert présentera la déclaration tout en faisant un rapide panorama des principaux enjeux éthiques soulevés par l'IA. DATE :          Jeudi 22 février 2018 HEURE :       12 h 30 à 13 h 30 LOCAL :        D2-1060 IFT702 Mariane Maynard

Sujets couverts Processus de décision de Markov (MDP) – Rappel IFT615 Apprentissage automatique/supervisé/profond – Rappel IFT615 Algorithmes d’apprentissage par renforcement (profond) Apprentissage par imitation (Imitation Learning) Méthodes basées sur les politiques (policy gradients/based methods) Méthodes basées sur valeurs (value-based methods) Méthodes basées sur les modèles (model-based methods) Étude de cas – AlphaGo Zero IFT702 Mariane Maynard

Processus de décision Markovien Rappel IFT615 Processus de décision Markovien IFT702 Froduald Kabanza

Problèmes de planification Statique vs. Dynamique Prévisible vs. Imprévisible Environment Actions Observabilité Complète vs. Partielle Vs. Aucune Prochaine action? Discrètes vs. Continues Déterministes vs. Stochastiques Ce que je vous avez vu jusqu’à maintenant c’est… Capteurs Parfaits vs. Bruités Actions Percepts IFT702 Froduald Kabanza 5

Planification classique Statique Prévisible Environment Actions Observabilité Complète Prochaine action? Discrètes Déterministes Capteurs Parfaits Des algorithmes de planification dans un monde idéal Actions Percepts IFT702 Froduald Kabanza 6

Type d’environnement (MDP) Statique vs. Dynamique Prévisible vs. Imprévisible Environment Actions Observabilité Complète vs. Partielle Vs. Aucune Prochaine action? Discrètes vs. Continues Déterministes vs. Stochastiques Un rappel … Dans la vraie vie, on peut difficilement supposer que les actions sont déterministes, à moins d’être en mesure de prendre en compte les multiples facteurs externes et leur influence sur le monde environnant Capteurs Parfaits vs. Bruités Actions Percepts IFT615 Froduald Kabanza 7

Motivation – Planification avec des actions ayant des effets incertains Prochaine action? Room 1 Room 4 Room 2 Actions: E: Go east W: Go west S: Go south N: Go north Supposons le problème de calculer une trajectoire pour un robot … 0 1 2 3 …. Room 3 But 0 1 2 3 …. IFT 615 Froduald Kabanza

Motivation – Planification avec des actions ayant des effets incertains Prochaine action? Room 1 Room 4 Room 2 Actions: E: Go east W: Go west S: Go south N: Go north Si l’environnement est déterministe, A* peut trouver une solution 0 1 2 3 …. Room 3 But 0 1 2 3 …. IFT 615 Froduald Kabanza

Motivation – Planification avec des actions ayant des effets incertains Prochaine action? Room 1 Room 4 Room 2 Actions: E: Go east W: Go west S: Go south N: Go north Supposons maintenant qu’il y a des escaliers et que le robot a une certaine probabilité de tomber … On pourrait toujours essayer A* en donnant une fonction de coût des transitions tenant compte de la difficulté posée par les escaliers… 0 1 2 3 …. Room 3 But 0 1 2 3 …. Escalier IFT 615 Froduald Kabanza

Motivation – Planification avec des actions ayant des effets incertains Prochaine action? Room 1 Room 4 Room 2 Actions: E: Go east W: Go west S: Go south N: Go north 0 1 2 3 …. Room 3 But 0 1 2 3 …. Escalier IFT 615 Froduald Kabanza

Motivation – Planification avec des actions ayant des effets incertains Prochaine action? Room 1 Room 4 Room 2 Actions: E: Go east W: Go west S: Go south N: Go north Supposons maintenant que le robot peut glisser. S’il décide de faire un pas dans une certaine direction, il a par exemple une probabilité de réussir et une probabilité d’aller dans l’une ou l’autre des cases avoisinantes. A* ne suffit plus! Il donne une séquence d’actions. Un plan déterministe. Nous avons besoin d’un algorithme qui donne un plan de contigence, prévoyant le cas où le robot glisse dans une case avoisinante. Nous avons besoin de modéliser l’environnement en tenant compte de son caractère stochastique et de developer des algorithmes qui peuvent planifier dans cette environnement 0 1 2 3 …. Room 3 But 0 1 2 3 …. Glissant Escalier IFT 615 Froduald Kabanza

Processus de décision markovien Un processus de décision markovien (Markov decision process, ou MDP) est défini par: un ensemble d’états S (incluant un étant initial s0) un ensemble d’actions possibles Actions(s) lorsque je me trouve à l’état s un modèle de transition P(s’|s, a), où a  A(s) une fonction de récompense R(s) (utilité d’être dans l’état s) Un MDP est donc un modèle général pour un environnement stochastique dans lequel un agent peut prendre des décisions et reçoit des récompenses On y fait une supposition markovienne (de premier ordre) sur la distribution des états visités Requière qu’on décrive un objectif à atteindre à partir d’une fonction de récompense basée seulement sur l’état courant (et, parfois, l’actions choisie dans cet état) Difficulté: trouver une fonction de récompense qui nous permettra d’atteindre facilement cet objectif Est-ce que qqn se rappelle ce que veut dire la supposition markovienne (de premier ordre)? IFT 615 Froduald Kabanza

S = { positions sur la grille } Modèle d’actions Room 1 Room 4 Actions: E: Go east W: Go west S: Go south N: Go north S = { positions sur la grille } Degré de désirabilité -0.4 : +1 But Room 2 -0.8 R(s) (fonction de récompense) 0 1 2 3 …. Actions(s) Room 3 But 0 1 2 3 …. IFT 615 Froduald Kabanza

Actions aux effets incertains Go South (S) État courant Action P(s’|s,a) (modèle de transition) Le modèle de transition sert de fonction successeur États successeurs possibles 25 % 50 % 25 % IFT 615 Froduald Kabanza

http://cs231n.stanford.edu/slides/2017/cs231n_2017_lecture14.pdf IFT702 Mariane Maynard

http://cs231n.stanford.edu/slides/2017/cs231n_2017_lecture14.pdf IFT702 Froduald Kabanza

http://cs231n.stanford.edu/slides/2017/cs231n_2017_lecture14.pdf IFT702 Froduald Kabanza

http://cs231n.stanford.edu/slides/2017/cs231n_2017_lecture14.pdf IFT702 Froduald Kabanza

Plan (politique) Exemples: Un plan est une stratégie: choix d’une action (décision) pour chaque état un plan est également appelé une politique (policy) c’est un ensemble de règles if state then action Exemples: Plan π1 { (21,12) → W, (20,13) → S, (21,13) → S, (20,11) → N, … } (21,13) (20,13) (20,12) W 0.2 0.3 W W 0.5 (20,11) N (21,12) S 0.9 S Plan π2 { (21,12) → S, (20,11) → S, (21,10) → E, ….} S S 0.2 0.1 0.8 (20,10) (1,1) IFT 615 Froduald Kabanza

Fonction de récompense/utilité et qualité des plans Une fonction de récompense/utilité, R(s), assigne un nombre réel à chaque état s. R(s) désigne le degré de désirabilité de l’état s. Le but et le coût des actions sont indirectement modélisés par la fonction de récompense/utilité. Ainsi, la qualité d’un plan est déterminée par l’espérance des récompenses qu’on peut potentiellement obtenir en suivant/exécutant le plan Un plan optimal est celui qui maximise les récompenses. Plus un plan est proche de l’optimal, plus il est de qualité. Ainsi un plan fait un compromis entre: La maximisation de la probabilité d’atteindre le but (réduction de la probabilité d’échec). La maximisation des récompenses (optimisation du coût des actions). IFT 615 Froduald Kabanza

IFT702 Froduald Kabanza

somme des récompenses futures espérée Utilité d’un plan R(s): récompense pour l’état s V(π,s): valeur (utilité) du plan π à l’état s V(π,s) = R(s) + γ Σ s’  S P(s’|s, π(s)) V(π, s’) γ: facteur d’escompte (0 < γ <= 1), indique l’importance relative des récompenses futures par rapport à la récompense actuelle S: espace d’états π(s): action du plan à l’état s P(s’|s, π(s)): probabilité de la transition du MDP récompense actuelle somme des récompenses futures espérée Utilité d’un plan = valeur d’un plan faire remarquer que V(pi,s) est un tableau, pas un seul nombre réel! faire remarquer que c’est un système d’équations à |S| inconnues et |S| variables IFT 615 Froduald Kabanza

Plan optimal Un plan π domine un plan π’ si les deux conditions suivantes sont réunies: V(π,s) ≥ V(π’,s) pour tout état s V(π,s) > V(π’,s) pour au moins un s Un plan est optimal s’il n’est pas dominé par un autre il peut y avoir plusieurs plans optimaux, mais ils ont tous la même valeur on peut avoir deux plans incomparables (aucun ne domine l’autre) la dominance induit une fonction d’ordre partiel sur les plans Deux algorithmes différents pour le calcul du plan optimal: itération par valeurs (value iteration) itération par politiques (policy iteration) IFT 615 Froduald Kabanza

Équations de Bellman pour la valeur optimale Les équations de Bellman nous donnent l’utilité d’un état (c.à-d., l’utilité des plans optimaux dans un état) V*(s) = R(s) + max γ Σ s’  S P(s’|s,a) V*(s’)  s  S Si nous pouvons calculer V*, nous pourrons calculer un plan optimal aisément: il suffit de choisir dans chaque état s l’action qui maximise V*(s) (c.-à-d. le argmax) En calculant V* avec value iteration ou la politique optimale avec policy iteration, on obtient un agent optimal pour notre MDP a U(s) = Valeur optimale de s. J’aurais pu noter U*(s) pour bien renforcer cette idée que c’est vraiment l’utilité du plan optimal. On pourrait être tenter de résoudre le système d’équations pour trouver U(s). Cependant, à cause du max ce ne sont pas des équations linéaires. On ne peut donc pas les résoudre en utilisant des méthodes de résolution d’équations linéaires (élimination de Gauss, décomposition LU, etc.). Nous allons plutôt recourrir à la programmation dynamique: itération par valeur ou itération par politique. IFT 615 Froduald Kabanza

Agents qui apprennent dans un MDP À quoi sert l’apprentissage si on a des capteurs parfaits et qu’on connaît le modèle de transitions et les récompenses à chaque état? Rien. En réalité, le modèle de transitions n’est souvent pas défini d’avance pour de multiples raisons: Espace d’états et/ou d’actions trop gros, complexe et/ou continu pour une définition succincte des transitions De plus, les capteurs retournent souvent une observation de l’état plutôt que l’état lui-même L’observation est complète, mais l’agent doit apprendre à extraire l’information pertinente de l’observation Solution? Apprentissage automatique IFT702 Mariane Maynard

Apprentissage automatique Rappel IFT615 Apprentissage automatique Section 8.1 du livre IFT615 Hugo Larochelle et Froduald Kabanza

Apprentissage dans un agent Un agent apprend s’il améliore sa performance sur des tâches futures avec l’expérience Pourquoi programmer des programmes qui apprennent: Un agent peut être dans un environnement inconnu ou difficile à modéliser (il faut qu’il le découvre) Même quand l’environnement est connu au départ, il peut évoluer dans le temps de façon imprévisible Parfois, on a aucune idée comment programmer la fonction de performance de l’agent Un agent peut être dans un environnement inconnu (il faut qu’il le découvre). Même quand l’environnement est connu au départ, il peut évoluer dans le temps de façon imprévisible (par exemple, dans la classification de pourriels , la compréhension/définition de ce qu’un pourriel évolue dans le temps) Parfois, on a aucune idée de comment programmer la fonction de performance de l’agent (il faut qu’elle soit apprise; par exemple: reconnaissance de visage) IFT 615 Froduald Kabanza

Apprentissage automatique Un agent apprend s’il améliore sa performance sur des tâches futures avec l’expérience On va se concentrer sur un problème d’apprentissage simple mais ayant beaucoup d’applications: « Étant donnée une collection de paires (entrées, sorties) appelées exemples d’apprentissage, comment apprendre une fonction qui peut prédire correctement une sortie étant donnée une nouvelle entrée. » IFT702 Hugo Larochelle et Froduald Kabanza

Types de problèmes d’apprentissage Il existe plusieurs sortes de problèmes d’apprentissage, qui se distinguent par la nature de la supervision offerte par nos données Apprentissage supervisé : sortie désirée (cible ou « target ») est fournie explicitement par les données Ex.: reconnaissance de caractères, à l’aide d’un ensemble de paires (images, identité du caractère) Apprentissage par renforcement : le signal d’apprentissage correspond seulement à des récompenses et punitions Ex.: est-ce que le modèle a gagné sa partie d’échec (1) ou pas (-1) Apprentissage non-supervisé : les données ne fournissent pas de signal explicite et le modèle doit extraire de l’information uniquement à partir de la structure des entrées Ex.: identifier différents thèmes d’articles de journaux en regroupant les articles similaires (« clustering ») Et plusieurs autres! IFT702 Hugo Larochelle et Froduald Kabanza

Apprentissage supervisÉ : Concepts généraux Rappel IFT615 Apprentissage supervisÉ : Concepts généraux Section 8.1 du livre IFT615 Hugo Larochelle et Froduald Kabanza

Apprentissage supervisé Un problème d’apprentissage supervisé est formulé comme suit: « Étant donné un ensemble d’entraînement de N exemples: où chaque a été généré par une fonction inconnue , découvrir une nouvelle fonction (modèle ou hypothèse) qui sera une bonne approximation de (c’est à dire ) » Espace d’hypothèses H f(x) hopt(x)  H Error Note : chacun des x_i, y_i peut être un vecteur. Dans ce cas, on notera x_i,j le j eme élément du vecteur. Idem pour y_i,j. f n’est pas généralement connu. On en connait une partie permettant de produire les exemples d’apprentissage et les exemples de test. Lorsque l’ensemble des valeurs des sorties est un ensemble fini, on parle de problème de classification. Par exemple, les différentes classes pour une image: chat, chien, personne. Lorsque y est un nombre réel (l’ensemble des valeurs de sortie est infini, par exemple: température), on parle de régression. On dit qu’une hypothèse généralise bien si elle prédit correctement la valeur de y pour des exemples inédits. On dit qu’une hypothèse est cohérente si elle prédit correctement la valeur de y pour les exemples d’entraînement. Le problème d’apprentissage est réalisable si f(x) ϵ H IFT615 Hugo Larochelle et Froduald Kabanza

Apprentissage supervisé Étant donné un ensemble de données d’entrainement, l’apprentissage est un problème de recherche de l’hypothèse h dans un espace d’hypothèses H, tel que h minimise la distance à f(x) Les données sont souvent bruités et disponibles en quantité limitée. Il y a donc une variation dans les données et dans les modèles (représentations). L’erreur dépend de la qualité (et quantité) des données d’entrainements et de la méthode utilisée pour sélectionner/chercher la bonne hypothèse Espace d’hypothèse f(x) hopt(x)  H Error H L’apprentissage est une recherche dans un espace d’hypothèses possibles pour trouver l’hypothèse qui se comporte bien même sur des exemples n’appartenant pas à l’ensemble d’entraînement. Ici, on cherche à minimiser l’erreur généralisée (c.à-d., incluant les données à venir, pas juste les données d’entrainement). IFT615 Hugo Larochelle et Froduald Kabanza

Représentation des données L’entrée X est représentée par un vecteur de valeurs d’attributs réels (représentation factorisée) Ex.: une image est représentée par un vecteur contenant la valeur de chacun des pixels La sortie désirée ou cible y aura une représentation différente selon le problème à résoudre: Problème de classification en C classes: valeur discrète (index de 0 à C-1) Problème de régression: valeur réelle ou continue IFT702 Froduald Kabanza

Modèles et approche pour chercher la fonction h Dépendamment des approches d’apprentissage, la fonction h peut être représentée de différente manière: Fonction linéaires , polynomiales Réseau de neurones artificiel Règle de production (if-then) avec la logique du premier ordre Arbre de décision Classificateur k-plus-proches-voisins Etc. Dans cette leçon, nous (re)voyons le réseau de neurones artificiel Le livre couvre différentes autres approches IFT615 Hugo Larochelle et Froduald Kabanza

Réseau de neurones – Motivation Rappel IFT615 Réseau de neurones – Motivation IFT615 Hugo Larochelle et Froduald Kabanza

Limitation des classificateurs linéaires Le problème, c’est que la majorité des problèmes de classification ne sont pas linéaires En fait, un classificateur linéaire ne peut même pas apprendre XOR! AND OR XOR 1 1 1 ? Une autre façon de voir que le perceptron ne peut pas apprendre le OU-Exclusif est d’observer ceci. Considérons un perceptron avec deux entrées x1, x2 et deux poids correspondants, w1 et w2, et le seuil t. Pour apprendre la fonction Ou-Exclusif, l’apprentissage du réseau de neurones doit trouver/aboutir/converger vers des poids satisfaisant les équations suivantes: 0 + 0 < t (c.à-d., t doit être positif) W1* 1 + 0 >= t 0 + w2*1 >= t w1*1 + w2*1 <=t Ce système d’équations n’a pas de solution. Le perceptron ne peut donc pas apprendre le Xor. On verra qu’un réseau multi-couches lui peut faire l’apprentissage. Ce qui rend le XOR impossible à apprendre avec le perceptron est le fait que les deux classes à distinguer (données en noir et données en vert) sont linéairement non séparables. Le problème d’apprendre une classification binaire d’un ensemble de données revient à les séparer en deux groupes. Dans l’espace à deux dimensions, chaque donné correspond à un point dans l’espace 2D et il s’agit de trouver une ligne droite les séparant. Dans l’espace à 3 dimensions, il s’agit de trouver un plan. Ainsi de suite, dans l’espace à n dimensions, un ensemble de données est linéairement séparable s’ils peuvent être séparés par un hyperplan de dimension n-1. IFT615 Hugo Larochelle et Froduald Kabanza

Limitation des classificateurs linéaires Par contre, on pourrait transformer l’entrée de façon à rendre le problème linéairement séparable sous cette nouvelle représentation Dans le cas de XOR, on pourrait remplacer par AND( , ) et par OR( , ) OR( , ) XOR XOR 1 1 ? On transpose l’entrée dans le nouvel espace de dimensions En fait cette transposition peut être apprise AND( , ) IFT615 Hugo Larochelle et Froduald Kabanza

Réseau de neurones artificiel Rappel IFT615 Réseau de neurones artificiel IFT615 Hugo Larochelle et Froduald Kabanza

Réseau de neurones artificiel Idée: apprendre les poids du classificateur linéaire et une transformation qui va rendre le problème linéairement séparable . . . Logistic . . . Logistic - Notation du livre n’est pas géniale... y a pas de lettre pour le nombre de neurones cachés - Il y a aussi des biais normalement Réseau de neurones à une seule couche cachée IFT615 Hugo Larochelle et Froduald Kabanza

IFT608/IFT702 © Froduald Kabanza CAS GÉNÉRAL: ON PEUT UTILISER UNE AUTRE FONCTION NON-LINÉAIRE (ICI g, appelée fonction d’activation) PLUTÔT QUE SIMGOIDE Crédit: Hugo Larochelle pour le cours IFT725: http://www.dmi.usherb.ca/~larocheh/cours/ift725_A2012/diapositives/fprop Fully connected Une autre façon est d’utiliser un réseau de neurones pour le faire. On rajoute une couche cachée entre l’entrée et le neurone de sortie. La couche apprend alors une représentation de l’espace d’entrée qui nous permettra de faire régression logistique. IFT608/IFT702 © Froduald Kabanza

IFT608/IFT702 © Froduald Kabanza APPRENTISSAGE DE SURFACES ARBITRAIRES GRÂCE À LA COUCHE CACHÉE Crédit: Hugo Larochelle pour le cours IFT725: http://www.dmi.usherb.ca/~larocheh/cours/ift725_A2012/diapositives/fprop Avec une couche on peut apprendre des frontières arbitraires IFT608/IFT702 © Froduald Kabanza

IFT608/IFT702 © Froduald Kabanza Crédit: Hugo Larochelle pour le cours IFT725: http://www.dmi.usherb.ca/~larocheh/cours/ift725_A2012/diapositives/fprop Théorème de l’approximation universelle: avec une seule couche cachée un réseau de neurones avec une sortie linéaire peut approximer n’importe quelle fonction continue si on lui donne assez d’unités. Le résultat s’applique aux sigmoïdes, tangentes hyperboliques etc. Ça nous dit pas combien de paramètres sont nécessaires… IFT608/IFT702 © Froduald Kabanza

Hugo Larochelle et Froduald Kabanza Cas général à L couches Rien n’empêche d’avoir plus d’une couche cachée On note l’activité du je « neurone », incluant les neurones d’entrée et de sortie. Donc on aura On note l’activité du je neurone avant la non-linéarité logistique, c’est à dire Il y a L = 4 couches dont 2 couches cachées 7 w5,7 w6,7 5 6 3 4 1 2 w3,5 w3,6 w4,5 w4,6 w1,3 w1,4 w2,3 w2,4 - Notation du livre n’est pas génial... y a pas de lettre pour le nombre de neurones cachés Il y a aussi des biais normalement La multiplication des couches cachées est ce qu’on appelle l’apprentissage profond IFT615 Hugo Larochelle et Froduald Kabanza

Hugo Larochelle et Froduald Kabanza Exemple Exemple: , 0.5 1 2 1 -1 -1 1.5 3 -3 -1 -2 -4 propagation avant IFT615 Hugo Larochelle et Froduald Kabanza

Hugo Larochelle et Froduald Kabanza Exemple Exemple: , 0.5 1 2 0.378 1 -1 -1 1.5 3 -3 -1 -2 -4 propagation avant Logistic(0.5 * 2 + 1.5 * -1) = Logistic(-0.5) = 0.378 IFT615 Hugo Larochelle et Froduald Kabanza

Hugo Larochelle et Froduald Kabanza Exemple Exemple: , 0.5 1 2 0.378 1 -1 -1 1.5 3 -3 -1 0.5 -2 -4 propagation avant Logistic(-1 * 2 + -2 * -1) = Logistic(0) = 0.5 IFT615 Hugo Larochelle et Froduald Kabanza

Hugo Larochelle et Froduald Kabanza Exemple Exemple: , 0.5 1 2 0.378 0.867 1 -1 -1 1.5 3 -3 -1 0.5 -2 -4 propagation avant Logistic(1 * 0.378 + 3 * 0.5) = Logistic(1.878) = 0.867 IFT615 Hugo Larochelle et Froduald Kabanza

Hugo Larochelle et Froduald Kabanza Exemple Exemple: , 0.5 1 2 0.378 0.867 1 -1 -1 1.5 3 -3 -1 0.5 0.085 -2 -4 propagation avant Logistic(-1 * 0.378 + -4 * 0.5) = Logistic(-2.378) = 0.085 IFT615 Hugo Larochelle et Froduald Kabanza

Hugo Larochelle et Froduald Kabanza Exemple Exemple: , 0.5 1 2 0.378 0.867 1 -1 -1 0.648 1.5 3 -3 -1 0.5 0.085 -2 -4 propagation avant Logistic(1 * 0.867 + -3 * 0.085) = Logistic(0.612) = 0.648 IFT615 Hugo Larochelle et Froduald Kabanza

Hugo Larochelle et Froduald Kabanza Exemple Exemple: , 0.5 1 2 0.378 0.867 1 -1 -1 Δ = y - a 0.648 1.5 3 -3 -1 0.5 0.085 -2 -4 On calcule la perte, puis le gradient de la perte. On entraîne le réseau par descente du gradient stochastique. Pour ce faire, il faut commencer par calculer le gradient par rapport à chaque paramètre (le gradient est seulement un vecteur de dérivées partielles). Pour calculer le gradient par rapport à chacun des paramètres, on utilise l’algorithme de rétropropagation. La rétropropagation est juste un algo dynamique pour éviter d’avoir à refaire plusieurs fois les mêmes calculs de gradient rétropropagation IFT615 Hugo Larochelle et Froduald Kabanza

Hugo Larochelle et Froduald Kabanza Exemple Exemple: , 0.5 1 2 0.378 0.867 1 -1 -1 Δ = 1 - 0.648 0.648 1.5 3 -3 -1 0.5 0.085 -2 -4 rétropropagation IFT615 Hugo Larochelle et Froduald Kabanza

Hugo Larochelle et Froduald Kabanza Exemple Exemple: , 0.5 1 2 0.378 0.867 1 -1 -1 Δ = 0.352 0.648 1.5 3 -3 -1 0.5 0.085 -2 -4 rétropropagation IFT615 Hugo Larochelle et Froduald Kabanza

Hugo Larochelle et Froduald Kabanza Exemple Exemple: , Δ = 0.041 0.5 1 2 0.378 0.867 1 -1 -1 Δ = 0.352 0.648 1.5 3 -3 -1 0.5 0.085 -2 -4 rétropropagation Δ = 0.867 * (1-0.867) * 1 * 0.352 = 0.041 IFT615 Hugo Larochelle et Froduald Kabanza

Hugo Larochelle et Froduald Kabanza Exemple Exemple: , Δ = 0.041 0.5 1 2 0.378 0.867 1 -1 -1 Δ = 0.352 0.648 Δ = -0.082 1.5 3 -3 -1 0.5 0.085 -2 -4 rétropropagation Δ = 0.085 * (1-0.085) * -3 * 0.352 = -0.082 IFT615 Hugo Larochelle et Froduald Kabanza

Hugo Larochelle et Froduald Kabanza Exemple Exemple: , Δ = 0.029 Δ = 0.041 0.5 1 2 0.378 0.867 1 -1 -1 Δ = 0.352 0.648 Δ = -0.082 1.5 3 -3 -1 0.5 0.085 -2 -4 rétropropagation Δ = 0.378 * (1-0.378) * (1 * 0.041 + -1 * -0.082) = 0.029 IFT615 Hugo Larochelle et Froduald Kabanza

Hugo Larochelle et Froduald Kabanza Exemple Exemple: , Δ = 0.029 Δ = 0.041 0.5 1 2 0.378 0.867 1 -1 -1 Δ = 0.352 0.648 Δ = 0.113 Δ = -0.082 1.5 3 -3 -1 0.5 0.085 -2 -4 rétropropagation Δ = 0.5 * (1-0.5) * (3 * 0.041 + -4 * -0.082) = 0.113 IFT615 Hugo Larochelle et Froduald Kabanza

Hugo Larochelle et Froduald Kabanza Exemple Exemple: , Δ = 0.029 Δ = 0.041 0.5 1 2 0.378 0.867 1 -1 -1 Δ = 0.352 0.648 Δ = 0.113 Δ = -0.082 1.5 3 -3 -1 0.5 0.085 -2 -4 Finalement je calcule le gradient de mes poids et je les mets à jour. On répète la procédure pour un autre exemple d’entraînement mise à jour (α=0.1) w1,3  0.5 + 0.1 * 2 * 0.029 = 0.506 w3,5  1 + 0.1 * 0.378 * 0.041 = 1.002 w1,4  -1 + 0.1 * 2 * 0.113 = -0.977 w3,6  -1 + 0.1 * 0.378 * -0.082 = -1.003 w5,7  1 + 0.1 * 0.867 * 0.352 = 1.031 w2,3  1.5 + 0.1 * -1 * 0.029 = 1.497 w4,5  3 + 0.1 * 0.5 * 0.041 = 3.002 w6,7  -3 + 0.1 * 0.085 * 0.352 = -2.997 w2,4  -2 + 0.1 * -1 * 0.113 = -2.011 w4,6  -4 + 0.1 * 0.5 * -0.082 = -4.004 IFT615 Hugo Larochelle et Froduald Kabanza

Progression des réseaux de neurones Perceptron: 1957 Rétropropagation du gradient: 1984 Perceptron multicouche (réseau de neurones): 1986 Réseau de neurones à convolution: 1998 Les percées de l’apprentissage profond ne sont que très récentes (AlexNet en 2012) Qu’est-ce qui a changé? Malgré le fait que l’idée d’un réseau de neurones et de l’apprentissage profond date, les percées en apprentissage profond ne sont que très récentes IFT702 Froduald Kabanza

CNN IFT702 Froduald Kabanza En 2012, premier réseau de neurones à convolution à gagner l’Image Classification Challenge. Les techniques gagnantes précédentes n’utilisaient pas l’apprentissage profond AlexNet a permis une amélioration importante de l’erreur d’apprentissage. Après, les réseaux de neurones à convolution n’ont fait que gagner en performance, pour finalement battre l’humain. IFT702 Froduald Kabanza

En 1998, le réseau de neurones à convolution est inventé par Yann LeCun C’est seulement 14 ans plus tard (2012) qu’AlexNet devient le premier réseau de neurones à convolutions à gagner un concours de classification d’images. Le processeur utilisé avait 1000x plus de transistors que celui qui a servi à l’entraînement de LeNet Le calcul (entraînement) est massivement parallélisé sur des GPUs Le nombre des pixels des images en entrée est le carré de celui de 1998 Autrement dit, ce qui a fait la majeure différence, c’est la puissance des ressources de calcul plus que l’évolution des algorithmes Depuis 2012, il y a eu une tendance inverse (qui vous permet aujourd’hui d’exécuter un réseau à convolution sur votre téléphone), mais les ressources nécessaires pour l’entraînement sont Toujours massives. IFT702 Froduald Kabanza

Applications courantes (et futures) Aujourd’hui, les réseaux de neurones à convolution sont utilisés partout On va plus loin que la simple classification d’images: Détection d’objets (multiples) Classification d’actions Génération de légendes, Génération d’images Applications concrètes: Identification par l’iris Identification de la nourriture Identification des œuvres dans les musées et application interactive avec les visiteurs Génération d’images (décor) IFT702 Mariane Maynard

Ce qu’il faut se rappeler: Les réseaux de neurones sont une agglomération de régresseurs linéaires suivis de fonction(s) d’activation non-linéaires qui permettent l’apprentissage d’une fonction y = f(x) Plus général qu’une simple régression linéaire, à seuil dur, logistique ou suivie d’une fonction non-linéaire arbitraire Espace des hypothèses plus « large », couvre plus de cas Peut résoudre des problèmes non linéairement séparables en apprenant une transformation linéaire Les algorithmes traditionnels d’apprentissage par renforcement utilisaient des méthodes s’apparentant à la régression linéaire ou le perceptron L’apprentissage profond et, surtout, les récentes percées en vision par ordinateur apporte plus de flexibilité à ces algorithmes et permettent l’utilisation d’images de la caméra pour l’apprentissage Et c’est à partir de là qu’on a recommencé à s’intéresser à l’apprentissage par renforcement et de combiner les idées avec l’apprentissage profond, car rien n’indiquait avant ces percées que les réseaux de neurones avaient un réel potentiel. IFT702 Mariane Maynard

Apprentissage Par renforcement profond IFT702 Mariane Maynard

Apprentissage par renforcement Nous avons encore un processus de décision de Markov Nous cherchons encore une politique  qui maximise (approximativement) la somme des récompenses espérée. Mais nous ne connaissons pas le modèle d’action P(s’|s, a) ou la fonction de récompense R(s) Nous ne savons pas quelles actions choisir Nous ne savons pas quels états sont bons En fait, il faudra tâtonner (essayer des actions) pour apprendre En résumé, l’apprentissage par renforcement vise aussi à trouver un plan optimal, mais sans connaître le modèle de transition de l’environnement Certains diront que c’est la forme la plus pure d’apprentissage en IA c’est aussi une des plus difficiles à réussir... IFT 615 Froduald Kabanza

Caractéristiques principales Qu’est-ce qui distingue l’apprentissage par renforcement de l’apprentissage supervisé : Il n’y a pas de superviseur, mais plutôt seulement un signal de récompense La récompense peut être retardée (delayed, sparse); elle n’est pas forcément instantanée Le temps est important : données séquentielles par oppositions aux données indépendantes et identiquement distribuées (i.i.d. data) Les actions de l’agent influencent les données futurs que l’agent va recevoir (observer) Il existe des trucs pour simuler i.i.d data. IFT 615 Froduald Kabanza

Observation monde réel = capture d’images par caméra (senseur) http://rll.berkeley.edu/deeprlcourse/f17docs/lecture_2_behavior_cloning.pdf DRL = Deep Reinforcement Learning En général, le réseau n’apprend pas à partir de l’état, mais d’une observation de l’état Observation monde réel = capture d’images par caméra (senseur) Utilisation d’un réseau à convolutions pour traiter les observations http://rll.berkeley.edu/deeprlcourse Sergey Levine

Idées Comment se servir de l’apprentissage profond pour trouver la politique optimale 𝜋 ∗ d’un environnement stochastique inconnu? Idée 1 : en supposant qu’on ait accès à des exemples 𝑠 𝑡 , 𝜋 ∗ 𝑠 𝑡 mais pas explicitement à 𝜋 ∗ ? Idée 2 : directement? Indice 1 : Voir l’apprentissage comme une solution à problème d’optimisation? Indice 2 : récompenses? Idée 3 : indirectement? Indice 1 : rappel Q-Learning/TD-Learning? Indice 2 : équation de Bellman, value-iteration? Idée 4 : autre indirectement? Indice 1 : rappel programmation dynamique adaptative (PDA, algo ADP-Agent)? Indice 2: quoi d’autre est inconnu et peut être appris dans notre MDP? IFT702 Mariane Maynard

http://rll.berkeley.edu/deeprlcourse/f17docs/lecture_3_rl_intro.pdf Value-based: Ou d’une politique fixe Actor-critic: on apprend les 2 avec un réseau de neurones En premier lieu: apprentissage par imitation/démonstrations (aussi connu sous l’appellation « clonage de comportement ») IFT702 Sergey Levine

EST-CE QUE ÇA MARCHE???? Réseau de neurones représente une politique http://rll.berkeley.edu/deeprlcourse/f17docs/lecture_2_behavior_cloning.pdf Réseau de neurones représente une politique Entrée: observation du monde au temps t Sortie: action La politique est entraînée pour ‘imiter’ au mieux celle de « l’expert » Les données d’entraînement sont des exemples ( 𝐨 𝑡 , 𝐚 𝑡 ) http://rll.berkeley.edu/deeprlcourse Sergey Levine

http://rll.berkeley.edu/deeprlcourse/f17docs/lecture_2_behavior_cloning.pdf Multimodal: exemple de l’arbre et du ski Autres: Comportement non-markovien (actions dépendent de l’historique des états plutôt que seulement l’état courant) Comportement multimodal (plusieurs politiques optimales dans le jeu de données) Comportement non-optimal (ex. jeux, les humains ne jouent pas nécessairement optimalement) http://rll.berkeley.edu/deeprlcourse Sergey Levine

Autre idée: Inverse Reinforcement Learning Plutôt que d’imiter sans comprendre, on tente d’inférer la récompense visée par l’expert À quoi s’apparente cette approche? On utilise la récompense « apprise » pour trouver une politique optimale Peut donc aller « au-delà » du jeu de données Utile lorsqu’on dispose de données d’experts, mais pas de notion de récompense explicite dans l’environnement et difficilement implémentable Ex.: Apprendre à un robot à se verser un verre d’eau Problème difficile en pratique Comment déterminer que la fonction de récompense est bonne? Réponse: reconnaissance de plans IFT702 Mariane Maynard

Apprentissage par imitation: résumé On entraîne un réseau à partir d’exemples d’expert 𝑜 𝑡 , 𝑎 𝑡 Le réseau tente de minimiser la perte de ces prédictions des actions de l’expert La politique est dérivée des « prédictions » Le réseau tente d’imiter l’expert Problème: approche limitée par le jeu de données Comportement non-optimal Comportement multi-modal (plusieurs comportement (sous)-optimaux) Etc. En changeant l’objectif (i.e. maximiser ses récompenses), on peut espérer faire mieux que l’expert IFT702 Mariane Maynard

Le retour de la politique est estimé à partir de ces échantillons http://rll.berkeley.edu/deeprlcourse/f17docs/lecture_3_rl_intro.pdf L’objectif du réseau est directement de maximiser son retour 𝑅 𝜏 (somme des récompenses 𝑟(𝑠,𝑎)) La politique est roulée dans l’environnement pour générer des échantillons Le retour de la politique est estimé à partir de ces échantillons Le gradient du retour (fonction objectif) sert à mettre à jour les paramètres http://rll.berkeley.edu/deeprlcourse Sergey Levine

http://cs231n.stanford.edu/slides/2017/cs231n_2017_lecture14.pdf Lorsqu’on maximise: ascension du gradient Lorsqu’on minimise: descente du gradient IFT702 Froduald Kabanza

http://cs231n.stanford.edu/slides/2017/cs231n_2017_lecture14.pdf C’est ce qu’on appelle l’algorithme REINFORCE On échantillonne des trajectoires avec notre politique apprise. On calcule la moyenne des sommes de récompenses obtenues de ces trajectoires. Notre objectif est de maximiser J (la moyenne des sommes) IFT702 Froduald Kabanza

http://cs231n.stanford.edu/slides/2017/cs231n_2017_lecture14.pdf On peut estimer les gradients directement des échantillons Si la somme est haute, les actions de la politique sont encouragées Si la somme est basse, les actions de la politique sont découragées Quel est le problème? Les actions communes aux 2 politiques, comment sont-elles mises à jour? Encouragées une fois, découragées la passe suivante Il y a donc beaucoup de variance entre les mises à jour de ces actions Alors que ces actions ne sont pas nécessairement celles qui ont une grande influence sur le résultat final IFT702 Froduald Kabanza

http://cs231n.stanford.edu/slides/2017/cs231n_2017_lecture14.pdf Pour réduire la variance, on introduit la notion de baseline Ça règle aussi le problème qu’on aurait si toutes les récompenses étaient positives (et donc on aurait seulement des gradients positifs) L’idée est de donner de l’importance aux récompenses qui sont meilleures que ce que à quoi on s’attend (et vice versa pour les récompenses moins bonnes qu’attendues) On ramène également le facteur d’escompte pour aider « l’assignation du crédit » IFT702 Froduald Kabanza

Réponse tantôt IFT702 Froduald Kabanza http://cs231n.stanford.edu/slides/2017/cs231n_2017_lecture14.pdf La meilleur valeur de base: valeur espérée de la somme des récompenses futures à cet état IFT702 Froduald Kabanza

Un algo par politique: TRPO Trust region policy optimization L’algo est beaucoup plus mature que REINFORCE, mais l’idée de base (maximiser la somme des récompenses directement) reste la même IFT702 Froduald Kabanza

Apprentissage par politique: résumé On entraîne un réseau à partir d’échantillons 𝑜 𝑡 , 𝑟 𝑡 générés par notre politique 𝜋 𝜃 Le réseau tente de maximiser la somme de ces récompenses en moyenne La politique est directement la sortie du réseau ( 𝜋 𝜃 ) Problème: haute variance des mises à jour et assignation du crédit Tentons d’avoir un objectif intermédiaire qui produit des gradients plus stables pour notre réseau IFT702 Mariane Maynard

On se sert de la valeur apprise pour dériver une meilleure politique On apprend la valeur de la politique (espérance des récompenses futures) On se sert de la valeur apprise pour dériver une meilleure politique La politique est roulée dans l’environnement pour produire des échantillons Les échantillons permettre d’apprendre/mettre à jour la valeur de la politique Question : comment apprendre la valeur (fonction à optimiser?) La « vraie » valeur n’est pas connue (pas d’étiquettes) http://rll.berkeley.edu/deeprlcourse/f17docs/lecture_3_rl_intro.pdf http://rll.berkeley.edu/deeprlcourse Sergey Levine

Rappel: Apprentissage actif avec Q-learning Selon la définition de Q(s,a) et l’équation de Bellman, on a Q(s,a) = R(s) + γ Σ s’  S P(s’|s,a) max Q(s’,a’) Q-learning consiste à traduire cette équation en la mise à jour Q(s,a)  Q(s,a) + α ( R(s) + γ max Q(s’,a’) – Q(s,a) ) Autrement dit, on utilise l’égalité ci-haut pour calculer l’erreur d’apprentissage a’ a’ IFT 615 Froduald Kabanza

IFT702 Froduald Kabanza

IFT702 Froduald Kabanza

Ils ne sont pas indépendants (et identiquement distribués) Les échantillons sont dépendants des échantillons précédents et même pire: dépendants des paramètres du réseau Les paramètres actuels déterminent ce que seront les échantillons suivants Rejouer l’expérience IFT702 Froduald Kabanza

IFT702 Froduald Kabanza Initialise la mémoire d’expériences Initialise les paramètres du réseau Pour chaque épisode (jeu) Initialise l’état initial Pour chaque état du jeu On sélectionne une action aléatoire avec la probabilité epsilon (empêche l’algo d’être trop vorace et encourage l’exploration; on y reviendra) Sinon sélectionner l’action qui maximise notre fonction Q actuelle Exécuter a dans l’émulateur et observer récompense et transition Emmagasiner la transition dans notre mémoire Échantillonner une minibatch de notre mémoire Calculer notre cible (équation de Bellman) Descente du gradient sur la perte (erreur moyenne au carré (MSE) entre la cible et la valeur retournée) On recommence IFT702 Froduald Kabanza

Deep Q-learning vs Atari Breakout IFT702 Froduald Kabanza

Autres algorithmes d’apprentissage par valeur Distinction: on-policy vs off-policy On-policy: on apprend la valeur de la politique Ex. TD-learning: V(s, π)  V(s, π) + α ( R(s) + γ V(s’, π) – V(s, π) ) La valeur dépend donc la politique utilisée Apprentissage passif (politique fixe) OU Apprentissage sans experience replay (ex. SARSA) Pourquoi? Les échantillons générés deviennent désuets à chaque fois qu’on change de politique Off-policy: valeur optimale apprise (équation de Bellman) Ex. (deep) Q-learning Ne dépend pas de la politique utilisée pour générer les échantillons Apprentissage actif/« online » possible (politique mise à jour à chaque passe) Utilisation d’une replay memory possible IFT702 Mariane Maynard

Algos d’apprentissage par valeur Type de valeur apprise V(s) Q(s,a) Off/On-policy Off-policy On-policy ---- Q-learning TD-learning SARSA State-action-reward-state-action http://rll.berkeley.edu/deeprlcourse Mariane Maynard

Problème avec Q-learning c’est qu’il est trop vorace Balance exploration/exploitation http://rll.berkeley.edu/deeprlcourse/f17docs/lecture_6_value_functions.pdf IFT702 Sergey Levine

Apprentissage par valeur: résumé On entraîne un réseau à partir d’échantillons 𝑜 𝑡 , 𝑟 𝑡 générés par une politique 𝜋 Le réseau tente d’apprendre une valeur V 𝑜 𝑡 ;𝜃 (ou Q 𝑜 𝑡 , 𝑎 𝑡 ;𝜃 ) qui respecte une égalité Ex. Q-learning: Équation de Bellman La politique est dérivée/améliorée par les valeurs calculées Problème: balance exploration/exploitation de la politique dérivée durant l’apprentissage Comment obtenir le meilleur des approches vues jusqu’à maintenant? Réponse: reconnaissance de plans IFT702 Mariane Maynard

Hybride des 2 précédentes approches: Policy gradients avec valeur apprise plutôt qu’estimation du retour tirée directement des échantillons Une approche par avantage peut contrôler la variance des mises à jour Apprentissage par valeurs où la politique est dérivée d’un réseau de neurones Beaucoup moins vorace que de dériver la politique optimale http://rll.berkeley.edu/deeprlcourse/f17docs/lecture_3_rl_intro.pdf http://rll.berkeley.edu/deeprlcourse Sergey Levine

http://cs231n.stanford.edu/slides/2017/cs231n_2017_lecture14.pdf IFT702 Froduald Kabanza

IFT702 Froduald Kabanza

TD-learning TD-learning IFT702 Froduald Kabanza

Peut se faire en parallèle Mise à jour de la critique 𝑄 𝜑 𝜋 𝐬 𝑖 , 𝐚 𝑖 =𝑟 𝐬 𝑖 , 𝐚 𝑖 +𝛾 𝑉 𝜑 𝜋 𝐬 𝑖 Calcul du gradient de la « batch » Mise à jour de l’acteur Acteur: la politique apprise Critique: la valeur apprise Avantages: Réduit la variance du gradient de la politique Moins vorace que Q-learning Design en vigueur: Un réseau avec 2 têtes (sorties) plutôt que 2 réseaux différents Simulé dans plusieurs enviros en parallèle plutôt qu’1 exemple (online) ou plusieurs consécutifs (batch) Ex. A3C, A2C, etc. http://rll.berkeley.edu/deeprlcourse/f17docs/lecture_5_actor_critic_pdf.pdf http://rll.berkeley.edu/deeprlcourse Sergey Levine

ACKTR: un exemple d’algo acteur-critique https://blog.openai.com/baselines-acktr-a2c/ IFT702 Froduald Kabanza

Apprentissage acteur-critique: résumé On entraîne un réseau à partir d’échantillons 𝑜 𝑡 , 𝑟 𝑡 générés par notre politique 𝜋 𝜃 (acteur) Le réseau tente également d’apprendre la valeur V 𝑜 𝑡 ;𝜑 qui respecte l’égalité: V(s) = R(s) + γ V(s’) La critique sert à améliorer l’acteur 𝜋 𝜃 Problème: approche encore très spécialisée Nécessite beaucoup d’échantillons Apprentissage ne se transfère pas aisément à d’autres tâches, même dans le même environnement Ex. Le robot qui apprend à aller au point A aura beaucoup de difficulté à apprendre à aller au point B Comment améliorer le transfert d’apprentissages? Réponse: reconnaissance de plans IFT702 Mariane Maynard

Par exemple: Value iteration Policy iteration http://rll.berkeley.edu/deeprlcourse/f17docs/lecture_3_rl_intro.pdf Par exemple: Value iteration Policy iteration http://rll.berkeley.edu/deeprlcourse Sergey Levine

http://rll.berkeley.edu/deeprlcourse Sergey Levine On apprend une politique avec notre réseau On exécute la politique dans notre environnement (modéliser par notre modèle de transitions) Au final, on tente de maximiser la somme des récompenses obtenues en moyenne en appliquant la politique dans notre environnement. On tente de trouver les paramètres optimaux qui vont nous permettre d’atteindre cet objectif http://rll.berkeley.edu/deeprlcourse Sergey Levine

http://rll.berkeley.edu/deeprlcourse Sergey Levine À date, on a ignorer le modèle des transitions http://rll.berkeley.edu/deeprlcourse Sergey Levine

http://rll.berkeley.edu/deeprlcourse Sergey Levine

http://rll.berkeley.edu/deeprlcourse Sergey Levine 2a. Oui, pensez à value iteration ou policy iteration 2b. On pourrait même utiliser les algos de planning vus jusqu’à maintenant (en supposant que le modèle est déterministe) 3. Peut-on les apprendre? 4. Comment dériver les politiques? http://rll.berkeley.edu/deeprlcourse Sergey Levine

Rappel : Approche par programmation dynamique adaptative Idée derrière la programmation dynamique adaptative (PDA) tirer profit des équations de la fonction de valeur pour estimer U(s) L’approche par PDA n’apprend pas directement U(s), mais apprend plutôt le modèle de transition P(s’|s, a) étant donnée une estimation de P(s’|s, a), on peut résoudre Uπ(s) = R(s) + γ Σ s’  S P(s’|s, π(s)) Uπ(s’) on obtient alors notre estimation de U(s) On peut estimer P(s’|s, a) à partir des fréquences des transitions observées: P(s’|s, a) = Σ 𝑁 𝑠 ′ |𝑠𝑎 essais nb. de transitions de (s,a,s’) dans l’essai Un agent qui utilise la prorammation dynamique adaptative tire parti des contraintes entre les utilités des états en apprenant le modèle de transition qui les relie et en résolvant le processus de décision de Markov à l’aide de la programmation dynamique. Cela revient, pour un agent passif, à insérer le modèle de transition P(s’|s,pi(s)) appris et les récompenses R(s) dans les équation de Bellman. Problème: on a pas accès aux états en tant que tel: Seulement aux observations Comment apprendre les transitions à partir des observations??? 𝑁 𝑠𝑎 nb. de fois que l’action a est choisi dans l’état s dans l’essai somme sur tous les essais IFT 615 Froduald Kabanza

Problème avec PDA Problème: on a pas accès aux états 𝑠 𝑡 Seulement aux observations 𝑜 𝑡 Comment apprendre le modèle de transitions dans ce cas? Plusieurs solutions, ex.: apprendre 𝑠 𝑡 à partir de 𝑜 𝑡 Comment évaluer si 𝑠 𝑡 est bon sans le modèle ou des exemples étiquetés? Il existe plusieurs approches, aucune de parfaite Dépassent le cadre du cours IFT702 Mariane Maynard

http://rll.berkeley.edu/deeprlcourse Sergey Levine http://rll.berkeley.edu/deeprlcourse/f17docs/lecture_10_imitating_optimal_control.pdf Comparaison des algorithmes en terme du nombre d’échantillons nécessaires à l’apprentissage Moins on a besoin d’échantillons, plus la solution est transférable à d’autres tâches (transfer learning) avec un minimum de ré-entraînement Ne veut pas dire que c’est moins long en pratique ou que la solution dérivée sera nécessairement optimale Plus long dériver la politique optimale post-entraînement http://rll.berkeley.edu/deeprlcourse Sergey Levine

Étude de cas : AlphaGo Zero Dans tous les algos présentés, Qu’est-ce qui distingue l’apprentissage par renforcement par rapport à l’apprentissage supervisé? En quoi est-il commun? IFT702 Mariane Maynard

Premier lieu: Alpha Go IFT702 Froduald Kabanza

Mariane Maynard [Silver et al., Nature, 2016] IFT702 Mariane Maynard [Silver et al., Nature, 2016]

Mariane Maynard [Silver et al., Nature, 2017] AlphaGo Zero Même idée: on a un réseau (cette fois-ci politique et valeur combinée dans une même architecture acteur-critique à 2 têtes) On se sert de l’acteur pour guider la recherche dans MCTS (politique d’exploration) On se sert de la critique pour l’évaluation des nœuds. Nouveauté: pas de rollout Autre nouveauté: On part tabula rasa, c’est-à-dire, d’un réseau non entraîné et sans supervision humaine Comment le réseau est-il entraîné? On joue des parties avec MCTS et on génères des tuples 𝑠,𝜋,𝑧 pour chaque mouvement, où 𝑠 est l’état du jeu avant le mouvement, 𝜋 la politique choisie par MCTS, et 𝑧 est le résultat d’une partie On échantillonne de cette banque de mouvements et on calcule 𝑝,𝑣 = 𝑓 𝜃 𝑠 (on passe 𝑠 au réseau) On minimise la perte 𝐿= 𝑧−𝑣 2 − 𝜋 𝑇 log 𝑝 (i.e. la sortie du réseau) par SGD De temps à autre, on utilise le nouveau réseau entraîné dans MCTS et on joue de nouvelles parties IFT702 Mariane Maynard [Silver et al., Nature, 2017]

Mariane Maynard [Silver et al., Nature, 2017] AlphaGo Zero Comment le réseau est-il entraîné? On joue des parties avec MCTS et on génères des tuples 𝑠,𝜋,𝑧 pour chaque mouvement, où 𝑠 est l’état du jeu avant le mouvement, 𝜋 la politique choisie par MCTS, et 𝑧 est le résultat d’une partie On échantillonne de cette banque de mouvements et on calcule 𝑝,𝑣 = 𝑓 𝜃 𝑠 (on passe 𝑠 au réseau) On minimise la perte 𝐿= 𝑧−𝑣 2 − 𝜋 𝑇 log 𝑝 (i.e. la sortie du réseau) par SGD De temps à autre, on utilise le nouveau réseau entraîné dans MCTS et on joue de nouvelles parties Le réseau est supervisé par MCTS, qui lui-même est aidé par le réseau AlphaGo Zero est son propre enseignant Résultat: plus la politique 𝑝 s’approche de 𝜋 et les évaluations 𝑣 de 𝑧, meilleures elles deviennent Meilleures sont 𝑝 et 𝑣, plus rapidement MCTS convergera vers 𝜋 ∗ pour chaque joueur Plus 𝜋 est optimale, meilleur la supervision devient, et ainsi de suite. IFT702 Mariane Maynard [Silver et al., Nature, 2017]

AlphaGo Zero vs AlphaGo AlphaGo Zero [Silver et al., Nature, 2017] AlphaGo Fan/Lee (1res versions) [Silver et al., Nature, 2016] Exécuté sur 1 machine avec 4 TPUs Temps d’entraînement: 36h pour battre AlphaGo Lee Entrée: Positions des pierres sur le plateau seulement Aucune supervision humaine Pas de rollouts dans MCTS 1 seul réseau à 2 têtes Exécution distribuée sur 176 GPUs (Fan) puis 48 TPUs (Lee) Temps d’entraînement: plusieurs mois pour AlphaGo Lee Entrée: positions, libertés, taille du atari, « ladder capture/escape » etc. Supervision humaine pour la politique Rollouts + valeur du réseau 2 réseaux distincts pour la politique et la valeur IFT702 Mariane Maynard

Résumé L’apprentissage par renforcement permet d’apprendre à « planifier » dans un environnement inconnu L’approche MDP est très attrayante parce qu’elle combine raisonnement probabiliste et optimisation avec élégance Les avancées en apprentissage profond permettent d’apprendre directement des données des senseurs Il existe plusieurs approches à l’apprentissage par renforcement (profond): Apprentissage par imitation Apprentissage par politique Apprentissage par valeurs Apprentissage par modèles L’apprentissage par renforcement vs l’apprentissage supervisé est autonome, i.e. l’agent peut se superviser lui-même Par contre, l’apprentissage par renforcement n’est pas encore mature. Pour un résumé (pessimiste) des récentes avancées: https://www.alexirpan.com/2018/02/14/rl-hard.html En attendant les véritables percées, les techniques traditionnelles restent encore la meilleure option, surtout en robotique i.e. planification classique IFT702 Mariane Maynard

Références MDP : IFT615 - Russel & Norvig. Artificial Intelligence A Modern Approach (2010) Malik Ghallab, Dana Nau & Paolo Traverso. Automated Planning: theory and practice. Morgan Kaufmann, 2004. Matériel du cours IFT615: http://planiart.usherbrooke.ca/cours/ift615/ Matériel du cours CS231n de Stanford: http://cs231n.stanford.edu Matériel du cours CS294 de Berkeley: http://rll.berkeley.edu/deeprlcourse Matériel de Hugo Larochelle: http://www.dmi.usherb.ca/~larocheh/cours/ift725_A2012 Silver, D. et al. (2016). Mastering the game of Go with deep neural networks and tree search. Nature, 529, pp. 484-503. Silver, D. et al. (2017). Mastering the game of Go without human knowledge. Nature, 550, pp. 354-359. IFT702 Mariane Maynard