democratizing deep learning with unity ml agents
play

Democratizing Deep Learning with Unity ML-Agents Arthur Juliani - PowerPoint PPT Presentation

Democratizing Deep Learning with Unity ML-Agents Arthur Juliani About Unity Creation Engine Games AR/VR Cinematics Simulations 40+ Platforms Free for personal use Machine Learning Machine Learning And Games? Yet


  1. Democratizing Deep Learning with Unity ML-Agents Arthur Juliani

  2. About Unity “Creation Engine” • Games • AR/VR • Cinematics • Simulations • 40+ Platforms • Free for personal use

  3. Machine Learning

  4. Machine Learning And Games?

  5. Yet another ML training platform?

  6. ML Training Platforms VizDoom Malmo Atari DeepMind Lab SCII LE PyBullet

  7. ML Training Environments Visual Complexity Physical Complexity Cognitive Complexity

  8. The Unity Ecosystem

  9. How does it work?

  10. Unity ML-Agents Workflow Create Environment Train Agents Embed Agents

  11. Unity ML-Agents Workflow Create Environment Train Agents Embed Agents

  12. Create Environment (Unity) 1. Create Scene 2. Add Academy, Brain(s), and Agent(s) 3. Define Observations, Actions, and Rewards 4. Build Executable

  13. Create Environment (Unity) Observation & Act Decide Coordinate

  14. Agents • Agents are GameObjects within the Unity scene. • They perceive the environment via observations , take actions , and optionally receive rewards . • Each agent is linked to a brain, which makes decisions for the agent.

  15. Brains • Player – Actions are decided by user input through keyboard or gamepad. • Heuristic – Actions are decided by C# script using state input. • External – Actions are decided using Tensorflow via Python interface. • Internal – Actions are decided using Tensorflow model embedded into project.

  16. Unity ML-Agents Workflow Train Agents Build Environment Embed Agents

  17. Training Methods Reinforcement Learning Imitation Learning ● ● Learn through rewards Learn through demonstrations ● ● Trial-and-error No rewards necessary ● ● Super-speed simulation Real-time interaction ● Agent becomes “optimal” at task ● Agent becomes “human - like” at task

  18. Agent Training Process

  19. Train Agents (Python) • Launch an environment from python with env = UnityEnvironment (“ my_environment ”) • Interact with gym-like interface: env.reset() env.step() env.close()

  20. Train Agents (Python) • PPO and Behavioral Cloning algorithms included by default. • Works with Continuous and Discrete Control, plus image and/or vector inputs. • Monitor progress with TensorBoard.

  21. Unity ML-Agents Workflow Embed Agents Build Environment Train Agents

  22. Embed Agents (Unity) • Once a model is trained, it can be exported into the Unity project. • Simply drop .bytes file into Unity project, and use it in corresponding Brain with “Internal” mode. • Support for Mac, Windows, Linux, iOS, and Android.

  23. Learning Scenarios

  24. Twelve Agents, One Brain, Independent Rewards

  25. Two Agents, One Brain, Cooperative Rewards

  26. Four Agents, Two Brains: Competitive Multi-Agent

  27. Multi-Stage Soccer Training Defense Offense Combined Train one brain with Train one brain with Train both brains negative reward for positive reward for ball together to play against ball entering their goal entering opponents goal opponent team

  28. Physical Manipulation Reacher Crawler

  29. Additional Features

  30. Curriculum Learning

  31. Easy Curriculum Learning • Bootstrap learning of difficult task with simpler task • Utilize custom reset parameters • Change environment task based on reward or fixed progress Difficult

  32. Memory-enhanced agents

  33. Try it Now https://github.com/Unity-Technologies/ml-agents

  34. Thank You! Questions? @awjuliani arthurj@unity3d.com

Recommend


More recommend