Reinforcement Learning 101

Reinforcement Learning 101

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

6fa0edd308b50104cf80071bcde80633?s=128

Yoann Benoit

May 09, 2017
Tweet

Transcript

  1. Data, Data Everywhere!

  2. Reinforcement Learning Quand les algorithmes apprennent comme des êtres humains

    !
  3. Apprendre à marcher

  4. Apprentissage supervisé ? Apprentissage non-supervisé ? Apprentissage supervisé Apprentissage non

    supervisé Apprentissage par renforcement
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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)
  10. Un exemple simple

  11. 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 .
  12. 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 !
  13. 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 !
  14. Comment développer une stratégie optimale ? Q-Learning

  15. 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
  16. 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
  17. Récompense totale future

  18. Récompense totale future Environnement stochastique => Pondération pour les récompenses

    futures
  19. Q-value Récompense future estimée

  20. 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
  21. 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
  22. équation de Bellman On peut itérativement approximer la fonction Q

    en utilisant l’équation de Bellman Objectif Prédiction
  23. Prenons un exemple

  24. État Initial S1,1 start Reward = 0 S1,2 Reward =

    0 S2,1 Reward = 0 S2,2 end Reward = 10
  25. É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:
  26. itération 1ère

  27. 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
  28. 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
  29. 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
  30. 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
  31. itération 2ème

  32. 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
  33. 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
  34. 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
  35. 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
  36. 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
  37. 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
  38. Comment choisir l’action ?

  39. Le dilemme Exploration-Exploitation Prendre la meilleure décision à partir des

    informations connues Exploration Rassembler plus d’information sur l'environnement Exploitation
  40. 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
  41. itérations Dernières

  42. 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
  43. Q-learning Q-Learning ~10 episodes

  44. Q-learning Q-Learning ~10 episodes ~60 episodes

  45. Q-Learning Q-Learning ~10 episodes ~60 episodes ~150 episodes

  46. Prenons un exemple un peu plus dur !

  47. None
  48. 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 !
  49. DEEP Reinforcement Learning

  50. 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
  51. 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
  52. 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’
  53. Demo Time !

  54. Deep Q-Learning Deep Q-Learning 20000 time steps

  55. Deep Q-Learning Deep Q-Learning 20000 time steps 60000 time steps

  56. Deep Q-Learning Deep Q-Learning 20000 time steps 60000 time steps

    200000 time steps
  57. Deep Q-Learning Deep Q-Learning 20000 time steps 60000 time steps

    200000 time steps 2390000 time steps
  58. Bonnes pratiques pour la convergence

  59. 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)
  60. 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
  61. Le Reinforcement Learning aujourd’hui

  62. None
  63. None
  64. None
  65. Les outils

  66. The end ... MERCI FLAPPY ! https://github.com/xebia-france/intro -reinforcement-learning/

  67. #BeXebian recrutement@xebia.fr