7 - Práctica 1: Introducción a OpenAI Gym
Lección 7 del curso Aprendizaje por Refuerzo Nivel Intermedio.
Tabla de contenido
Introducción
En la lección anterior vimos el último de los principales algoritmos de la Programación Dinámica: la iteración de valores, así que ya estamos listos para iniciar el componente práctico del curso.
En esta primera práctica del curso veremos una Introducción a OpenAI Gym, una librería de Python desarrollada por OpenAI y que facilita no sólo la implementación de Algoritmos de Aprendizaje por Refuerzo sino también la simulación de la interacción entre el Agente y el Entorno.
Suscríbete y accede al código fuente y al video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online
¿Qué es OpenAI Gym?
OpenAI Gym es una librería de Python desarrollada por OpenAI (una de las compañías de investigación en Inteligencia Artificial más importantes a nivel mundial) y que permite implementar diferentes algoritmos de Aprendizaje por Refuerzo y simular la interacción entre Agentes y Entornos.
Instalación
Desde Google Colab simplemente usamos el comando pip
, el cual descargará e instalará automáticamente la librería en nuestro entorno virtual
Entornos
Los entornos son el bloque fundamental de OpenAi Gym.
Básicamente implementan en Python un simulador del entorno en el cual queremos entrenar nuestro Agente.
OpenAI Gym contiene ya pre-instalados varios entornos útiles en problemas básicos (como el que veremos en esta lección) y en áreas como el control, la robótica o incluso los videojuegos. Además permite la creación de entornos personalizados.
En esta lección usaremos el entorno Frozen Lake (o “El lago congelado”) que en esencia es el Tablero Bidimensional Estocástico que hemos venido utilizando como base para la comprensión de los diferentes algoritmos.
A continuación se resumen algunos métodos y variables de este tipo de objeto:
- Con el método
render
podemos visualizar el entorno y su estado actual - La variable
observation_space
contiene el “espacio de observaciones”, que en nuestro caso es el mismo espacio de estados - La variable
action_space
contiene el espacio de acciones - Y la variable
P
contiene la función de transición
Esta función de transición es un diccionario que tendrá un tamaño igual al número de estados. Si por ejemplo escribimos P[0][2]
lo que obtendremos será la función de transición partiendo del estado s=0 y tomando la acción a=2
3. Interactuando con el entorno
Además, el entorno contiene métodos útiles que permiten la interacción del Agente:
reset
reinicia el entorno al estado inicial y retorna el valor de dicho estadostep
ejecuta una acción por parte del Agente dentro del Entorno.
Recuerda suscribirte para acceder al código fuente y al video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online
Conclusión
Muy bien, acabamos de ver las herramientas básicas de la librería OpenAI Gym, con lo cual ya estamos listos para poner en práctica todo lo aprendido hasta el momento.
Así que en la práctica 2 veremos cómo realizar la implementación de los diferentes algoritmos de Programación Dinámica vistos en las lecciones anteriores haciendo uso precisamente de esta librería.