Aprendo mejor a través de la experimentación y el ejemplo. Estoy aprendiendo acerca de las redes neuronales y tengo (lo que creo) es una comprensión bastante buena de la clasificación y la regresión y también el aprendizaje supervisado y no supervisado, pero me he topado con algo que no puedo entender tranquilamente;
Si quisiera entrenar a una IA para jugar un juego complicado; Estoy pensando en algo como un RTS (por ejemplo, Age of Empires, Empire Earth, etc.). En este tipo de juegos, generalmente hay una serie de entidades controladas por el jugador (unidades, edificios), cada una con diferentes capacidades. Parece que el problema de que la IA sí sería la clasificación (por ejemplo, elegir esa unidad y esa acción), sin embargo, dado que el número de unidades es una variable, ¿cómo se maneja un problema de clasificación de esta manera?
Lo único en lo que puedo pensar es en múltiples redes que realizan diferentes etapas (una para la estrategia general, otra para controlar este tipo de unidad, otra para ese tipo de edificio, etc.); pero esto parece que estoy complicando el problema.
¿Hay algún buen ejemplo de aprendizaje automático / redes neuronales que aprendan juegos complejos (no específicamente RTS, pero más complicado el Mario )?
fuente
Respuestas:
Esa es una buena pregunta y muchos científicos de todo el mundo se preguntan lo mismo. Bueno, primero no se considera que un juego como Age of Empires tenga un espacio de solución realmente grande, no hay tantas cosas que puedas hacer. Es lo mismo en juegos como Mario Bros. El problema de aprender en juegos fáciles como los juegos de Atari fue resuelto por los muchachos de DeepMind (aquí el documento ), que fue adquirido por Google. Utilizaron una implementación de Reinforcement Learning con Deep Learning.
Volviendo a tu pregunta. Un gran problema es cómo imitar la cantidad de decisiones que toma un ser humano todos los días. Despierta, desayuna, toma una ducha, sal de tu casa ... Todas estas acciones necesitan un alto nivel de inteligencia y muchas acciones para desarrollarse.
Hay muchas personas trabajando en este problema, yo soy uno de ellos. No sé la solución, pero puedo decirte de qué manera estoy mirando. Sigo las teorías de Marvin Minsky, él es uno de los padres de la IA. Este libro, la máquina de la emoción, muestra una muy buena visión del problema. Sugirió que la forma de crear una máquina que imite el comportamiento humano no es construir una teoría compacta unificada de la inteligencia artificial. Por el contrario, argumenta que nuestro cerebro contiene recursos que compiten entre sí para satisfacer diferentes objetivos en el mismo momento. Llamaron a esto Formas de pensar .
fuente
Gran pregunta Esto es una cuestión de complejidad, y el enfoque que use dependerá de cuán complejo sea el problema. Cualquier problema que intentemos resolver tendrá un grado de complejidad asociado, definido coloquialmente como "la cantidad de cosas que interactúan, o cosas que deben considerarse". En el aprendizaje supervisado y no supervisado, especificamos con precisión el número de cosas a considerar.
Por ejemplo, en la regresión lineal múltiple, le decimos al algoritmo de aprendizaje cuántas características debe tener en cuenta al ajustar un modelo (el número de columnas en su conjunto de entrenamiento). La misma situación es válida para el aprendizaje no supervisado; Se utiliza un conjunto de entrenamiento bien definido con un número explícito de características (en este caso sin etiquetas).
Lo que enfrenta es una situación inadecuada para la clasificación o regresión, porque no puede especificar con precisión el número de "cosas a considerar". Como usted dice, el espacio de su problema es extremadamente grande. Otra forma de pensar sobre esto es en términos del conjunto de capacitación requerido para aprender un modelo; ¿Qué tan difícil es para ti imaginar cómo se ve el conjunto de entrenamiento? En tu caso difícil. ¿Qué contendrían exactamente las columnas de mi conjunto?
Es por eso que aplicaciones como los autos sin conductor, Atari y AlphaGo no usan clasificación o regresión. Es imposible saber cómo se vería el conjunto de entrenamiento. Puede intentarlo, pero su modelo no podrá hacer predicciones sólidas de manera confiable (en este caso se mueve). ¿Cuántas cosas debes considerar para construir un modelo de las condiciones del camino?
Es por eso que existe un tercer tipo de aprendizaje automático, el aprendizaje por refuerzo. En lugar de usar un conjunto de entrenamiento preespecificado, usa prueba y error. Al hurgar continuamente en su entorno, puede aprender una política que funcione a largo plazo.
Entonces, para espacios problemáticos más pequeños donde tenemos la oportunidad de definir el conjunto de capacitación, usamos aprendizaje automático supervisado y no supervisado. Para espacios problemáticos más grandes donde es difícil definir el conjunto de entrenamiento, usamos aprendizaje de refuerzo. Por supuesto, también puede hacer combinaciones interesantes de todos los enfoques anteriores, pero aún así se reduce a la complejidad.
fuente