Développez et comparez des algorithmes d'apprentissage par renforcement à l'aide de cette boîte à outils.
Si vous ne pouvez pas créer un modèle d'apprentissage automatique à partir de zéro ou si vous manquez d'infrastructure, il vous suffit de connecter votre application à un modèle fonctionnel pour combler l'écart.
L'intelligence artificielle est là pour que tout le monde puisse l'utiliser d'une manière ou d'une autre. Quant à OpenAI Gym, il existe de nombreux terrains d'entraînement explorables pour nourrir vos agents d'apprentissage par renforcement.
Qu'est-ce que OpenAI Gym, comment ça marche et que pouvez-vous construire en l'utilisant ?
Qu'est-ce qu'OpenAI Gym?
OpenAI Gym est une API Pythonic qui fournit des environnements d'entraînement simulés pour que les agents d'apprentissage par renforcement agissent en fonction des observations environnementales; chaque action est accompagnée 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 pas de temps discret pour que l'environnement transite dans 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 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 dans l'état suivant ne dépendent que de l'état actuel, car MDP ne tient pas compte des événements passés.
Avant de continuer, plongeons dans un exemple pour une compréhension rapide de 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 faire tourner une piste de course dans OpenAI Gym. Dans l'apprentissage par renforcement, si le véhicule tourne à droite au lieu de gauche, il peut obtenir une récompense négative de -1. L'hippodrome change à chaque pas de temps et peut devenir plus compliqué dans les états suivants.
Les récompenses ou pénalités négatives ne sont pas mauvaises pour un agent en apprentissage par renforcement. Dans certains cas, cela l'encourage à atteindre son objectif plus rapidement. Ainsi, la voiture se renseigne sur la piste au fil du temps et maîtrise sa navigation à l'aide de séries de récompenses.
Par exemple, nous avons initié le Lac gelé-v1 environnement, où un agent est pénalisé pour être tombé dans des trous de glace mais récompensé pour avoir récupéré un coffret cadeau.
Notre première manche a généré moins de pénalités sans 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 modifier quelques paramètres pourrait améliorer sa vitesse d'apprentissage.
Les composants OpenAI Gym
L'API OpenAI Gym s'articule autour des composants suivants :
- Le environnements où vous formez un agent. Vous pouvez en lancer un en utilisant le gym.faire méthode. OpenAI Gym prend également en charge les environnements multi-agents.
- Le emballages pour modifier un environnement existant. Bien que chaque environnement de base soit pré-encapsulé par défaut, vous pouvez le redimensionner avec des paramètres tels que max_actions, min_actions et max recompenses.
- Un action; définit ce que fait l'agent lorsqu'il observe les changements dans son environnement. Chaque action dans un environnement est une étape qui définit la réponse d'un agent aux observations. Une exécution d'étape renvoie une observation, une récompense, des informations 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 ses informations. Le paramètre info est un journal d'exécution pratique pour le débogage. Une fois qu'une étape se termine, l'environnement se réinitialise n fois, en fonction du nombre d'itérations spécifiées.
Que pouvez-vous faire avec OpenAI Gym?
Étant donné qu'OpenAI Gym vous permet de créer des environnements d'apprentissage personnalisés, voici quelques façons de l'utiliser dans un scénario réel.
1. Simulation de jeu
Vous pouvez tirer parti des 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
Là où la quantité de données, de ressources et de temps est limitée, OpenAI Gym peut être utile pour développer un système de reconnaissance d'images. À un niveau plus profond, vous pouvez le mettre à l'échelle pour créer un système de reconnaissance faciale, qui récompense un agent pour l'identification correcte des visages.
3. Formation robotique
OpenAI Gym propose é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. École robotique est un exemple de logiciel de simulation de robot à l'échelle construit à l'aide d'OpenAI Gym.
4. Commercialisation
Vous pouvez également créer des solutions marketing telles que des serveurs publicitaires, des robots de négociation d'actions, des robots de prédiction des ventes, des systèmes de recommandation de produits et bien d'autres à l'aide d'OpenAI Gym. Par exemple, vous pouvez créer un modèle OpenAI Gym personnalisé qui pénalise les publicités en fonction de l'impression et du taux de clics.
5. Traitement du langage naturel
Quelques façons d'appliquer OpenAI Gym dans traitement du langage naturel sont des questions à choix multiples impliquant la complétion de phrases ou construire un classificateur de spam. Par exemple, vous pouvez former un agent à apprendre des variantes de phrases pour éviter les biais lors de la notation des participants.
Comment démarrer avec OpenAI Gym
OpenAI Gym prend en charge Python 3.7 et les versions ultérieures. Pour configurer un environnement OpenAI Gym, vous allez installer gymnase, la version de gym prise en charge en continu :
pip installer un gymnase
Ensuite, faites tourner un environnement. Vous pouvez cependant créer un environnement personnalisé. Mais commencez par jouer avec un existant pour maîtriser le concept OpenAI Gym.
Le code ci-dessous fait tourner le Lac gelé-v1. Le env.reset méthode enregistre l'observation initiale :
importer gymnase comme salle de sport
env = gym.make('FrozenLake-v1', mode_rendu="humain")
observation, info = env.reset()
Certains environnements nécessitent des bibliothèques supplémentaires pour fonctionner. Si vous devez installer une autre bibliothèque, Python le recommande via le message d'exception.
Par exemple, vous allez installer une bibliothèque supplémentaire (gymnase[jouet-texte]) pour exécuter le Lac gelé-v1 environnement.
Exploitez la puissance d'OpenAI Gym
L'un des revers du développement de l'IA et de l'apprentissage automatique est le manque d'ensembles de données d'infrastructure et de formation. Mais alors que vous cherchez à intégrer des modèles d'apprentissage automatique dans vos applications ou appareils, tout est maintenant plus facile avec des modèles d'IA prêts à l'emploi qui circulent sur Internet. Alors que certains de ces outils sont peu coûteux, d'autres, y compris l'OpenAI Gym, sont gratuits et open source.