¿Qué es Gymnasium?
Gymnasium es una librería de Python que define una interfaz estándar para entornos de aprendizaje por refuerzo. Es el idioma común entre el mundo (el robot en su simulación) y el agente (el que aprende a controlarlo).
Es la continuación del conocido OpenAI Gym, ahora mantenida por la fundación Farama. Gracias a ella, un mismo algoritmo puede entrenar un péndulo, un humanoide o un videojuego sin cambiar una línea: todos hablan Gymnasium.
El trato: un entorno, cuatro preguntas
Todo entorno de Gymnasium responde siempre a lo mismo:
- ¿Qué veo? — la observación: el estado del mundo (posiciones, velocidades…)
- ¿Qué puedo hacer? — la acción: lo que el agente puede decidir (fuerzas, movimientos)
- ¿Qué tal lo hice? — la recompensa: un número que premia o castiga
- ¿He terminado? — si el episodio se acabó (el robot se cayó, o llegó a la meta)
Con solo esas cuatro cosas, cualquier algoritmo de RL puede aprender.
Dos métodos que lo son todo
Un entorno de Gymnasium se maneja con dos funciones:
import gymnasium as gym
env = gym.make("Humanoid-v5")
obs, info = env.reset() # empieza un episodio
obs, reward, terminated, truncated, info = env.step(action) # da un paso
reset()— arranca un episodio nuevo y te da la primera observaciónstep(action)— aplicas una acción y el entorno te devuelve qué pasó
Ese par reset / step es el corazón de todo el aprendizaje por refuerzo. Lo desmontamos en la siguiente página.
El entorno Humanoid-v5 que controla el código de arriba: un humanoide simulado, listo para recibir acciones y devolver observaciones.
Gymnasium no simula nada por sí mismo: es la interfaz. Por debajo, un entorno de robot usa MuJoCo para la física. Gymnasium solo pone las reglas del juego para que agente y mundo se entiendan.