Si vous ne pouvez pas créer un modèle d’apprentissage automatique à partir de zéro ou si vous ne disposez pas de l’infrastructure nécessaire, le simple fait de connecter votre application à un modèle fonctionnel permet de combler cette lacune.
L’intelligence artificielle est là pour que tout le monde l’utilise d’une manière ou d’une autre. En ce qui concerne OpenAI Gym, il existe de nombreux terrains d’entraînement explorables pour alimenter vos agents d’apprentissage par renforcement.
Qu’est-ce qu’OpenAI Gym, comment fonctionne-t-il et que pouvez-vous construire en l’utilisant ?
Qu’est-ce que OpenAI Gym ?
OpenAI Gym est une API Pythonique qui fournit des environnements de formation simulés pour les agents d’apprentissage par renforcement qui agissent en fonction des observations de l’environnement ; chaque action s’accompagne d’une récompense positive ou négative, qui s’accumule à chaque pas de temps. Chaque action est assortie d’une récompense positive ou négative qui s’accumule à chaque pas de temps. Alors que l’agent vise à maximiser les récompenses, il est pénalisé pour chaque décision inattendue.
Le pas de temps est un tick à temps discret pour que l’environnement passe à un autre état. Il s’additionne au fur et à mesure que les actions de l’agent modifient l’état de l’environnement.
Comment fonctionne OpenAI Gym ?
Les environnements d’OpenAI Gym sont basés sur le processus de décision de Markov (MDP), un modèle de prise de décision dynamique utilisé dans l’apprentissage par renforcement. Ainsi, il s’ensuit que les récompenses ne viennent que lorsque l’environnement change d’état. Et les événements de l’état suivant ne dépendent que de l’état actuel, car le PDM ne tient pas compte des événements passés.
Avant de poursuivre, plongeons dans un exemple pour comprendre rapidement l’application d’OpenAI Gym dans l’apprentissage par renforcement.
En supposant que vous ayez l’intention d’entraîner une voiture dans un jeu de course, vous pouvez créer une piste de course dans OpenAI Gym. Dans l’apprentissage par renforcement, si le véhicule tourne à droite au lieu de tourner à gauche, il peut recevoir une récompense négative de -1. La piste de course change à chaque pas de temps et peut devenir plus compliquée dans les états suivants.
Les récompenses ou pénalités négatives ne sont pas mauvaises pour un agent dans le cadre de l’apprentissage par renforcement. Dans certains cas, elles l’encouragent à atteindre son objectif plus rapidement. Ainsi, la voiture apprend à connaître la piste au fil du temps et maîtrise sa navigation à l’aide de séries de récompenses.
Par exemple, nous avons lancé le Lac gelé-v1 où un agent est pénalisé s’il tombe dans des trous de glace, mais récompensé s’il récupère un paquet cadeau.
Notre premier essai a généré moins de pénalités et aucune récompense :
Cependant, une troisième itération a produit un environnement plus complexe. Mais l’agent a obtenu quelques récompenses :
Le résultat ci-dessus n’implique pas que l’agent s’améliorera lors de la prochaine itération. Bien qu’il puisse réussir à éviter plus de trous la prochaine fois, il se peut qu’il n’obtienne aucune récompense. Mais la modification de quelques paramètres pourrait améliorer sa vitesse d’apprentissage.
Les composants du gymnase OpenAI
L’API OpenAI Gym s’articule autour des composants suivants :
- L’API environnements où vous formez un agent. Vous pouvez en initier une à l’aide de la fonction gym.make méthode. OpenAI Gym supporte également les environnements multi-agents.
- La enveloppes pour modifier un environnement existant. Bien que chaque environnement de base soit pré-enveloppé par défaut, vous pouvez le redimensionner à l’aide de paramètres tels que max_actions, min_actions et max rewards.
- Un action; définit ce que fait l’agent lorsqu’il observe des changements dans son environnement. Chaque action dans un environnement est une étape qui définit la réponse de l’agent aux observations. L’achèvement d’une étape renvoie une observation, une récompense, une information et une valeur de troncature ou de terminaison.
- Le observation; définit l’expérience d’un agent dans un environnement. Une fois qu’il y a une observation, une action suit avec son info. Le paramètre info est un journal d’exécution pratique pour le débogage. Lorsqu’une étape se termine, l’environnement se réinitialise n fois, en fonction du nombre d’itérations spécifié.
Que pouvez-vous faire avec OpenAI Gym ?
OpenAI Gym vous permet de créer des environnements d’apprentissage personnalisés. Voici quelques façons de l’utiliser dans un scénario de la vie réelle.
1. Simulation de jeu
Vous pouvez exploiter les environnements de jeu d’OpenAI Gym pour récompenser les comportements souhaités, créer des récompenses de jeu et augmenter la complexité par niveau de jeu.
2. Reconnaissance d’images
Lorsque les données, les ressources et le temps sont limités, OpenAI Gym peut être utile pour développer un système de reconnaissance d’images. À un niveau plus profond, vous pouvez l’adapter pour construire un système de reconnaissance de visages, qui récompense un agent qui identifie correctement les visages.
3. Entraînement des robots
OpenAI Gym offre également des modèles d’environnement intuitifs pour les simulations 3D et 2D, où vous pouvez implémenter les comportements souhaités dans les robots. Roboschool est un exemple de logiciel de simulation de robot à échelle réduite construit à l’aide d’OpenAI Gym.
4. Marketing
Vous pouvez également construire des solutions marketing telles que des serveurs publicitaires, des robots d’échange d’actions, des robots de prédiction des ventes, des systèmes de recommandation de produits, et bien d’autres encore en utilisant OpenAI Gym. Par exemple, vous pouvez construire un modèle OpenAI Gym personnalisé qui pénalise les publicités en fonction du taux d’impression et de clic.
5. Traitement du langage naturel
Certaines façons d’appliquer OpenAI Gym au traitement du langage naturel sont des questions à choix multiples impliquant l’achèvement de phrases ou la construction d’un classificateur de spam. Par exemple, vous pouvez entraîner un agent à apprendre des variations de phrases pour éviter les biais lors de la notation des participants.
Comment démarrer avec OpenAI Gym
OpenAI Gym supporte Python 3.7 et les versions ultérieures. Pour mettre en place un environnement OpenAI Gym, vous devez installer gymnasela version forkée et continuellement supportée de gymnasium :
pip install gymnasium
Ensuite, créez un environnement. Vous pouvez créer un environnement personnalisé. Mais commencez par jouer avec un environnement existant pour maîtriser le concept d’OpenAI Gym.
Le code ci-dessous fait tourner le Lac gelé-v1. Les env.reset enregistre l’observation initiale :
import gymnasium as gym
env = gym.make('FrozenLake-v1', render_mode="human")
observation, info = env.reset()
Certains environnements nécessitent des bibliothèques supplémentaires pour fonctionner. Si vous devez installer une autre bibliothèque, Python vous le recommande via le message d’exception.
Par exemple, vous installerez une bibliothèque supplémentaire (gymnase[toy-text]) pour diriger le Lac gelé-v1 environnement.
S’appuyer sur la puissance d’OpenAI Gym
L’un des inconvénients du développement de l’IA et de l’apprentissage automatique est le manque d’infrastructures et d’ensembles de données d’entraînement. Mais si vous cherchez à intégrer des modèles d’apprentissage automatique dans vos applications ou appareils, c’est désormais plus facile grâce aux modèles d’IA prêts à l’emploi qui circulent sur Internet. Si certains de ces outils sont peu coûteux, d’autres, comme OpenAI Gym, sont gratuits et libres.