Índice del contenido[Esconder][Espectáculo]
Los videojuegos siguen siendo un desafío para miles de millones de jugadores en todo el mundo. Es posible que aún no lo sepa, pero los algoritmos de aprendizaje automático también han comenzado a estar a la altura del desafío.
Actualmente hay una cantidad significativa de investigación en el campo de la IA para ver si los métodos de aprendizaje automático se pueden aplicar a los videojuegos. El progreso sustancial en este campo muestra que máquina de aprendizaje los agentes se pueden usar para emular o incluso reemplazar al jugador humano.
¿Qué significa esto para el futuro de videojuegos?
¿Son estos proyectos simplemente por diversión o hay razones más profundas por las que tantos investigadores se centran en los juegos?
Este artículo explorará brevemente la historia de la IA en los videojuegos. Luego, le daremos una descripción general rápida de algunas técnicas de aprendizaje automático que podemos usar para aprender a ganar juegos. Luego veremos algunas aplicaciones exitosas de redes neuronales para aprender y dominar videojuegos específicos.
Breve historia de la IA en los juegos
Antes de analizar por qué las redes neuronales se han convertido en el algoritmo ideal para resolver videojuegos, analicemos brevemente cómo los informáticos han utilizado los videojuegos para avanzar en su investigación en IA.
Se puede argumentar que, desde sus inicios, los videojuegos han sido un área candente de investigación para los investigadores interesados en la IA.
Si bien no es estrictamente un videojuego en origen, el ajedrez ha sido un gran enfoque en los primeros días de la IA. En 1951, el Dr. Dietrich Prinz escribió un programa para jugar al ajedrez usando la computadora digital Ferranti Mark 1. Esto fue en la época en que estas voluminosas computadoras tenían que leer programas de cintas de papel.
El programa en sí no era una IA de ajedrez completa. Debido a las limitaciones de la computadora, Prinz solo pudo crear un programa que resolviera problemas de ajedrez de mate en dos. En promedio, el programa tardó entre 15 y 20 minutos en calcular todos los movimientos posibles para los jugadores blancos y negros.
El trabajo para mejorar el ajedrez y las damas AI ha mejorado constantemente a lo largo de las décadas. El progreso alcanzó su clímax en 1997 cuando Deep Blue de IBM derrotó al gran maestro de ajedrez ruso Garry Kasparov en un par de partidas de seis juegos. Hoy en día, los motores de ajedrez que puedes encontrar en tu teléfono móvil pueden derrotar a Deep Blue.
Los oponentes de IA comenzaron a ganar popularidad durante la época dorada de los videojuegos. Space Invaders de 1978 y Pac-Man de 1980 son algunos de los pioneros de la industria en la creación de IA que puede desafiar lo suficiente incluso a los jugadores de arcade más veteranos.
Pac-Man, en particular, era un juego popular para que los investigadores de IA experimentaran. Varios competiciones para la Sra. Pac-Man se han organizado para determinar qué equipo podría presentar la mejor IA para ganar el juego.
La IA del juego y los algoritmos heurísticos continuaron evolucionando a medida que surgió la necesidad de oponentes más inteligentes. Por ejemplo, la IA de combate aumentó en popularidad a medida que géneros como los juegos de disparos en primera persona se generalizaron.
Aprendizaje automático en videojuegos
A medida que las técnicas de aprendizaje automático aumentaron rápidamente en popularidad, varios proyectos de investigación intentaron utilizar estas nuevas técnicas para jugar videojuegos.
Juegos como Dota 2, StarCraft y Doom pueden actuar como problemas para estos algoritmos de aprendizaje automático resolver. Algoritmos de aprendizaje profundo, en particular, fueron capaces de alcanzar e incluso superar el rendimiento a nivel humano.
El Entorno de aprendizaje arcade o ALE proporcionó a los investigadores una interfaz para más de cien juegos de Atari 2600. La plataforma de código abierto permitió a los investigadores comparar el rendimiento de las técnicas de aprendizaje automático en los videojuegos clásicos de Atari. Google incluso publicó sus propios usando siete juegos de la ALE
Mientras tanto, proyectos como VizDoom dio a los investigadores de IA la oportunidad de entrenar algoritmos de aprendizaje automático para jugar juegos de disparos en primera persona en 3D.
Cómo funciona: algunos conceptos clave
Redes neuronales
La mayoría de los enfoques para resolver videojuegos con aprendizaje automático involucran un tipo de algoritmo conocido como red neuronal.
Puede pensar en una red neuronal como un programa que intenta imitar cómo podría funcionar un cerebro. Al igual que nuestro cerebro está compuesto de neuronas que transmiten una señal, una red neuronal también contiene neuronas artificiales.
Estas neuronas artificiales también se transfieren señales entre sí, siendo cada señal un número real. Una red neuronal contiene varias capas entre las capas de entrada y salida, lo que se denomina red neuronal profunda.
Aprendizaje reforzado
Otra técnica común de aprendizaje automático relevante para el aprendizaje de videojuegos es la idea del aprendizaje por refuerzo.
Esta técnica es el proceso de entrenar a un agente usando recompensas o castigos. Con este enfoque, el agente debería poder encontrar una solución a un problema a través de prueba y error.
Digamos que queremos que una IA descubra cómo jugar el juego Snake. El objetivo del juego es simple: conseguir tantos puntos como sea posible consumiendo objetos y evitando que te crezca la cola.
Con el aprendizaje por refuerzo, podemos definir una función de recompensa R. La función suma puntos cuando una serpiente consume un elemento y resta puntos cuando la serpiente golpea un obstáculo. Dado el entorno actual y un conjunto de acciones posibles, nuestro modelo de aprendizaje por refuerzo intentará calcular la "política" óptima que maximiza nuestra función de recompensa.
neuroevolución
Siguiendo el tema de inspirarse en la naturaleza, los investigadores también han tenido éxito al aplicar ML a los videojuegos a través de una técnica conocida como neuroevolución.
En lugar de usar descenso de gradiente para actualizar las neuronas en una red, podemos usar algoritmos evolutivos para lograr mejores resultados.
Los algoritmos evolutivos generalmente comienzan generando una población inicial de individuos aleatorios. Luego evaluamos a estos individuos usando ciertos criterios. Los mejores individuos son elegidos como “padres” y se crían juntos para formar una nueva generación de individuos. Estos individuos luego reemplazarán a los individuos menos aptos de la población.
Estos algoritmos también suelen introducir alguna forma de operación de mutación durante el paso de cruce o "reproducción" para mantener la diversidad genética.
Ejemplo de investigación sobre aprendizaje automático en videojuegos
OpenAI cinco
OpenAI cinco es un programa de computadora de OpenAI que tiene como objetivo jugar DOTA 2, un popular juego de arena de batalla móvil multijugador (MOBA).
El programa aprovechó las técnicas de aprendizaje por refuerzo existentes, escaladas para aprender de millones de fotogramas por segundo. Gracias a un sistema de entrenamiento distribuido, OpenAI pudo jugar 180 años de juegos cada día.
Después del período de entrenamiento, OpenAI Five pudo lograr un rendimiento de nivel experto y demostrar cooperación con jugadores humanos. En 2019, OpenAI cinco pudo derrota 99.4% de jugadores en partidos públicos.
¿Por qué OpenAI se decidió por este juego? Según los investigadores, DOTA 2 tenía una mecánica compleja que estaba fuera del alcance de las profundidades existentes. aprendizaje reforzado algoritmos.
Super Mario Bros.
Otra aplicación interesante de las redes neuronales en los videojuegos es el uso de la neuroevolución para jugar plataformas como Super Mario Bros.
Por ejemplo, este entrada de hackathon comienza sin tener conocimiento del juego y construye lentamente una base de lo que se necesita para progresar a través de un nivel.
La red neuronal autoevolutiva toma el estado actual del juego como una cuadrícula de mosaicos. Al principio, la red neuronal no comprende lo que significa cada mosaico, solo que los mosaicos "aéreos" son diferentes de los "mosaicos de tierra" y los "mosaicos enemigos".
La implementación del proyecto hackathon de una neuroevolución utilizó el algoritmo genético NEAT para generar diferentes redes neuronales de forma selectiva.
Importancia
Ahora que ha visto algunos ejemplos de redes neuronales jugando videojuegos, es posible que se pregunte cuál es el punto de todo esto.
Dado que los videojuegos involucran interacciones complejas entre los agentes y sus entornos, es el campo de pruebas perfecto para hacer IA. Los entornos virtuales son seguros y controlables y proporcionan un suministro infinito de datos.
La investigación realizada en este campo ha dado a los investigadores una idea de cómo se pueden optimizar las redes neuronales para aprender a resolver problemas en el mundo real.
Redes neuronales están inspirados en cómo funcionan los cerebros en el mundo natural. Al estudiar cómo se comportan las neuronas artificiales cuando aprenden a jugar un videojuego, también podemos obtener información sobre cómo cerebro humano funciona
Conclusión
Las similitudes entre las redes neuronales y el cerebro han dado lugar a conocimientos en ambos campos. La investigación continua sobre cómo las redes neuronales pueden resolver problemas puede conducir algún día a formas más avanzadas de inteligencia artificial.
Imagine usar una IA adaptada a sus especificaciones que pueda reproducir un videojuego completo antes de comprarlo para que sepa si vale la pena. ¿Usarían las empresas de videojuegos las redes neuronales para mejorar el diseño del juego, el nivel de ajuste y la dificultad del oponente?
¿Qué crees que sucederá cuando las redes neuronales se conviertan en los mejores jugadores?
Deje un comentario