Intelligence artificielle

L'autre type d'apprentissage machine – Vers la science des données

L'autre type d'apprentissage machine - Vers la science des données


Une brève introduction à l'apprentissage par renforcement

Ceci est le premier d'une série d'articles sur l'apprentissage du renforcement et OpenAI Gym.

introduction

Supposons que vous jouiez à un jeu vidéo. Vous entrez dans une pièce à deux portes. Derrière la porte 1 se trouvent 100 pièces d'or, suivies d'un passage. Derrière la porte 2 se trouve 1 pièce en or, suivie d'un deuxième passage dans une direction différente. Une fois que vous avez franchi l'une des portes, vous ne pouvez plus revenir en arrière. Laquelle des portes devriez-vous choisir?

Si votre décision est uniquement basée sur l'optimisation de votre récompense (ou de votre score) immédiat (e), alors votre réponse sera la Porte 1. Cependant, l'objectif de la plupart des jeux vidéo n'est pas de maximiser votre score dans une seule section du jeu, mais de maximiser. votre score pour le jeu entier. Après tout, il pourrait y avoir 1000 pièces d'or à la fin du passage derrière la porte 2, pour autant que vous sachiez.

La seule façon de vraiment répondre à cette question est de jouer au jeu plusieurs fois. essayez une porte différente à chaque fois; puis, en fonction des informations que vous avez collectées, déterminez votre stratégie optimale.

Le scénario que je viens de décrire est un exemple classique d’apprentissage par renforcement (RL), l’autre type d’auto-apprentissage souvent négligé. Dans cet article, je vais vous présenter les caractéristiques de base de RL et présenter Q-learning, l’algorithme RL fondamental.

Qu'est-ce que l'apprentissage par renforcement?

L'apprentissage par renforcement, avec l'apprentissage supervisé et l'apprentissage non supervisé, est l'un des trois types fondamentaux d'apprentissage par la machine.

En apprentissage supervisé, un jeu de données étiqueté vous est attribué. Le but est d'utiliser cet ensemble de données pour déterminer une règle générale vous permettant d'étiqueter tout nouveau point de donnée que vous pourriez rencontrer.

Par exemple, en utilisant un ensemble de données contenant des images étiquetées d'animaux de compagnie, créez un modèle qui vous permettra d'étiqueter de nouvelles images d'animaux de compagnie que vous pourriez rencontrer.

Dans l'apprentissage non supervisé, un jeu de données non étiqueté vous est attribué. Le but est de tirer des conclusions sur la structure sous-jacente des données, simplement en examinant les relations existant entre les points de données.

Par exemple, identifier des grappes d'images d'aspect similaire dans l'ensemble de données de chiffres manuscrits du MNIST.

Dans l’apprentissage par renforcement, toutefois, plutôt que d’être présenté avec un jeu de données au début, vous êtes généralement présenté avec un «environnement» initialement inconnu (tel qu’un labyrinthe, la bourse américaine ou même le monde réel) et vous devez collecter des données en: Parler des actions dans cet environnement (par exemple, choisir laquelle des deux portes doit passer par un jeu vidéo) et en observer les conséquences.

Les types de problèmes auxquels RL est appliqué sont appelés «problèmes de décision séquentiels». Le but ultime est de déterminer la séquence optimale des actions permettant de maximiser votre gain à long terme.

Le fait que l'environnement soit initialement inconnu est important, car si l'environnement était parfaitement connu, vous n'auriez pas besoin d'interagir avec cet environnement pour collecter des informations à ce sujet.

Les caractéristiques clés des problèmes de RL sont alors:

  • Un environnement initialement inconnu: vous devez explorer l'environnement afin d'obtenir des informations à ce sujet;
  • Rétroaction retardée: après avoir pris une mesure, il peut s'écouler un certain temps avant de réaliser pleinement les conséquences à long terme de cette mesure; et
  • Prise de décision séquentielle: la récompense globale reçue est généralement le résultat d'une séquence d'actions multiples plutôt que d'une seule action autonome.

De nombreuses recherches ont été consacrées au développement d’algorithmes permettant de résoudre les problèmes de LR. Q-learning est l'un des plus connus.

Q-Learning

Les algorithmes RL sont de deux types: «basés sur un modèle» et «sans modèle».

Avec la LR «basée sur un modèle», nous déterminons le plan d’action optimal (également appelé méthode optimale). politique) en utilisant un modèle prédéterminé de notre environnement (qui peut être inexact ou exact), alors qu'avec RL «sans modèle», notre objectif est de déterminer la politique optimale en interagissant avec l'environnement.

Les algorithmes de RL sans modèle peuvent, à leur tour, être divisés en deux types: «sur stratégie» et «hors stratégie», en relation avec la manière dont nous interagissons avec l'environnement pour collecter des informations à ce sujet.

Avec les algorithmes «sur la politique», nous prenons des décisions relatives à nos actions en fonction de notre «meilleure» politique au moment de la prise de décision, puis nous utilisons les informations recueillies lors de la prise de cette action pour améliorer la meilleure politique.

Avec les algorithmes «hors politique», en revanche, notre comportement en interaction avec (ou en explorant) l'environnement peut ne pas être lié à ce que nous pensons être le meilleur optimal au moment de prendre les mesures.

Par exemple, nous pouvons choisir délibérément de prendre une mesure que nous savons sous-optimale à court terme afin de déterminer si elle permet d’obtenir une plus grande récompense à long terme.

Q-Learning est un algorithme RL «sans modèle, hors stratégie».

Q-learning fonctionne en construisant un tableau de valeurs Q, Q (s, a), représentant la récompense escomptée (à long terme) escomptée de l'action. une en état d'environnement s, puis améliorer de manière itérative sur cette table en interagissant avec l’environnement jusqu’à ce que la table Q optimale soit trouvée.

Initialement, toutes les valeurs de la table Q sont égales à de petits nombres aléatoires (à l'exception des valeurs Q (s, a) pour les états terminaux, égales à 0).

Chaque fois qu'une action est entreprise dans l'environnement, un tuple (état, action, récompense, nouvel état) est produit. Ceci représente l'état de l'environnement immédiatement avant l'action, s, l'action prise dans cet état, une, la récompense immédiate reçue suite à cette action, ret le nouvel état de l'environnement à la suite de l'action, s ’.

Ces tuples (état, action, récompense, nouvel état) sont utilisés pour mettre à jour de manière itérative les valeurs de la table Q, où la valeur Q (s, a) mise à jour, notée Q '(s, a), est définie comme égale à la valeur pondérée. moyenne de l'ancienne valeur Q (s, a) et de la valeur Q impliquée par la nouvelle observation. Autrement dit, la somme de (i) la récompense immédiate et (ii) de la récompense escomptée reçue à partir du nouvel état, en supposant que vous choisissiez toujours l'action optimale.

Cela peut être exprimé par la règle de mise à jour suivante:

Q ’(s, a) = (1 - w) * Q (s, a) + w * (r + d * Q (s’, argmax a ’: Q (s’, a ’)))

où:

  • w est le poids appliqué à la nouvelle information (également appelé taux d'apprentissage); et
  • d est le taux d'actualisation, ce qui tient compte du fait que 1 $ reçu maintenant vaut plus que 1 $ reçu à l'avenir.

Une fois que la table Q optimale est trouvée, l'action optimale dans un état donné est l'action qui maximise Q (s, a) pour cet état (c'est-à-dire, argmax a: Q (s, a)).

L’efficacité de cet algorithme dépend du choix de la stratégie d’exploration utilisée pour interagir avec l’environnement - si vous ne visitez jamais un état particulier de l’environnement ou n’effectuez aucune action particulière dans cet état, vous ne saurez jamais les conséquences de cette décision. action dans cet état.

Néanmoins, nous ne voulons pas simplement nous déplacer de manière aléatoire dans notre environnement non plus. Idéalement, une fois que nous aurons collecté des informations sur notre environnement, nous souhaiterions exploiter ces informations en concentrant notre exploration future sur les États et actions que nous estimons susceptibles de générer la plus grande récompense. L’une des façons de procéder consiste à utiliser la stratégie gourmande d’epsilon.

Sous la stratégie gourmande d’epsilon, dans un état donné, s, la meilleure action gloutonne (c’est-à-dire celle qui maximise Q (s, a) pour cet état) est choisie avec une probabilité (1 - epsilon), sinon une action aléatoire est sélectionnée.

Souvent, epsilon se décompose avec le temps. Cela encourage l'exploration de l'environnement dans les premières itérations de l'algorithme, mais réduit la quantité d'exploration au fil du temps, ce qui nous permet de nous concentrer davantage sur l'exploitation de cette information.

Si toutes les paires état-action sont visitées un nombre suffisamment grand de fois, il est garanti que l'algorithme Q-learning finira par converger vers la table optimale, bien que le temps nécessaire pour la convergence soit un autre problème.

Exemple

Considérez le labyrinthe suivant (pris d'ici):

Votre but est de former un robot pour trouver le chemin optimal à travers ce labyrinthe, en partant de la cellule (0, 0) et en terminant dans la cellule (6, 6), sans aucune connaissance préalable de l'environnement.

Pour encourager le robot à trouver le chemin le plus court, une petite pénalité de 0,04 unité est appliquée à chaque fois que le robot se déplace dans une cellule vide (blanche), et les obstacles sont des endroits autour du labyrinthe (indiqués en gris) qui entraînent une pénalité plus importante. 0,75 unité si le robot entre dans une cellule contenant l’une d’elles.

Le robot ne peut que monter, descendre, gauche ou droite (les mouvements en diagonale ne sont pas autorisés). Cependant, un niveau d'incertitude est associé à chaque mouvement, de sorte qu'il n'y a que 80% de chances que le robot se déplace dans la direction voulue et 20% de chances que le robot se déplace à angle droit par rapport à la direction souhaitée (réparties également possibilités).

Le robot est incapable de se déplacer en dehors des limites du labyrinthe et, s'il tente de le faire, heurte le mur et sa position reste inchangée.

Si le robot parvient à la fin du labyrinthe, il reçoit une récompense de 1 unité.

En supposant un taux d’actualisation de 0,9, un taux d’apprentissage de 0,3 et une stratégie d’exploration avide avec epsilon avec epsilon (constant) égal à 0,5, nous obtenons la politique suivante après 50 000 itérations de l’algorithme Q-learning. Le diagramme montre la direction optimale que le robot doit prendre dans chaque carré de la grille.

Le code Python permettant de trouver cette solution est disponible ici.

Apprentissage par renforcement dans le monde réel

Bien que l’exemple donné ci-dessus ne semble pas évident, les chercheurs ont trouvé de nombreuses façons d’appliquer RL au monde réel. RL a été utilisé avec succès pour développer des systèmes automatisés de négociation d'actions. optimiser les réactions chimiques; former des voitures autonomes; et apprendre à un ordinateur à jouer à des jeux vidéo mieux que tout être humain; entre autres.

Pour ceux qui cherchent à se lancer dans RL, cependant, l'un des plus gros obstacles a toujours été de mettre la main sur un environnement intéressant et stimulant dans lequel expérimenter. C'est la raison pour laquelle RL est le membre le moins connu de la famille d'apprentissage automatique. Pourtant, depuis l'introduction d'OpenAI Gym, ce n'est plus le cas.

OpenAI Gym est un package Python comprenant une sélection d'environnements RL, allant d'environnements «jouets» simples, tels que celui décrit dans l'exemple, à des environnements plus difficiles, notamment les environnements de robotique simulés et les environnements de jeu vidéo Atari.

Exemples d’environnements disponibles dans OpenAI Gym

Cet ensemble permet aux informaticiens, amateurs et professionnels, d’expérimenter divers algorithmes de RL et même, potentiellement, de les développer.

Résumé

L'apprentissage par renforcement est la branche de l'apprentissage automatique qui traite de l'apprentissage d'une interaction avec un environnement dans lequel le retour d'informations peut être retardé. Dans ce tutoriel, nous avons abordé les caractéristiques de base de RL et présenté l’un des algorithmes les plus connus de tous les algorithmes, Q-learning.

Q-learning implique la création d'une table de valeurs Q (s, a) pour toutes les paires état-action, puis l'optimisation de cette table en interagissant avec l'environnement. La convergence de l’algorithme est assurée à condition que chaque paire état-action soit visitée un nombre de fois suffisant. Mais que se passe-t-il lorsque le nombre d'états et / ou d'actions possibles devient si important que ce n'est plus possible?

Dans mon prochain article, j'expliquerai comment utiliser OpenAI Gym, qui comprend plusieurs environnements qui nous permettront d'explorer cette question plus en détail.

A propos de l'auteur

Genevieve Hayes est une scientifique de données ayant de l'expérience dans les secteurs de l'assurance, du gouvernement et de l'éducation, dans des rôles de gestion et techniques. Elle est titulaire d'un doctorat en statistiques de l'Université nationale australienne et d'une maîtrise en sciences en informatique (apprentissage automatique) du Georgia Institute of Technology. Vous pouvez en apprendre plus sur elle ici.

Show More

SupportIvy

SupportIvy.com : Un lieu pour partager le savoir et mieux comprendre le monde. Meilleure plate-forme de support gratuit pour vous, Documentation &Tutoriels par les experts.

Related Articles

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Close
Close