Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Reinforcement Learning 101

Reinforcement Learning 101

(In French) Introduction to Reinforcement Learning and Deep Reinforcement Learning concepts with demos.

Yoann Benoit

May 09, 2017
Tweet

More Decks by Yoann Benoit

Other Decks in Programming

Transcript

  1. Apprentissage supervisé ? Apprentissage non-supervisé ? Apprentissage supervisé Données labellisées

    Pour chaque nouvelle donnée, une notion de classe / valeur associée Apprentissage non supervisé Apprentissage par renforcement
  2. Apprentissage supervisé ? Apprentissage non-supervisé ? Apprentissage supervisé Données labellisées

    Pour chaque nouvelle donnée, une notion de classe / valeur associée Apprentissage non supervisé Données non labellisées Découverte de structures dans les données sans supervision Apprentissage par renforcement
  3. Apprentissage supervisé ? Apprentissage non-supervisé ? Apprentissage supervisé Données labellisées

    Pour chaque nouvelle donnée, une notion de classe / valeur associée Apprentissage non supervisé Données non labellisées Découverte de structures dans les données sans supervision Apprentissage par renforcement Processus de décision Notion de récompense = label avec retardement
  4. Apprentissage supervisé ? Apprentissage non-supervisé ? Apprentissage supervisé Données labellisées

    Pour chaque nouvelle donnée, une notion de classe / valeur associée Apprentissage non supervisé Données non labellisées Découverte de structures dans les données sans supervision Apprentissage par renforcement Processus de décision Notion de récompense = label avec retardement
  5. Reinforcement Learning Framework 1. L’agent est dans un état s

    au sein de l’environnement 2. L’agent prend une action a 3. L’environnement renvoie le nouvel état s’ et une récompense pour avoir pris l’action a dans l’ état s Ensemble des transitions : Processus Décisionnel de Markov Agent Environnement etat (s’) récompense (s,a) action (a)
  6. Exemple: le problème du Cart Pole ! Description d’un état

    : • : distance parcourue par le chariot • ẋ: vitesse de déplacement de le chariot • : l’angle entre la tige et la verticale • : vitesse angulaire de la tige 2 actions possibles : • Aller vers la droite: F • Aller vers la gauche: -F Échec si: • x >2.4 unité du centre ou x<-2.4 • > 15° par rapport à la verticale .
  7. Stratégie naïve La tige tombe vers la droite ? Application

    de la force vers la droite ! La tige tombe vers la gauche ? Application de la force vers la gauche !
  8. Stratégie naïve La tige tombe vers la droite ? Application

    de la force vers la droite ! La tige tombe vers la gauche ? Application de la force vers la gauche !
  9. Stratégie d’un agent dans l’environnement Objectif d’un agent : toujours

    choisir l’action qui maximise sa récompense totale future espérée
  10. Stratégie d’un agent dans l’environnement Objectif d’un agent : toujours

    choisir l’action qui maximise sa récompense totale future espérée
  11. Q-value Récompense future estimée Le meilleur score possible à la

    fin jeu après l'exécution d’une action a dans l'état s
  12. Q-value Récompense future estimée Equation de Bellman Le meilleur score

    possible à la fin jeu après l'exécution d’une action a dans l'état s
  13. équation de Bellman On peut itérativement approximer la fonction Q

    en utilisant l’équation de Bellman Objectif Prédiction
  14. État Initial S1,1 start Reward = 0 S1,2 Reward =

    0 S2,1 Reward = 0 S2,2 end Reward = 10
  15. État Initial Up Down Right Left S1,1 X 0 0

    X S1,2 X 0 X 0 S2,1 0 X 0 X S1,1 start Reward = 0 S1,2 Reward = 0 S2,1 Reward = 0 S2,2 end Reward = 10 Q-table:
  16. Q-Learning - Première itération Up Down Right Left S1,1 X

    0 0 X S1,2 X 0 X 0 S2,1 0 X 0 X S1,1 start Reward = 0 S1,2 Reward = 0 S2,1 Reward = 0 S2,2 end Reward = 10 Q(S1,1 , Right) = 0+ 0.8 * 0 = 0
  17. Q-Learning - Première itération Up Down Right Left S1,1 X

    0 0 X S1,2 X 0 X 0 S2,1 0 X 0 X S1,1 start Reward = 0 S1,2 Reward = 0 S2,1 Reward = 0 S2,2 end Reward = 10 Q(S1,1 , Right) = 0+ 0.8 * 0 = 0
  18. Q-Learning - Première itération Up Down Right Left S1,1 X

    0 0 X S1,2 X 0 X 0 S2,1 0 X 0 X S1,1 start Reward = 0 S1,2 Reward = 0 S2,1 Reward = 0 S2,2 end Reward = 10 Q(S1,2 , Down) = 10 + 0.8 * 0 = 10
  19. Q-Learning - Première itération Up Down Right Left S1,1 X

    0 0 X S1,2 X 10 X 0 S2,1 0 X 0 X S1,1 start Reward = 0 S1,2 Reward = 0 S2,1 Reward = 0 S2,2 end Reward = 10 Q(S1,2 , Down) = 10 + 0.8 * 0 = 10
  20. Q-Learning - Seconde itération Up Down Right Left S1,1 X

    0 0 X S1,2 X 10 X 0 S2,1 0 X 0 X S1,1 start Reward = 0 S1,2 Reward = 0 S2,1 Reward = 0 S2,2 end Reward = 10 Q(S1,1 , Right) = 0 + 0.8 * 10 = 8
  21. Q-Learning - Seconde itération Up Down Right Left S1,1 X

    0 8 X S1,2 X 10 X 0 S2,1 0 X 0 X S1,1 start Reward = 0 S1,2 Reward = 0 S2,1 Reward = 0 S2,2 end Reward = 10 Q(S1,1 , Right) = 0 + 0.8 * 10 = 8
  22. Q-Learning - Seconde itération Up Down Right Left S1,1 X

    0 8 X S1,2 X 10 X 0 S2,1 0 X 0 X S1,1 start Reward = 0 S1,2 Reward = 0 S2,1 Reward = 0 S2,2 end Reward = 10 Q(S1,2 , Left) = 0 + 0.8 * 8 = 6.4
  23. Q-Learning - Seconde itération Up Down Right Left S1,1 X

    0 8 X S1,2 X 10 X 6.4 S2,1 0 X 0 X S1,1 start Reward = 0 S1,2 Reward = 0 S2,1 Reward = 0 S2,2 end Reward = 10 Q(S1,2 , Left) = 0 + 0.8 * 8 = 6.4
  24. Q-Learning - Seconde itération Up Down Right Left S1,1 X

    0 8 X S1,2 X 10 X 6.4 S2,1 0 X 0 X S1,1 start Reward = 0 S1,2 Reward = 0 S2,1 Reward = 0 S2,2 end Reward = 10 Q(S1,1 , Right) = 0 + 0.8 * 10 = 8
  25. Q-Learning - Seconde itération Up Down Right Left S1,1 X

    0 8 X S1,2 X 10 X 6.4 S2,1 0 X 0 X S1,1 start Reward = 0 S1,2 Reward = 0 S2,1 Reward = 0 S2,2 end Reward = 10 Q(S1,2 , Down) = 10 + 0.8 * 0 = 10
  26. Le dilemme Exploration-Exploitation Prendre la meilleure décision à partir des

    informations connues Exploration Rassembler plus d’information sur l'environnement Exploitation
  27. Choisir une action Up Down Right Left S1,1 X 0

    8 X S1,2 X 10 X 6.4 S2,1 0 X 0 X S1,1 start Reward = 0 S1,2 Reward = 0 S2,1 Reward = 0 S2,2 end Reward = 10 tirage = un nombre aléatoire entre 0 et 1. Si (tirage < ) alors action aléatoire Sinon action ayant la Q-value maximale. Stratégie -greedy
  28. Choisir une action Up Down Right Left S1,1 X 8

    8 X S1,2 X 10 X 6.4 S2,1 6.4 X 10 X S1,1 start Reward = 0 S1,2 Reward = 0 S2,1 Reward = 0 S2,2 end Reward = 10
  29. Flappy Bird ! Comment entraîner un agent dans un environnement

    complexe ? Description d’un état : pixels de l’image 2 actions possibles : • Flap • Not Flap 10^67970 états possibles ! • Images en niveaux de gris • Réduites à 80x80 pixels • 4 frames en même temps Plus de lignes dans la Q-Table que le nombre d’atomes dans l’univers !
  30. Deep Q-Network Deep Neural Network pour approximer la Q-Function •

    Prends les pixels de l’image en input • Retourne la Q-Value associée à chaque action Le réseau de neurones compresse la Q-Table Source : https://www.nervanasys.com/ demystifying-deep-reinforcement-learning/ Convolutional neural network Not Flap Flap
  31. Réseau Utilisé : Convolutional Neural Network Convolutional Neural Network •

    2 (ou 3) couches de convolution • 2 couches denses Pas de pooling layers : Nécessaire d’ être sensible à la localisation
  32. Réseau utilisé : Convolutional Neural Network Pour une transition <s,

    a, r, s’> : 1. Inférence pour l’état courant s 2. Inférence pour le nouvel état s’ 3. Mise à jour de la Q-Value cible pour l’action a via l’équation de Bellman Q-Value laissée à l’identique pour les autres actions 4. Mise à jour des poids via la backpropagation Q-Values state s state s’
  33. Expérience Replay Principe : • Stocker plusieurs expériences <s, a,

    r, s’> durant la partie • Tirage d’un sample dans la mémoire au lieu des transitions les plus récentes Objectif : Casser la similarité entre les données qui se suivent du jeu d’entraînement (évite de tomber dans un minimum local)
  34. Exploration - Exploitation Doit-on toujours prendre les actions qui maximisent

    la récompense finale espérée ? Exploration ε-greedy : • Action aléatoirement avec une probabilité ε, sinon meilleure solution calculée • Décroître ε avec le temps alors que la Q-function converge Flap Not Flap p = 0.12 p = 0.88