Jump to content
Pere

Curso intermedio de ML-Agents

Recommended Posts

Bueno, 

 

Después del curso de Introducción a los ML-Agents: 

Regístrate para acceder a este contenido.

 

He empezado otro que trata temas más en profundidad, pero no me atrevo a llamar avanzado. No tan solo intentare tocar cosas nuevas sinó tocar mas en profundidad algunas de las vistas en el curso de iniciación, como la configuración del fichero .yaml y su importancia. Por ahora cuenta tan solo con lecciones: 

  • Regístrate para acceder a este contenido.
    . En este explico como afectan las modificaciones del fichero de configuración al proceso de aprendizaje de los ML-Agents, intentado explicar para que se usa cada uno de los parámetros del fichero, pero dando más una explicación practica, que teórica, aunque sin dejar todo del lado esta segunda. La intención ha sido coger un proyecto sencillo y modificar el proceso de aprendizaje usando tan solo la configuración de este fichero, sin modificar el script o los permisos / castigos que recibe el agente. 
  • Regístrate para acceder a este contenido.
      Con el mismo proyecto, con un fichero .yaml ya optimizado en el apartado anterior, vemos cómo afecta el uso de Imitation Learning en el proceso de aprendizaje. Se da una explicación de lo que es el Imitation Learning y se explica cómo usarlo, crear los ficheros .demo y modificar de nuevo el .yaml para que acepte los ficheros creados como entrada. 

No todas las lecciones van a tener vídeo, y posiblemente la explicación de texto sea bastante más importante que en el primer curso. 

El primer vídeo es el que acompaña a la lección de Imitatión Learning: 

Regístrate para acceder a este contenido.

El proyecto esta disponible en la página del curso: 

Regístrate para acceder a este contenido.

No creo que consiga un ritmo de publicación de lecciones muy grande, ya que cada tema lleva mucho tiempo. Cada modificación del script, de los premios, del fichero .yaml necesita de un proceso de aprendizaje para ver como afectan las modificaciones, algunos se pueden descartar en los primeros minutos, pero otros necesitan de un tiempo de ejecución nada despreciable. Para crear estas dos lecciones habré ejecutado entre 100 y 150 procesos de aprendizaje, que posiblemente sumen más de 80 horas, tan solo para poder ver cómo cuadrar la teoría con la practica. 

Los ML-Agents son un mundo que esta casi más cerca del Machine Learning que del desarrollo de juegos, pero creo que ya podemos usarlo para crear NPC's que aparezcan en nuestros juegos.... o bueno, en vuestros juego, por que yo si estudio y hago vídeos no hago juegos 😞

 

  • Like 1

Share this post


Link to post
Share on other sites

Después de un tiempo, publicó un par de vídeos más del curso de IA con ML-Agents. Los dos forman parte de una serie en la que enseño paso a paso cómo he creado algún NPC. En este caso se trata de un NPC que persigue targets, y se tiene que adaptar al entorno. Es decir, tendria que funcionar en escenarios diferentes. Escenarios que he creado usando muros que aparecen en posiciones aleatorias. El NPC tiene que llegar a los targets, que también cambian de posición, independientemente de como estén situados los muros. 

 

Para realizarlo he utilizado un Reinforcement Learning con ML-Agents, es decir, la técnica más simple, pero he dado varios pasos en falso, equivocándome con la construcción del script de observaciones, en el fichero .yaml, en el repartimiento de premios y castigos, es decir, equivocandome en todo lo que se equivoca cualquier persona que diseña un entorno de ML-Agents. 

Regístrate para acceder a este contenido.

Regístrate para acceder a este contenido.

En el primer vídeo consigo un agente que si bien puede encontrar los targets con relativa facilidad es incapaz de adaptarse a los muros nuevos o a los cambios de posición de los targets.

Regístrate para acceder a este contenido.

Regístrate para acceder a este contenido.

En el segundo vídeo, despues de descubrir el error que me lastraba desde el principio, si que se consigue el objetivo!!!! 

La verdad es que ha sido una colección de errores, ha fallado casi todo lo que podía fallar, pero es con lo que me encuentro en la mayoria de proyectos que ha go con ML-Agents. Son proyectos que requieren de horas, de mucha prueba y error, pero que se puede conseguir cosas realmente interesantes.

Creo que la tecnología empieza a estar madura y que ya se empieza  a ver en algún juego. 

  • Like 1

Share this post


Link to post
Share on other sites
On 3/5/2021 at 1:12 AM, francoe1 said:

¡Gran Aporte, gracias por compartirlo con la comunidad!

😎

Gracias a tí por mantenerla :-) Gran trabajo! 

  • Like 1

Share this post


Link to post
Share on other sites
Regístrate para acceder a este contenido.

Otro vídeo del curso un poquitin mas avanzado de creación de NPC's con ML-Agents. Ahora vemos como con una cosa tan tonta como trabajar con un segundo componente RayPerceptionSensor3D (que son 5 o 10 minutos) se puede mejorar la navegación de nuestro agente. Lo que demuestra que mas vale perder tiempo en pensarse un poco las cosas, que en la fuerza bruta de horas de entreno 😮  como me ha pasado a mi. O incluso mejor que entrar en el mundo de cometer errores tocando los hyperparameters del fichero .yaml! 

 

  • Like 1

Share this post


Link to post
Share on other sites

×
×
  • Create New...