Desarrolle y compare algoritmos de aprendizaje por refuerzo utilizando este kit de herramientas.
Si no puede crear un modelo de aprendizaje automático desde cero o carece de la infraestructura, simplemente conectando su aplicación a un modelo de trabajo soluciona la brecha.
La inteligencia artificial está aquí para que todos la usen de una forma u otra. En cuanto a OpenAI Gym, hay muchos campos de entrenamiento explorables para alimentar a sus agentes de aprendizaje por refuerzo.
¿Qué es OpenAI Gym, cómo funciona y qué se puede construir con él?
¿Qué es el gimnasio OpenAI?
OpenAI Gym es una API Pythonic que proporciona entornos de entrenamiento simulados para que los agentes de aprendizaje por refuerzo actúen en función de las observaciones ambientales; cada acción viene con una recompensa positiva o negativa, que se acumula en cada paso de tiempo. Si bien el agente tiene como objetivo maximizar las recompensas, es penalizado por cada decisión inesperada.
El paso de tiempo es un tic de tiempo discreto para que el entorno transite a otro estado. Se suma a medida que las acciones del agente cambian el estado del entorno.
¿Cómo funciona el gimnasio OpenAI?
Los entornos de OpenAI Gym se basan en el proceso de decisión de Markov (MDP), un modelo dinámico de toma de decisiones que se utiliza en el aprendizaje por refuerzo. Por lo tanto, se deduce que las recompensas solo llegan cuando el entorno cambia de estado. Y los eventos en el siguiente estado solo dependen del estado presente, ya que MDP no tiene en cuenta los eventos pasados.
Antes de continuar, profundicemos en un ejemplo para comprender rápidamente la aplicación de OpenAI Gym en el aprendizaje por refuerzo.
Suponiendo que tiene la intención de entrenar un automóvil en un juego de carreras, puede hacer girar una pista de carreras en OpenAI Gym. En el aprendizaje por refuerzo, si el vehículo gira a la derecha en lugar de a la izquierda, puede obtener una recompensa negativa de -1. La pista de carreras cambia en cada paso de tiempo y puede volverse más complicada en estados posteriores.
Las recompensas o sanciones negativas no son malas para un agente en el aprendizaje por refuerzo. En algunos casos, lo alienta a lograr su objetivo más rápidamente. Por lo tanto, el automóvil aprende sobre la pista con el tiempo y domina su navegación utilizando rachas de recompensa.
Por ejemplo, iniciamos la FrozenLake-v1 ambiente, donde un agente es penalizado por caer en agujeros de hielo pero recompensado por recuperar una caja de regalo.
Nuestra primera carrera generó menos penalizaciones sin recompensas:
Sin embargo, una tercera iteración produjo un entorno más complejo. Pero el agente obtuvo algunas recompensas:
El resultado anterior no implica que el agente mejorará en la próxima iteración. Si bien puede evitar con éxito más agujeros la próxima vez, es posible que no obtenga ninguna recompensa. Pero modificar algunos parámetros podría mejorar su velocidad de aprendizaje.
Los componentes del gimnasio OpenAI
La API de OpenAI Gym gira en torno a los siguientes componentes:
- El ambientes donde entrenas a un agente. Puede iniciar uno usando el hacer gimnasio método. OpenAI Gym también es compatible con entornos de múltiples agentes.
- El envoltorios para modificar un entorno existente. Aunque cada entorno base está prediseñado de forma predeterminada, puede volver a escalarlo con parámetros como max_actions, min_actions y max recompensas.
- Un acción; define lo que hace el agente cuando observa cambios en su entorno. Cada acción en un entorno es un paso que define la respuesta de un agente a las observaciones. La finalización de un paso devuelve una observación, una recompensa, información y un valor truncado o terminado.
- El observación; define la experiencia de un agente en un entorno. Una vez que hay una observación, sigue una acción con su información. El parámetro info es un registro de ejecución que es útil para la depuración. Una vez que finaliza un paso, el entorno se reinicia n veces, según el número de iteraciones especificadas.
¿Qué puedes hacer con OpenAI Gym?
Dado que OpenAI Gym le permite activar entornos de aprendizaje personalizados, aquí hay algunas formas de usarlo en un escenario de la vida real.
1. Simulación de juegos
Puede aprovechar los entornos de juego de OpenAI Gym para recompensar los comportamientos deseados, crear recompensas de juego y aumentar la complejidad por nivel de juego.
2. Reconocimiento de imagen
Donde hay una cantidad limitada de datos, recursos y tiempo, OpenAI Gym puede ser útil para desarrollar un sistema de reconocimiento de imágenes. En un nivel más profundo, puede escalarlo para construir un sistema de reconocimiento facial, que recompensa a un agente por identificar rostros correctamente.
3. Entrenamiento de robots
OpenAI Gym también ofrece modelos de entorno intuitivos para simulaciones 3D y 2D, donde puede implementar los comportamientos deseados en los robots. Roboescuela es un ejemplo de software de simulación de robots a escala creado con OpenAI Gym.
4. Marketing
También puede crear soluciones de marketing como servidores de anuncios, bots de comercio de acciones, bots de predicción de ventas, sistemas de recomendación de productos y muchos más utilizando OpenAI Gym. Por ejemplo, puede crear un modelo personalizado de OpenAI Gym que penalice los anuncios en función de la tasa de clics e impresiones.
5. Procesamiento natural del lenguaje
Algunas formas de aplicar OpenAI Gym en procesamiento natural del lenguaje son preguntas de opción múltiple que involucran completar oraciones o construyendo un clasificador de spam. Por ejemplo, puede capacitar a un agente para que aprenda variaciones de oraciones para evitar sesgos al marcar a los participantes.
Cómo comenzar con OpenAI Gym
OpenAI Gym es compatible con Python 3.7 y versiones posteriores. Para configurar un entorno OpenAI Gym, instalará gimnasio, la versión bifurcada de gimnasio con soporte continuo:
pip instalar gimnasio
A continuación, active un entorno. Sin embargo, puede crear un entorno personalizado. Pero comience jugando con uno existente para dominar el concepto OpenAI Gym.
El siguiente código hace girar el FrozenLake-v1. El env.reset El método registra la observación inicial:
importar gimnasio como gimnasia
env = gimnasio.hacer('Lago Congelado-v1', render_mode="humano")
observación, info = env.reset()
Algunos entornos requieren bibliotecas adicionales para funcionar. Si necesita instalar otra biblioteca, Python la recomienda a través del mensaje de excepción.
Por ejemplo, instalará una biblioteca adicional (gimnasio[juguete-texto]) para ejecutar el FrozenLake-v1 ambiente.
Aproveche el poder de OpenAI Gym
Uno de los contratiempos para el desarrollo de la inteligencia artificial y el aprendizaje automático es la escasez de infraestructura y conjuntos de datos de capacitación. Pero a medida que busca integrar modelos de aprendizaje automático en sus aplicaciones o dispositivos, ahora todo es más fácil con modelos de IA listos para usar que vuelan por Internet. Si bien algunas de estas herramientas son de bajo costo, otras, incluido OpenAI Gym, son gratuitas y de código abierto.