DeepMind silenciosamente ha pasado a open source tres nuevos e impresionantes frameworks de aprendizaje de refuerzo

Cesar Vega
25 septiembre, 2019

. . .

Tres nuevas versiones que ayudarán a los investigadores a racionalizar la implementación de programas de aprendizaje de refuerzo


Este artículo se basa en el video publicado originalmente en inglés por Jesús Rodríguez en Medium. Por favor, visita el siguiente enlace y recomienda el artículo original si te gusta el contenido:

Deep Reinforcement Learning (Aprendizaje de Refuerzo Profundo – DRL) ha sido el centro de algunos de los mayores avances de la inteligencia artificial (IA) en los últimos años. Sin embargo, a pesar de todos sus avances, los métodos DRL siguen siendo increíblemente difíciles de aplicar en las soluciones más comunes, dada la falta de herramientas y bibliotecas. En consecuencia, DRL sigue siendo principalmente una actividad de investigación que no ha visto mucha adopción en el mundo real de las soluciones de machine learning. Para abordar ese problema se necesitan mejores instrumentos y marcos. Entre la generación actual de líderes en inteligencia artificial (IA), DeepMind se destaca como la compañía que más ha hecho para avanzar en la investigación y desarrollo de DRL. Recientemente, la filial Alphabet ha lanzado una serie de nuevas tecnologías de código abierto que pueden ayudar a racionalizar la adopción de los métodos DRL.

Como una nueva técnica de deep learning, la adopción de DRL enfrenta desafíos que van más allá de la simple implementación de algoritmos. Se necesitan datasets de entrenamiento, entornos, herramientas de monitorización-optimización, así como experimentos bien diseñados para racionalizar la adopción de las técnicas DRL. Esto es particularmente cierto en el caso de DRL, dado que su mecánica difiere de la mayoría de los métodos tradicionales de machine learning. Los agentes de DRL intentan dominar una tarea por ensayo y error en un entorno dado. En este contexto, la robustez de los ambientes y de los experimentos juega un papel primordial en el conocimiento desarrollado por un agente DRL.

DRL ha sido la piedra angular de los esfuerzos de DeepMind para promover la IA. Comenzando con el famoso AlphaGo y continuando con los principales hitos en áreas como la salud, la investigación ecológica y, por supuesto, los juegos, DeepMind ha aplicado los métodos DRL a los principales desafíos de la IA. Para lograr estos hitos, DeepMind ha tenido que construir muchas herramientas y frameworks propios que agilizan el entrenamiento, la experimentación y la gestión de los agentes de DRL a escala. Muy silenciosamente, DeepMind ha estado dejando open source varias de esas tecnologías para que otros investigadores puedan usarlas para avanzar en el estado actual de los métodos DRL. Recientemente: DeepMind dejó open source tres diferentes stacks DRL que merecen una exploración más profunda.


OpenSpiel

Los juegos desempeñan un papel destacado en la formación de los agentes de DRL. Como ningún otro conjunto de datos, los juegos se basan intrínsecamente en la mecánica de ensayo y recompensa que se puede utilizar para entrenar a un agente de DRL. Sin embargo, como puedes imaginar, los entornos de juego están lejos de ser triviales de ensamblar.

OpenSpiel es una colección de entornos y algoritmos para la investigación en general, el aprendizaje de refuerzo y la búsqueda/planificación de juegos. El propósito de OpenSpiel es promover el aprendizaje general de refuerzo multiagente a través de muchos tipos de juegos diferentes, de forma similar al juego general, pero con un fuerte énfasis en el aprendizaje y no en la forma de competición. La versión actual de OpenSpiel contiene implementaciones de más de 20 juegos diferentes de varios tipos (información perfecta, movimiento simultáneo, información imperfecta, juegos de grid-world, un juego de subasta y varios juegos de forma normal/matriz.

El núcleo de la implementación de OpenSpiel está basado en C++ con vínculos Python que facilitan su adopción en diferentes frameworks de deep learning. El framework incorpora un portafolio de juegos que permiten a los agentes de DRL dominar los comportamientos cooperativos y competitivos. Del mismo modo, OpenSpiel incluye un portfolio diverso de algoritmos DRL que incluyen búsqueda, optimización y agente único.


SpriteWorld

Spriteworld es un entorno de RL basado en python que consiste en una arena bidimensional con formas simples que se pueden mover libremente. Más específicamente, SpriteWorld es una arena cuadrada bidimensional con un número variable de sprites de colores, colocados libremente y renderizados con oclusión, pero sin colisiones. El entorno SpriteWorld se basa en una serie de características clave:

  1. La arena multiobjeto refleja la composición del mundo real, con escenas desordenadas de objetos que pueden compartir características pero que se mueven de forma independiente. Esto también proporciona formas de probar la robustez de las características/objetos irrelevantes para las tareas y la generalización combinatoria.
  2. La estructura del espacio de acción continuo click-and-push refleja la estructura del espacio y el movimiento en el mundo. También permite al agente mover cualquier objeto visible en cualquier dirección.
  3. La noción de objeto no se provee de ninguna manera privilegiada (por ejemplo, no hay componentes específicos de objetos en el espacio de acción) y puede ser totalmente descubierta por los agentes.

SpriteWorld entrena a cada agente DRL en tres tareas principales:

  • Goal-Finding (Búsqueda de metas). El agente debe llevar un conjunto de objetos de destino (identificables por alguna característica, por ejemplo, «verde») a un lugar oculto de la pantalla, ignorando los objetos distractores (por ejemplo, los que no son verdes).
  • Sorting (Clasificación). El agente debe llevar cada objeto a una ubicación objetivo basada en el color del objeto.
  • Clustering(Agrupamiento). El agente debe ordenar los objetos en grupos de acuerdo con su color.

bsuite

La Suite de Comportamiento para el Aprendizaje de Refuerzo (bsuite) intenta ser MNIST del aprendizaje de refuerzo. Específicamente, bsuite es una colección de experimentos diseñados para resaltar aspectos clave de la escalabilidad de los agentes. Estos experimentos encarnan cuestiones fundamentales, como la «exploración» o la «memoria», de una manera que puede probarse e iterarse fácilmente. Específicamente, bsuite tiene dos objetivos principales:

  1. Recolectar problemas claros, informativos y escalables que capturen aspectos clave en el diseño de algoritmos de aprendizaje eficientes y generales.
  2. Estudiar el comportamiento de los agentes a través de su desempeño en estos puntos de referencia compartidos.

La actual implementación de bsuite automatiza la ejecución de estos experimentos en diferentes entornos y recoge las métricas correspondientes que pueden simplificar el entrenamiento de los agentes de DRL.

Como puedes observar, DeepMind ha sido muy activo en el desarrollo de nuevas tecnologías de aprendizaje de refuerzo. OpenSpiel, SpriteWorld y bsuite pueden ser increíbles recursos para los equipos de investigación que se embarcan en su viaje de aprendizaje de refuerzo.

18

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Comunidades en Español