Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Fundamentos de Gymnasium | Teoría Central de RL
Introducción al Aprendizaje por Refuerzo
course content

Contenido del Curso

Introducción al Aprendizaje por Refuerzo

Introducción al Aprendizaje por Refuerzo

1. Teoría Central de RL
2. Problema del Bandido de Varios Brazos
3. Programación Dinámica
4. Métodos de Monte Carlo
5. Aprendizaje por Diferencia Temporal

book
Fundamentos de Gymnasium

Gymnasium es un conjunto de herramientas de código abierto diseñado para desarrollar y evaluar agentes de aprendizaje por refuerzo (RL). Proporciona una colección de entornos estándar para probar algoritmos y entrenar agentes de manera eficiente.

Características principales

  • API estandarizada: garantiza compatibilidad entre diferentes entornos;
  • Variedad de entornos: admite problemas clásicos de control, juegos de Atari y simulaciones de robótica;
  • Integración sencilla: compatible con marcos de aprendizaje profundo como TensorFlow y PyTorch.

Flujo de trabajo

Un flujo de trabajo típico en Gymnasium es el siguiente:

1. Importar la biblioteca

import gymnasium as gym

Después de que la biblioteca original gym fuera descontinuada, ahora se recomienda utilizar gymnasium, un fork de gym bien mantenido y en desarrollo activo. A pesar del cambio de nombre, la biblioteca sigue importándose comúnmente con el alias gym para mantener la compatibilidad y por conveniencia.

2. Crear un entorno

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

La función gym.make() instancia un entorno utilizando su identificador único (por ejemplo, "CartPole-v1"). También se pueden pasar parámetros de configuración adicionales según los requisitos del entorno.

3. Reiniciar el entorno

observation, info = env.reset()

Antes de interactuar con el entorno, es necesario reiniciarlo a su estado inicial usando env.reset(). Esto retorna:

  • observation: el estado inicial del entorno;
  • info: datos auxiliares que pueden incluir metadatos o configuraciones específicas del estado.

4. Interactuar con el entorno

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

En la primera línea, se elige una acción aleatoria del espacio de acciones usando env.action_space.sample(). El espacio de acciones define el conjunto de todas las acciones posibles que el agente puede realizar en el entorno. Además, el entorno proporciona el espacio de observaciones, al que se accede mediante env.observation_space y que representa el conjunto de todas las observaciones (estados) posibles que el agente puede encontrar.

En la segunda línea, la acción elegida se pasa a env.step(action), que ejecuta la acción y retorna lo siguiente:

  • observation: el nuevo estado del agente después de realizar la acción;
  • reward: la recompensa recibida por la acción realizada;
  • terminated: un valor booleano que indica si el episodio ha finalizado (es decir, si la tarea está completa);
  • truncated: un valor booleano que indica si el episodio fue detenido prematuramente (por tiempo u otras restricciones);
  • info: información diagnóstica adicional, utilizada frecuentemente para depuración o registro.

5. Cerrar el entorno

env.close()

Si el entorno utiliza recursos externos (por ejemplo, ventanas de renderizado o simulaciones), se debe cerrar utilizando env.close().

Note
Estudiar más

Si desea conocer más sobre las funcionalidades que ofrece la biblioteca Gymnasium, debe visitar their website.

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 7

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

course content

Contenido del Curso

Introducción al Aprendizaje por Refuerzo

Introducción al Aprendizaje por Refuerzo

1. Teoría Central de RL
2. Problema del Bandido de Varios Brazos
3. Programación Dinámica
4. Métodos de Monte Carlo
5. Aprendizaje por Diferencia Temporal

book
Fundamentos de Gymnasium

Gymnasium es un conjunto de herramientas de código abierto diseñado para desarrollar y evaluar agentes de aprendizaje por refuerzo (RL). Proporciona una colección de entornos estándar para probar algoritmos y entrenar agentes de manera eficiente.

Características principales

  • API estandarizada: garantiza compatibilidad entre diferentes entornos;
  • Variedad de entornos: admite problemas clásicos de control, juegos de Atari y simulaciones de robótica;
  • Integración sencilla: compatible con marcos de aprendizaje profundo como TensorFlow y PyTorch.

Flujo de trabajo

Un flujo de trabajo típico en Gymnasium es el siguiente:

1. Importar la biblioteca

import gymnasium as gym

Después de que la biblioteca original gym fuera descontinuada, ahora se recomienda utilizar gymnasium, un fork de gym bien mantenido y en desarrollo activo. A pesar del cambio de nombre, la biblioteca sigue importándose comúnmente con el alias gym para mantener la compatibilidad y por conveniencia.

2. Crear un entorno

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

La función gym.make() instancia un entorno utilizando su identificador único (por ejemplo, "CartPole-v1"). También se pueden pasar parámetros de configuración adicionales según los requisitos del entorno.

3. Reiniciar el entorno

observation, info = env.reset()

Antes de interactuar con el entorno, es necesario reiniciarlo a su estado inicial usando env.reset(). Esto retorna:

  • observation: el estado inicial del entorno;
  • info: datos auxiliares que pueden incluir metadatos o configuraciones específicas del estado.

4. Interactuar con el entorno

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

En la primera línea, se elige una acción aleatoria del espacio de acciones usando env.action_space.sample(). El espacio de acciones define el conjunto de todas las acciones posibles que el agente puede realizar en el entorno. Además, el entorno proporciona el espacio de observaciones, al que se accede mediante env.observation_space y que representa el conjunto de todas las observaciones (estados) posibles que el agente puede encontrar.

En la segunda línea, la acción elegida se pasa a env.step(action), que ejecuta la acción y retorna lo siguiente:

  • observation: el nuevo estado del agente después de realizar la acción;
  • reward: la recompensa recibida por la acción realizada;
  • terminated: un valor booleano que indica si el episodio ha finalizado (es decir, si la tarea está completa);
  • truncated: un valor booleano que indica si el episodio fue detenido prematuramente (por tiempo u otras restricciones);
  • info: información diagnóstica adicional, utilizada frecuentemente para depuración o registro.

5. Cerrar el entorno

env.close()

Si el entorno utiliza recursos externos (por ejemplo, ventanas de renderizado o simulaciones), se debe cerrar utilizando env.close().

Note
Estudiar más

Si desea conocer más sobre las funcionalidades que ofrece la biblioteca Gymnasium, debe visitar their website.

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 7
some-alt