Machine Learning Pwns Old-School Atari Games

Esta es la ciencia de 60 segundos de Scientific American. Soy Pakinam Amer.

Tanto si eres un jugador profesional como si sumerges los dedos de los pies en ese mundo de vez en cuando, es probable que te quedes atascado mientras juegas un videojuego una vez, o incluso que te derrote gloriosamente por uno.


Recomendado: ¿Qué es el Big data?.


Yo se que tengo.

Quizás, en tu frustración, pateaste un poco la consola. Tal vez lo sacaste con los controladores osi eres un chico de los 80 como yohizo que el joystick pagara.

Ahora, un grupo de informáticos de UberAI se venga de todos los que hemos estado en esta situación antes.

Usando una familia de algoritmos simples, etiquetados como “Go-Explore”, volvieron atrás y vencieron algunos de los juegos de Atari más notoriamente difíciles, cuyos gruesos bloques de píxeles y melodías de 8 bits alguna vez nos habían desafiado, provocado e incluso enfurecido.

Pero, ¿qué logra volver a visitar esos juegos de los años 80 y 90, además de cumplir una fantasía infantil?

Según los científicos, que publicaron su trabajo en Naturaleza, experimentar con la resolución de videojuegos que requieren una exploración compleja y dura da paso a mejores algoritmos de aprendizaje. Se vuelven más inteligentes y funcionan mejor en escenarios del mundo real.

Joost Huinzinga: Una de las cosas buenas de Go-Explore es que no se limita solo a los videojuegos, sino que también puede aplicarlo a aplicaciones prácticas como la robótica.

Ese fue Joost Huinzinga, uno de los principales investigadores de UberAI. Joost desarrolló Go-Explore con Adrien Ecoffet y otros científicos.

Entonces, ¿cómo funciona realmente?

Empecemos con lo básico. Cuando la IA procesa imágenes del mundo en forma de píxeles, no sabe qué cambios deben contar y cuáles deben ignorarse. Por ejemplo, un ligero cambio en el patrón de las nubes en el cielo en un entorno de juego probablemente no sea importante cuando se explora dicho juego, pero encontrar una clave faltante ciertamente lo es. pero para la IA, ambos implican cambiar algunos píxeles en ese mundo.

Aquí es donde entra el aprendizaje por refuerzo profundo. Es un área de aprendizaje automático que ayuda a un agente a analizar un entorno para decidir qué es lo importante y qué acciones cuentan a través de señales de retroalimentación en forma de recompensas extrínsecas e intrínsecas.

Joost Huinzinga: Esto es algo que los animales, básicamente, hacen constantemente. Puedes imaginar, si tocas una estufa caliente, inmediatamente obtienes una fuerte retroalimentación negativa como, ‘oye, esto es algo que no deberías hacer en el futuro’. Si comes una barra de chocolates, asumiendo que te gustan los chocolates, inmediatamente obtenga una señal de retroalimentación positiva como, ‘oye, tal vez debería buscar más chocolate en el futuro’. Lo mismo ocurre con el aprendizaje automático. Estos son problemas en los que el agente tiene que tomar algunas medidas y luego tal vez gane un juego.

Crear un algoritmo que pueda navegar por habitaciones con trampas, obstáculos para saltar, recompensas para recolectar y trampas para evitar, significa que tienes que crear una inteligencia artificial que sea curiosa y que pueda explorar un entorno de una manera inteligente.

Esto lo ayuda a decidir qué lo acerca a una meta o cómo recolectar tesoros difíciles de conseguir.

El aprendizaje por refuerzo es excelente para eso, pero no es perfecto en todas las situaciones.

Joost Huinzinga: En la práctica, el aprendizaje por refuerzo funciona muy bien, si tiene una retroalimentación muy rica, si puede decir, “oye, este movimiento es bueno, ese movimiento es malo, este movimiento es bueno, ese movimiento es malo”.

En juegos de Atari como Montezuma’s Revenge, el entorno del juego ofrece pocos comentarios y sus recompensas pueden llevar intencionalmente a callejones sin salida. Explorar el espacio aleatoriamente no es suficiente.

Joost Huinzinga: Podrías imaginar, y esto es especialmente cierto en videojuegos como La venganza de Montezuma, que a veces tienes que realizar muchas acciones muy específicas, tienes que esquivar peligros, saltar sobre enemigos, puedes imaginar que acciones aleatorias como, ‘oye, tal vez debería saltar aquí, ‘en este nuevo lugar, va a conducir a un’ Fin del juego ‘porque ese era un mal lugar para saltar … especialmente si ya estás bastante metido en el juego. Digamos que quieres explorar el nivel dos, si comienzas a realizar acciones aleatorias en el nivel uno y mueres al azar, no vas a progresar en la exploración del nivel dos.

No puede confiar solo en la “motivación intrínseca”, que en el contexto de la inteligencia artificial generalmente proviene de la exploración de situaciones nuevas o inusuales.

Joost Huinzinga: Digamos que tienes un robot y puede ir a la izquierda en la casa y a la derecha en la casa, digamos que al principio va a la izquierda, explora la izquierda, lo que significa que obtiene esta recompensa intrínseca por un tiempo. No termina de explorar la izquierda y, en algún momento, el episodio termina y comienza de nuevo en la sala de inicio. Esta vez va a la derecha, se adentra bastante en la habitación de la derecha, no la explora del todo. Y luego vuelve a la sala de inicio. Ahora el problema es porque se ha ido tanto a la izquierda como a la derecha y básicamente ya ha visto el comienzo, ya no recibe tanta motivación intrínseca por ir allí.

En resumen, deja de explorar y lo cuenta como una victoria.

Separarse de un lugar que se visitó anteriormente después de recolectar una recompensa no funciona en juegos difíciles, porque podría omitir pistas importantes.

Go-Explore soluciona esto no recompensando algunas acciones, como ir a un lugar nuevo.

En cambio, fomenta la “exploración suficiente” de un espacio, con pocas o ninguna pista, al permitir que su agente “recuerde” explícitamente lugares o estados prometedores en un juego.

Una vez que el agente mantiene un registro de ese estado, puede volver a cargarlo y explorar intencionalmente, lo que Adrien y Joost llaman el principio de “primero regresar, luego explorar”.

Según Adrien, apoyándose en otra forma de aprendizaje llamada aprendizaje por imitación, donde los agentes pueden imitar tareas humanas, su IA puede recorrer un largo camino, especialmente en el campo de la robótica.

Adrien Ecoffet: Tienes una diferencia entre el mundo en el que puedes entrenar y el mundo real. Entonces, un ejemplo sería si está haciendo robótica … ya sabe, en robótica, es posible tener simulaciones de sus entornos de robótica. Pero luego, por supuesto, quieres que tu robot funcione en el mundo real, ¿verdad? Entonces, ¿qué puedes hacer? Si se encuentra en una situación como esa, por supuesto, la simulación no es exactamente igual que el entorno, por lo que tener algo que funcione en la simulación no es necesariamente suficiente. Demostramos que en nuestro trabajo … Lo que estamos haciendo es que estamos usando algoritmos existentes que se denominan “aprendizaje por imitación”. Y lo que es, es que simplemente toma una solución existente para un problema y solo se asegura de que pueda usar esa solución de manera confiable, incluso cuando, ya sabe, hay ligeras variaciones en su entorno, incluido, ya sabe, que es el real. mundo en lugar de una simulación.

Adrien y Joost dicen que la fortaleza de su modelo radica en su simplicidad.

Puede adaptarse y expandirse fácilmente a aplicaciones de la vida real, como el aprendizaje de idiomas o el diseño de fármacos.

Eso fue 60 Seconds Science, y esto es Pakinam Amer. Gracias por escuchar.