Creación de NPCs usando Inteligencia Artificial con ML-Agents de Unity.
Crea personajes inteligentes para tus juegos con este es un curso avanzado de ML-Agents. Se asume que ya has creado algún proyecto pequeño con ML Agents, o que has seguido algún tutorial. También se asume que tienes unas nociones básicas de Machine Learning. Es decir que sabes que todo se basa en premios, acciones y observaciones.
Si no es así…. pasa por el curso: Introducción al Machine Learning con ML-Agents para UNITY. En el aprenderás todo lo necesario para aprovechar este curso… y para crear juegos basados en esta tecnología tan apasionante que nos brinda la gente de UNITY.
Los ML-Agents representan el futuro de la Inteligencia Artificial en UNITY. Son la primera piedra de una revolución en la programación de los Non Playable Characters (NPC’s).
¿Qué aprenderemos en este curso?
El curso está en desarrollo, ML-Agents es una tecnología muy nueva, y va evolucionando y apareciendo nuevas características continuamente. El curso se irá adaptando, pero tiene un enfoque muy práctico. Sin abandonar las explicaciones teóricas de la base del Machine Learning, slas lecciones mayoritariamente se enfocarán a la creación de NPC’s y a dominar y conocer las características de los ML-Agents. Hacer una lección suelen ser horas de trabajo, así que, el curso irá creciendo a medida que vayan creciendo los proyectos y cambiando a medida que UNITY vaya introduciendo mejoras.
El curso avanzado de ML-Agents con UNITY consta de tres secciones y cinco lecciones.
Sección 1. Machine Learning para Unity.
En esta sección veremos los conceptos principales del Machine Learning, pero siempre aplicados a UNITY, aunque con una visión más general. Es el apartado más teórico, aunque totalmente basado en solucionar problemas prácticos, en el que iremos aprendiendo puntos clave como la composición del fichero .yaml, y cómo afectan sus variables a un proyecto.
- La importancia del fichero . YAML. El fichero mas temido. En el se configuran los hyperparameters. Crear un fichero .yaml correcto, u optimo, conlleva mucho trabajo, muchas pruebas. Usando un proyecto muy sencillo (pong) como ejemplo veremos como las modificaciones del fichero .yaml afectan al proceso de training y al resultado obtenido.
Sección 2. ML-Agents de Unity.
Técnicas específicas de diseño o desarrollo usadas con ML-Agents. Diferentes formas de learning aplicadas a la creación de personajes, o solución de problemas de nuestros juegos. Trucos que nos enseñaran a aprovechar todo lo que nos ofrece UNITY, siempre con una visión meramente práctica. Se tratarán temas como aprendizaje por imitación, el curriculum learning, o el Self Player algorithm.
- Usando Imitation Learning en un proyecto sencillo. Aprendemos una técnica de aprendizaje que nos ayudará a entrenar nuestros NPC’s. Para ello usamos el proyecto de pong, un proyecto sencillo que nos sirve de base sin molestar.
- Un segundo RayPerceptionSensor3D para mejorar un NPC. Vemos un pequeño truco que nos ayudará a crear personajes mas inteligentes con poco esfuerzo.
Sección 3. Destripando proyectos de ML-Agents.
Estudiaremos proyectos de ML-Agents, propios, o los ofrecidos por UNITY u otros desarrolladores. En el caso de proyectos propios, partiendo de una necesidad estudiaremos desde el planteamiento de la solución hasta el proceso entero de learning, viendo cada paso, cada error hasta llegar, a una solución para el problema planteado. Crearemos personajes que solucionaran problemas complejos. Intentaremos crear enemigos inteligentes para nuestros juegos.
La inteligencia artificial, el deep learning, los ml agents, son temas apasionantes. Si encima los mezclamos con la creación de juegos, la creación de personajes… es lo más cerca que vamos a estar de crear IA’s en nuestra máquina de desarrollo.
- Creamos un NPC capaz de perseguir un target en un entorno Variable. Primera parte. En este proyecto crearemos un NPC que deberá ser capaz de perseguir objetivos en escenarios donde los muros pueden cambiar de posición. Vemos como se ha diseñado la función CollectObservations, y las demás del script del ML-Agent. Vemos los cambios en el fichero .yaml, los trainings, las pruebas…. y el resultado no es malo, pero tampoco es el resultado buscado.
- Creamos un NPC capaz de perseguir un target en un entorno Variable. Segunda parte. Continuamos con el proyecto, modificamos dos puntos claves del script, damos con un error en el fichero .yaml y todo empieza a funcionar como estaba pensado.
¿A quién va dirigido el Curso avanzado de ML-Agents?
Conoces ya esta tecñologia, o has hecho el curso de Introducción al Machine Learning con ML-Agents para UNITY. Entonces sabrás que puedes aprovechar y disfrutar de este curso. Los ML-Agents son un vicio, cuando ya has dado el primer paso no puedes parar hasta crear cada vez personajes mas y mas inteligentes que se pueda usar en tus juegos. Este curso te ayuda.
¿Te apetece? Pues no te olvides apuntarte, para ir recibiendo las lecciones a medida que se publiquen!