Gym

1. Ciclo de vida

2. Tipología

4. Lenguaje de programación

Descripción

OpenAI Gym es un entorno para la creación, el desarrollo y la comparación de diferentes algoritmos de aprendizaje por refuerzo (reinforcement learning). Está basado en el uso de un agente que interactúa con un escenario y recibe un premio (o castigo) en función de sus acciones, siguiendo el ciclo clásico de la inteligencia artificial, es decir, observar, razonar, actuar:

Se puede pensar en el aprendizaje por refuerzo como un equilibrio entre el aprendizaje supervisado y el no supervisado, que usa tanto el conocimiento ya conocido (adquirido) como el otro, extraído de explorar el escenario. El agente va pasando de un estado a otro después de cada acción, y se conoce su resultado, de forma que se puede construir un grafo con todas las posibilidades que va explorando y la puntuación obtenida por cada una de ellas. Esto constituye el conocimiento que va construyendo en cada acción.

Lo que proporciona Gym es un conjunto de escenarios ya preparados para ser usados por un agente, clasificados en cuatro grupos:

  • Ejemplos de juguete, para aprender a usar Gym, que aparecen en la literatura sobre el aprendizaje por refuerzo.
  • Algorítmicos: se trata de ejercicios sencillos que se pueden complicar aumentando la medida del problema para resolver.
  • Atari: para construir sistemas que aprenden a jugar a los juegos de Atari 2600.
  • Robots 2D y 3D: para construir robots que se mueven en un entorno bajo leyes físicas y restricciones espaciotemporales.

Enlace al recurso

https://gym.openai.com/

Ejemplo de uso

Con Gym es posible programar agentes que jueguen a videojuegos clásicos de tipo arcade, como por ejemplo el llamado Asteroids. El escenario donde interactúa el agente es la pantalla, de forma que el agente sabe dónde está y qué otros elementos hay (los asteroides que hay que evitar y destruir), y así puede tomar decisiones y ejecutar acciones, como por ejemplo moverse, girar o disparar:

 

La idea es que el agente recibe un refuerzo (positivo o negativo) por cada acción que realiza; si por ejemplo se mueve y choca contra un asteroide, aquella acción se evalúa como inadecuada; si, en cambio, apunta y dispara correctamente, obtiene un premio por hacerlo.

Enlaces relacionados

Aprendizaje por refuerzo: https://ca.wikipedia.org/wiki/Aprenentatge_per_reforç

Artículo sobre el aprendizaje por refuerzo: https://arxiv.org/abs/cs/9605103

Atari 2600 en la Wikipedia: https://ca.wikipedia.org/wiki/Atari_2600

Escenario para el juego Asteroids: https://gym.openai.com/envs/Asteroids-v0/