Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Principes de Base de Gymnasium | Théorie Fondamentale de l'Apprentissage par Renforcement
Introduction à l'Apprentissage par Renforcement
course content

Contenu du cours

Introduction à l'Apprentissage par Renforcement

Introduction à l'Apprentissage par Renforcement

1. Théorie Fondamentale de l'Apprentissage par Renforcement
2. Problème du Bandit Manchot
3. Programmation Dynamique
4. Méthodes de Monte Carlo
5. Apprentissage par Différence Temporelle

book
Principes de Base de Gymnasium

Gymnasium est une boîte à outils open source conçue pour le développement et l'évaluation d'agents d'apprentissage par renforcement (RL). Elle propose une collection d'environnements standards pour tester les algorithmes et entraîner les agents de manière efficace.

Fonctionnalités clés

  • API standardisée : garantit la compatibilité entre différents environnements ;
  • Variété d'environnements : prend en charge les problèmes de contrôle classiques, les jeux Atari et les simulations robotiques ;
  • Intégration facile : compatible avec les frameworks d'apprentissage profond tels que TensorFlow et PyTorch.

Flux de travail

Un flux de travail typique dans Gymnasium se présente comme suit :

1. Importation de la bibliothèque

import gymnasium as gym

Après l'arrêt de la bibliothèque originale gym, il est désormais recommandé d'utiliser gymnasium — un fork de gym bien maintenu et activement développé. Malgré le changement de nom, la bibliothèque est encore couramment importée avec l'alias gym pour assurer la compatibilité ascendante et la commodité.

2. Création d'un environnement

env = gym.make("CartPole-v1")

La fonction gym.make() instancie un environnement à l'aide de son identifiant unique (par exemple, "CartPole-v1"). Il est également possible de transmettre des paramètres de configuration supplémentaires selon les besoins de l'environnement.

3. Réinitialisation de l'environnement

observation, info = env.reset()

Avant d'interagir avec l'environnement, il est nécessaire de le réinitialiser à son état initial à l'aide de env.reset(). Cette fonction retourne :

  • observation : l'état initial de l'environnement ;
  • info : données auxiliaires pouvant inclure des métadonnées ou une configuration spécifique à l'état.

4. Interaction avec l'environnement

action = env.action_space.sample()
observation, reward, terminated, truncated, info = env.step(action)

Dans la première ligne, une action aléatoire est choisie dans l'espace d'actions à l'aide de env.action_space.sample(). L'espace d'actions définit l'ensemble de toutes les actions possibles que l'agent peut effectuer dans l'environnement. De plus, l'environnement fournit l'espace d'observation, accessible via env.observation_space, qui représente l'ensemble de toutes les observations (états) que l'agent peut rencontrer.

Dans la seconde ligne, l'action choisie est transmise à env.step(action), qui exécute l'action et retourne les éléments suivants :

  • observation : le nouvel état de l'agent après l'action ;
  • reward : la récompense reçue pour l'action effectuée ;
  • terminated : booléen indiquant si l'épisode est terminé (c'est-à-dire si la tâche est accomplie) ;
  • truncated : booléen indiquant si l'épisode a été interrompu prématurément (en raison du temps ou d'autres contraintes) ;
  • info : informations de diagnostic supplémentaires, souvent utilisées pour le débogage ou la journalisation.

5. Fermeture de l'environnement

env.close()

Si votre environnement utilise des ressources externes (par exemple, des fenêtres de rendu ou des simulations), il convient de le fermer à l'aide de env.close().

Note
Approfondir

Si vous souhaitez en savoir plus sur les fonctionnalités offertes par la bibliothèque Gymnasium, consultez their website.

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 7

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

course content

Contenu du cours

Introduction à l'Apprentissage par Renforcement

Introduction à l'Apprentissage par Renforcement

1. Théorie Fondamentale de l'Apprentissage par Renforcement
2. Problème du Bandit Manchot
3. Programmation Dynamique
4. Méthodes de Monte Carlo
5. Apprentissage par Différence Temporelle

book
Principes de Base de Gymnasium

Gymnasium est une boîte à outils open source conçue pour le développement et l'évaluation d'agents d'apprentissage par renforcement (RL). Elle propose une collection d'environnements standards pour tester les algorithmes et entraîner les agents de manière efficace.

Fonctionnalités clés

  • API standardisée : garantit la compatibilité entre différents environnements ;
  • Variété d'environnements : prend en charge les problèmes de contrôle classiques, les jeux Atari et les simulations robotiques ;
  • Intégration facile : compatible avec les frameworks d'apprentissage profond tels que TensorFlow et PyTorch.

Flux de travail

Un flux de travail typique dans Gymnasium se présente comme suit :

1. Importation de la bibliothèque

import gymnasium as gym

Après l'arrêt de la bibliothèque originale gym, il est désormais recommandé d'utiliser gymnasium — un fork de gym bien maintenu et activement développé. Malgré le changement de nom, la bibliothèque est encore couramment importée avec l'alias gym pour assurer la compatibilité ascendante et la commodité.

2. Création d'un environnement

env = gym.make("CartPole-v1")

La fonction gym.make() instancie un environnement à l'aide de son identifiant unique (par exemple, "CartPole-v1"). Il est également possible de transmettre des paramètres de configuration supplémentaires selon les besoins de l'environnement.

3. Réinitialisation de l'environnement

observation, info = env.reset()

Avant d'interagir avec l'environnement, il est nécessaire de le réinitialiser à son état initial à l'aide de env.reset(). Cette fonction retourne :

  • observation : l'état initial de l'environnement ;
  • info : données auxiliaires pouvant inclure des métadonnées ou une configuration spécifique à l'état.

4. Interaction avec l'environnement

action = env.action_space.sample()
observation, reward, terminated, truncated, info = env.step(action)

Dans la première ligne, une action aléatoire est choisie dans l'espace d'actions à l'aide de env.action_space.sample(). L'espace d'actions définit l'ensemble de toutes les actions possibles que l'agent peut effectuer dans l'environnement. De plus, l'environnement fournit l'espace d'observation, accessible via env.observation_space, qui représente l'ensemble de toutes les observations (états) que l'agent peut rencontrer.

Dans la seconde ligne, l'action choisie est transmise à env.step(action), qui exécute l'action et retourne les éléments suivants :

  • observation : le nouvel état de l'agent après l'action ;
  • reward : la récompense reçue pour l'action effectuée ;
  • terminated : booléen indiquant si l'épisode est terminé (c'est-à-dire si la tâche est accomplie) ;
  • truncated : booléen indiquant si l'épisode a été interrompu prématurément (en raison du temps ou d'autres contraintes) ;
  • info : informations de diagnostic supplémentaires, souvent utilisées pour le débogage ou la journalisation.

5. Fermeture de l'environnement

env.close()

Si votre environnement utilise des ressources externes (par exemple, des fenêtres de rendu ou des simulations), il convient de le fermer à l'aide de env.close().

Note
Approfondir

Si vous souhaitez en savoir plus sur les fonctionnalités offertes par la bibliothèque Gymnasium, consultez their website.

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 7
some-alt