Este arcade de 16 juegos para IA pone a prueba su destreza en el juego

Este arcade de 16 juegos para IA pone a prueba su destreza en el juego

Descubrir en qué es buena una IA es una de las cosas más difíciles de entender. Para ayudar a determinar esto, OpenAI ha diseñó un conjunto de juegos eso puede ayudar a los investigadores a saber si su agente de aprendizaje automático está realmente aprendiendo habilidades básicas o, lo que es igualmente probable, ha descubierto cómo manipular el sistema a su favor.

Es uno de esos aspectos de la investigación de IA que nunca deja de deleitar: las formas en que un agente dobla o rompe las reglas en sus esfuerzos por parecer bueno en lo que sea que los investigadores le pidan que haga. Hacer trampa puede ser pensar fuera de la caja, pero no siempre es bienvenido, y una forma de comprobarlo es cambiar un poco las reglas y ver si el sistema falla.

Lo que el agente realmente aprendió se puede determinar al ver si esas “habilidades” se pueden aplicar cuando se lo coloca en nuevas circunstancias en las que solo una parte de su conocimiento es relevante.

Por ejemplo, supongamos que desea saber si una IA ha aprendido a jugar un juego similar a Mario en el que viaja a la derecha y salta obstáculos. Podrías cambiar las cosas para que tenga que caminar hacia la izquierda; podrías cambiar el orden de los obstáculos; o podrías cambiar el juego por completo y hacer que aparezcan monstruos que la IA tiene que disparar mientras viaja en su lugar.

Si el agente realmente aprendió algo sobre jugar un juego como este, debería poder aprender las versiones modificadas del juego mucho más rápido que algo completamente nuevo. Esto se llama “generalizar” (aplicar el conocimiento existente a un nuevo conjunto de circunstancias) y los humanos lo hacemos constantemente.

Los investigadores de OpenAI se han encontrado con esto muchas veces en su investigación, y para probar el conocimiento de IA generalizable en un nivel básico, diseñaron una especie de sala de juegos de IA donde un agente tiene que demostrar su valía en una variedad de juegos con diferentes superposiciones de conceptos de juego

Los 16 entornos de juego que diseñaron son similares a los juegos que conocemos y amamos, como Pac-Man, Super Mario Bros., Asteroids, etc. La diferencia es que los entornos se han creado desde cero para jugar con IA, con controles, recompensas y gráficos simplificados.

Cada uno grava las habilidades de una IA de una manera diferente. Por ejemplo, en un juego puede no haber penalización por quedarse quieto y observar el entorno del juego durante unos segundos, mientras que en otros puede poner en peligro al agente. En algunos, la IA debe explorar el entorno, en otros, puede centrarse en una sola nave espacial de gran jefe. Pero todos están hechos para ser juegos inequívocamente diferentes, no muy diferentes (aunque obviamente un poco diferentes) de lo que puedes encontrar disponible para una consola Atari o NES.

Aquí está la lista completa, como se ve en el gif a continuación, de arriba a abajo, de izquierda a derecha:

ninja: Sube a una torre mientras evitas las bombas o las destruyes con estrellas arrojadizas.
Coinrun: Consigue la moneda en el lado derecho del nivel mientras evitas las trampas y los monstruos.
Saquear: Dispara balas de cañón desde la parte inferior de la pantalla para golpear a los barcos enemigos y evitar los amistosos.
Volador de cavernas: Navega por las cuevas usando los controles al estilo de los asteroides, dispara a los enemigos y evita los obstáculos.
Puente: Juego de plataformas de mundo abierto con un conejo que salta dos veces y una brújula que apunta hacia la meta.
Minero: Cava en la tierra para obtener diamantes y rocas que obedezcan las reglas de gravedad de la era Atari.
Laberinto: Navega por laberintos generados aleatoriamente de varios tamaños.
Gran pez: Come peces más pequeños que tú para convertirte en el pez más grande, mientras evitas un destino similar.
cazador: Al igual que Pac-Man, cómete los puntos y usa gránulos de energía estratégicamente para comerte a los enemigos.
Intermedio: Shmup tipo Gradius enfocado en esquivar y eliminar rápidamente las naves enemigas.
Lucha del jefe: Batalla 1 contra 1 con una nave jefe con ataques seleccionados al azar y escudos de reposición.
Robo: Navega por un laberinto con candados de colores y las llaves correspondientes.
hueso de fruta: Asciende a través de los niveles mientras recolectas frutas y evitas las que no son frutas.
Esquivar: Muévete por una habitación sin tocar las paredes, golpeando a los demás con las bolas y evitando ser golpeado.
Trepador: Sube a una serie de plataformas recogiendo estrellas en el camino y esquivando monstruos.
saltador: Juego de cruce de carril tipo Frogger con coches, troncos, etc.

Puede imaginar que se podría crear una IA que sobresalga en las basadas en cuadrículas como Heist, Maze y Chaser, pero pierda la pista en Jumper, Coinrun y Bossfight. Al igual que un ser humano, porque hay diferentes habilidades involucradas en cada uno. Pero también los hay compartidos: comprender que el personaje del jugador y los objetos en movimiento pueden tener consecuencias, o que ciertas áreas del área de juego son inaccesibles. Una IA que pueda generalizar y adaptarse rápidamente aprenderá a dominar todos estos juegos en menos tiempo que una que no generalice bien.

El conjunto de juegos y métodos para observar y calificar el desempeño de los agentes en ellos se denomina benchmark ProcGen, ya que los entornos y las ubicaciones de los enemigos en los juegos se generan de forma procesal. Puedes leer más sobre ellos o aprender a construir tu propia pequeña sala de juegos de IA. en la página de GitHub del proyecto.


Source link