Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Machine Learning con Unity

16 views

Published on

Introducción al uso del ML-Agent Toolkit para Unity con un proyecto sencillo de prueba para ver las posibilidades del Machine Learning en los videojuegos

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Machine Learning con Unity

  1. 1. Machine Learning y los videojuegos Vanessa Galcerà GDG Tarragona - WTM Lead
  2. 2. Sobre mi ● Ingeniera Informática. ● 4 años como formadora de Sun Microsystems y Red Hat. ● Desarrollo de aplicaciones empresariales con Oracle ADF. - En mi tiempo libre: ● Co-fundadora de TarracoDroid. ● Co-organizadora del GDG Tarragona. ● Women Techmaker Lead. @VanessaGaRe
  3. 3. Machine Learning En lugar de establecer por código el comportamiento y las interacciones de las “máquinas”, nos permite a partir de datos, enseñar a las “máquinas” cómo tienen que actuar. @VanessaGaRe
  4. 4. Machine Learning
  5. 5. Los videojuegos y el Machine Learning
  6. 6. @VanessaGaRe ● Potente ○ 2D/3D, motor de físicas... ● Muchas posibilidades ○ Para diseñadores, artistas y desarrolladores ● Gratuito para uso personal ○ <100000 $/año ● Compila una vez, despliega en: móviles, consolas, VR/AR, escritorio y web. ● Mucha documentación disponible. ● Gran cantidad de recursos (Asset Store).
  7. 7. Unity ML-Agents Toolkit (Beta) @VanessaGaRe
  8. 8. Aprendizaje por refuerzo ● Aprender a través de recompensas ● Prueba y error ● Simulación a super velocidad ● Los agentes llegan a ser ‘óptimos’ en la tarea Aprendizaje por imitación ● Aprender a través de demostraciones ● Las recompensas no son necesarias ● Interacción en tiempo real ● Los agentes llegan a ser ‘como humanos’ en la tarea Métodos de entrenamiento @VanessaGaRe
  9. 9. Aprendizaje por refuerzo ● Aprender a través de recompensas ● Prueba y error ● Simulación a super velocidad ● Los agentes llegan a ser ‘óptimos’ en la tarea Aprendizaje por imitación ● Aprender a través de demostraciones ● Las recompensas no son necesarias ● Interacción en tiempo real ● Los agentes llegan a ser ‘como humanos’ en la tarea Métodos de entrenamiento: Por refuerzo @VanessaGaRe
  10. 10. Unity ML-Agents Workflow @VanessaGaRe
  11. 11. Crear el entorno de entrenamiento
  12. 12. Crear el entorno de entrenamiento
  13. 13. Creación del entorno
  14. 14. Crear los componentes ML-Agents
  15. 15. Implementación del Academy Coordina los ML-Agents en la escena y controla la parte de toma de decisiones del ciclo de simulación. Cada escena ML-Agent necesita una instancia de Academy. La clase base Academy es abstracta, debemos crear nuestra propia subclase incluso si no necesitamos ninguno de los métodos para un entorno particular. @VanessaGaRe
  16. 16. Añadir un Brain Encapsula el proceso de toma de decisiones. Un agente envía sus observaciones a su cerebro y espera una decisión. La configuración del Brain Type determina cómo el cerebro toma las decisiones (internal, external, player, heuristic). A diferencia de la clase Academy y Agent, no crearemos nuestra propia clase Brain. @VanessaGaRe
  17. 17. El script Brain nos lo proporcionan
  18. 18. Implementar un Agent Recolecta observaciones y se las proporciona al Brain. Espera una decisión para realizar una acción. Calcula la recompensa y la aplica.
  19. 19. ● Inicializar y resetear el Agente ● Observar el entorno ● Actuar ○ Recompensar
  20. 20. { Enseñar código del Agente } https://github.com/vgalcera/RollerBall-ML/blob/master/RollerAgent.cs
  21. 21. Lanzar el entrenamiento - A través del menú Play de Unity $> mlagents-learn ../config/trainer_config.yaml --run-id=firstRun --train - Generando el ejecutable a parte y lanzándolo con mlagents-learn $> mlagents-learn ../config/trainer_config.yaml --env=RollerBall-ML --run-id=firstRun --train
  22. 22. { Mostrar el entrenamiento }
  23. 23. Incorporar nuestro modelo entrenado en la escena
  24. 24. { Mostrar la simulación }
  25. 25. Aprendizaje por refuerzo ● Aprender a través de recompensas ● Prueba y error ● Simulación a super velocidad ● Los agentes llegan a ser ‘óptimos’ en la tarea Aprendizaje por imitación ● Aprender a través de demostraciones ● Las recompensas no son necesarias ● Interacción en tiempo real ● Los agentes llegan a ser ‘como humanos’ en la tarea Métodos de entrenamiento: Por imitación
  26. 26. Métodos de entrenamiento: Por imitación Vídeo: https://youtu.be/Q3Ka3CpNmlw
  27. 27. Referencias - Project Demo: https://github.com/vgalcera/RollerBall-ML - ML-Agent Toolkit: https://github.com/Unity-Technologies/ml-agents - Puppo: https://blogs.unity3d.com/es/2018/10/02/puppo-the-corgi-cuteness-overload-with-t he-unity-ml-agents-toolkit - Safer Cities: https://blogs.unity3d.com/es/2018/01/23/designing-safer-cities-through-simulations - ML-Agents Toolkit in a real game: https://blogs.unity3d.com/es/2017/12/11/using-machine-learning-agents-in-a-real-ga me-a-beginners-guide
  28. 28. Vanessa Galcerà @VanessaGaRe vgalcera@gmail.com www.gdgtarragona.net @GDGTarragona Gracias!

×