SlideShare a Scribd company logo
1 of 40
Download to read offline
AI NEXTCon Seattle ‘18
1/17-20th | Seattle
#ainextcon
http://aisea18.xnextcon.com
Bringing Machine Learning to the Unity
Creation Engine with ML-Agents
Arthur Juliani
About Unity
Leading global game industry platform
• 16 Billion Downloads in 2016 – up
31%
• 2.6 Billion Unique Devices
• 700 Million Gamers
• 38% of top 1000 free mobile games
Machine Learning
Machine Learning And Games?
Yet another ML training platform?
ML Training Platforms
VizDoom Malmo Atari
PyBulletDeepMind Lab SCII LE
Visual Complexity Cognitive ComplexityPhysical Complexity
ML Training Environments
The Unity
Ecosystem
Unity ML-Agents Workflow
Create Environment Train Agents Embed Agents
Unity ML-Agents Workflow
Create Environment Train Agents Embed Agents
Create Environment (Unity)
1. Create Scene
2. Add Academy, Brain(s), and
Agent(s)
3. Define Observations, Actions,
and Rewards
4. Build Executable
Create Environment (Unity)
Perceive & Act
Decide
Coordinate
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.
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.
Unity ML-Agents Workflow
Build Environment Train Agents Embed Agents
Agent Training Process
Train Agents (Python)
• Launch an environment from python with
env = UnityEnvironment(“my_environment”)
• Interact with gym-like interface:
env.reset()
env.step()
env.close()
Train Agents (Python)
• Proximal Policy Optimization (PPO)
algorithm included by default.
• Works with Continuous and Discrete Control,
plus image and/or vector inputs.
• Supports multiple-agents per brain within a
scene (and multiple brains coming in v0.3!)
• Monitor progress with TensorBoard.
Unity ML-Agents Workflow
Build Environment Train Agents Embed Agents
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.
Agents
• Learning environments are populated with agents, which are the
actors within the scene.
• Each actor contains functions which define their state variables,
observation cameras, action effects, and reward function.
• Agents are linked to game objects within a scene.
Brains
• Each brain corresponds to a policy for deciding actions within a
learning environment.
• Many agents can be linked to a single brain.
• Brains define the state and action space for their linked agents.
• Multiple brains can be within single environment.
• Four different types of brain.
Academy
• Only one per scene/environment.
• Responsibilities:
• Configures engine for Training or Inference
• Coordinates all Agents and Brains
• Contains set of custom “reset parameters” which can be used for
Curriculum Learning.
Learning Scenarios
One Agent, One Brain
Twelve Agents, One Brain,
Independent Rewards
Two Agents, One Brain,
Inverse Rewards
Physical Manipulation
Reacher Crawler
Four Agents, Two Brains:
Competitive Multi-Agent
Multi-Stage Soccer Training
Defense
Train one brain with
negative reward for ball
entering their goal
Offense
Train one brain with
positive reward for ball
entering opponents goal
Combined
Train both brains together
to play against opponent
team
Multi-Agent Scenarios
• Competitive Multi-Agent
Multiple agents, multiple brains, inverse rewards
• Cooperative Multi-Agent
Multiple agents, multiple brains, shared rewards
• Ecosystem Simulations
Multiple agents, multiple brains, independent rewards

More Related Content

What's hot

Game Development with Unity
Game Development with UnityGame Development with Unity
Game Development with Unitydavidluzgouveia
 
Game Project / Working with Unity
Game Project / Working with UnityGame Project / Working with Unity
Game Project / Working with UnityPetri Lankoski
 
Introduction-to-Unity.ppt
Introduction-to-Unity.pptIntroduction-to-Unity.ppt
Introduction-to-Unity.pptGravityboi
 
Practical QML - Key Navigation, Dynamic Language and Theme Change
Practical QML - Key Navigation, Dynamic Language and Theme ChangePractical QML - Key Navigation, Dynamic Language and Theme Change
Practical QML - Key Navigation, Dynamic Language and Theme ChangeBurkhard Stubert
 
Java class 6
Java class 6Java class 6
Java class 6Edureka!
 
Flutter presentation.pptx
Flutter presentation.pptxFlutter presentation.pptx
Flutter presentation.pptxFalgunSorathiya
 
2-Agents- Artificial Intelligence
2-Agents- Artificial Intelligence2-Agents- Artificial Intelligence
2-Agents- Artificial IntelligenceMhd Sb
 
ASP.Net Technologies Part-1
ASP.Net Technologies Part-1ASP.Net Technologies Part-1
ASP.Net Technologies Part-1Vasudev Sharma
 
Android application-component
Android application-componentAndroid application-component
Android application-componentLy Haza
 
Android lifecycle
Android lifecycleAndroid lifecycle
Android lifecycleKumar
 
Network programming in Java
Network programming in JavaNetwork programming in Java
Network programming in JavaTushar B Kute
 
Artificial intelligence and video games
Artificial intelligence and video gamesArtificial intelligence and video games
Artificial intelligence and video gamesSimple_Harsh
 

What's hot (20)

Game Development with Unity
Game Development with UnityGame Development with Unity
Game Development with Unity
 
Game Project / Working with Unity
Game Project / Working with UnityGame Project / Working with Unity
Game Project / Working with Unity
 
Introduction-to-Unity.ppt
Introduction-to-Unity.pptIntroduction-to-Unity.ppt
Introduction-to-Unity.ppt
 
Flutter
FlutterFlutter
Flutter
 
Unity3D Programming
Unity3D ProgrammingUnity3D Programming
Unity3D Programming
 
Practical QML - Key Navigation, Dynamic Language and Theme Change
Practical QML - Key Navigation, Dynamic Language and Theme ChangePractical QML - Key Navigation, Dynamic Language and Theme Change
Practical QML - Key Navigation, Dynamic Language and Theme Change
 
Introduction to Qt
Introduction to QtIntroduction to Qt
Introduction to Qt
 
Java class 6
Java class 6Java class 6
Java class 6
 
Android - Android Intent Types
Android - Android Intent TypesAndroid - Android Intent Types
Android - Android Intent Types
 
Flutter presentation.pptx
Flutter presentation.pptxFlutter presentation.pptx
Flutter presentation.pptx
 
2-Agents- Artificial Intelligence
2-Agents- Artificial Intelligence2-Agents- Artificial Intelligence
2-Agents- Artificial Intelligence
 
ASP.Net Technologies Part-1
ASP.Net Technologies Part-1ASP.Net Technologies Part-1
ASP.Net Technologies Part-1
 
Introduction to Unity
Introduction to UnityIntroduction to Unity
Introduction to Unity
 
Android application-component
Android application-componentAndroid application-component
Android application-component
 
Android lifecycle
Android lifecycleAndroid lifecycle
Android lifecycle
 
Android UI
Android UIAndroid UI
Android UI
 
Network programming in Java
Network programming in JavaNetwork programming in Java
Network programming in Java
 
Artificial intelligence and video games
Artificial intelligence and video gamesArtificial intelligence and video games
Artificial intelligence and video games
 
Unity - Game Engine
Unity - Game EngineUnity - Game Engine
Unity - Game Engine
 
Intelligent web applications
Intelligent web applicationsIntelligent web applications
Intelligent web applications
 

Similar to AI NEXTCon Seattle '18: Bringing Machine Learning to the Unity Creation Engine with ML-Agents

How to generate game character behaviors using AI and ML - Unite Copenhagen
How to generate game character behaviors using AI and ML - Unite CopenhagenHow to generate game character behaviors using AI and ML - Unite Copenhagen
How to generate game character behaviors using AI and ML - Unite CopenhagenUnity Technologies
 
unity gaming programing basics for students ppt
unity gaming programing basics for students pptunity gaming programing basics for students ppt
unity gaming programing basics for students pptKathiriyaParthiv
 
The Evolution Of Eclipse 1. 1 )
The Evolution Of Eclipse 1. 1 )The Evolution Of Eclipse 1. 1 )
The Evolution Of Eclipse 1. 1 )Patty Buckley
 
Deep Learning with CNTK
Deep Learning with CNTKDeep Learning with CNTK
Deep Learning with CNTKAshish Jaiman
 
Autonomous Machines with Project Bonsai
Autonomous Machines with Project BonsaiAutonomous Machines with Project Bonsai
Autonomous Machines with Project BonsaiIvo Andreev
 
Unity3d Game Development - Creatiosoft
Unity3d Game Development - CreatiosoftUnity3d Game Development - Creatiosoft
Unity3d Game Development - CreatiosoftCreatioSoft
 
01 foundations
01 foundations01 foundations
01 foundationsankit_ppt
 
Biological organism simulation using procedural growth "Organimo 1.0"
Biological organism simulation using procedural growth "Organimo 1.0"Biological organism simulation using procedural growth "Organimo 1.0"
Biological organism simulation using procedural growth "Organimo 1.0"Devyani Singh
 
Android Mobile App Development basics PPT
Android Mobile App Development basics PPTAndroid Mobile App Development basics PPT
Android Mobile App Development basics PPTnithya697634
 
AI for Everyone: Master the Basics
AI for Everyone: Master the BasicsAI for Everyone: Master the Basics
AI for Everyone: Master the BasicsStutty Srivastava
 
Continuous Delivery Tools Collaboration Conways Law - QCon London - Matthew S...
Continuous Delivery Tools Collaboration Conways Law - QCon London - Matthew S...Continuous Delivery Tools Collaboration Conways Law - QCon London - Matthew S...
Continuous Delivery Tools Collaboration Conways Law - QCon London - Matthew S...Skelton Thatcher Consulting Ltd
 
DSD-INT 2014 - OpenMI Symposium - Federated modelling of Critical Infrastruct...
DSD-INT 2014 - OpenMI Symposium - Federated modelling of Critical Infrastruct...DSD-INT 2014 - OpenMI Symposium - Federated modelling of Critical Infrastruct...
DSD-INT 2014 - OpenMI Symposium - Federated modelling of Critical Infrastruct...Deltares
 
AI Dominoes Project
AI Dominoes ProjectAI Dominoes Project
AI Dominoes ProjectAdil Gasimov
 
BYOD: Build Your First VR Experience with Unreal Engine
BYOD: Build Your First VR Experience with Unreal EngineBYOD: Build Your First VR Experience with Unreal Engine
BYOD: Build Your First VR Experience with Unreal EngineMichael Sheyahshe
 

Similar to AI NEXTCon Seattle '18: Bringing Machine Learning to the Unity Creation Engine with ML-Agents (20)

How to generate game character behaviors using AI and ML - Unite Copenhagen
How to generate game character behaviors using AI and ML - Unite CopenhagenHow to generate game character behaviors using AI and ML - Unite Copenhagen
How to generate game character behaviors using AI and ML - Unite Copenhagen
 
MAS
MASMAS
MAS
 
unity gaming programing basics for students ppt
unity gaming programing basics for students pptunity gaming programing basics for students ppt
unity gaming programing basics for students ppt
 
The Evolution Of Eclipse 1. 1 )
The Evolution Of Eclipse 1. 1 )The Evolution Of Eclipse 1. 1 )
The Evolution Of Eclipse 1. 1 )
 
Deep Learning with CNTK
Deep Learning with CNTKDeep Learning with CNTK
Deep Learning with CNTK
 
Autonomous Machines with Project Bonsai
Autonomous Machines with Project BonsaiAutonomous Machines with Project Bonsai
Autonomous Machines with Project Bonsai
 
Unity3d Game Development - Creatiosoft
Unity3d Game Development - CreatiosoftUnity3d Game Development - Creatiosoft
Unity3d Game Development - Creatiosoft
 
01 foundations
01 foundations01 foundations
01 foundations
 
Biological organism simulation using procedural growth "Organimo 1.0"
Biological organism simulation using procedural growth "Organimo 1.0"Biological organism simulation using procedural growth "Organimo 1.0"
Biological organism simulation using procedural growth "Organimo 1.0"
 
Android Mobile App Development basics PPT
Android Mobile App Development basics PPTAndroid Mobile App Development basics PPT
Android Mobile App Development basics PPT
 
Yocto project
Yocto projectYocto project
Yocto project
 
AI for Everyone: Master the Basics
AI for Everyone: Master the BasicsAI for Everyone: Master the Basics
AI for Everyone: Master the Basics
 
OpenAI Gym & Universe
OpenAI Gym & UniverseOpenAI Gym & Universe
OpenAI Gym & Universe
 
Agent-based System - Introduction
Agent-based System - IntroductionAgent-based System - Introduction
Agent-based System - Introduction
 
Agent-based System - Introduction
Agent-based System - IntroductionAgent-based System - Introduction
Agent-based System - Introduction
 
Continuous Delivery Tools Collaboration Conways Law - QCon London - Matthew S...
Continuous Delivery Tools Collaboration Conways Law - QCon London - Matthew S...Continuous Delivery Tools Collaboration Conways Law - QCon London - Matthew S...
Continuous Delivery Tools Collaboration Conways Law - QCon London - Matthew S...
 
DSD-INT 2014 - OpenMI Symposium - Federated modelling of Critical Infrastruct...
DSD-INT 2014 - OpenMI Symposium - Federated modelling of Critical Infrastruct...DSD-INT 2014 - OpenMI Symposium - Federated modelling of Critical Infrastruct...
DSD-INT 2014 - OpenMI Symposium - Federated modelling of Critical Infrastruct...
 
AI Dominoes Project
AI Dominoes ProjectAI Dominoes Project
AI Dominoes Project
 
AI on the Edge
AI on the EdgeAI on the Edge
AI on the Edge
 
BYOD: Build Your First VR Experience with Unreal Engine
BYOD: Build Your First VR Experience with Unreal EngineBYOD: Build Your First VR Experience with Unreal Engine
BYOD: Build Your First VR Experience with Unreal Engine
 

More from Bill Liu

Walk Through a Real World ML Production Project
Walk Through a Real World ML Production ProjectWalk Through a Real World ML Production Project
Walk Through a Real World ML Production ProjectBill Liu
 
Redefining MLOps with Model Deployment, Management and Observability in Produ...
Redefining MLOps with Model Deployment, Management and Observability in Produ...Redefining MLOps with Model Deployment, Management and Observability in Produ...
Redefining MLOps with Model Deployment, Management and Observability in Produ...Bill Liu
 
Productizing Machine Learning at the Edge
Productizing Machine Learning at the EdgeProductizing Machine Learning at the Edge
Productizing Machine Learning at the EdgeBill Liu
 
Transformers in Vision: From Zero to Hero
Transformers in Vision: From Zero to HeroTransformers in Vision: From Zero to Hero
Transformers in Vision: From Zero to HeroBill Liu
 
Deep AutoViML For Tensorflow Models and MLOps Workflows
Deep AutoViML For Tensorflow Models and MLOps WorkflowsDeep AutoViML For Tensorflow Models and MLOps Workflows
Deep AutoViML For Tensorflow Models and MLOps WorkflowsBill Liu
 
Metaflow: The ML Infrastructure at Netflix
Metaflow: The ML Infrastructure at NetflixMetaflow: The ML Infrastructure at Netflix
Metaflow: The ML Infrastructure at NetflixBill Liu
 
Practical Crowdsourcing for ML at Scale
Practical Crowdsourcing for ML at ScalePractical Crowdsourcing for ML at Scale
Practical Crowdsourcing for ML at ScaleBill Liu
 
Building large scale transactional data lake using apache hudi
Building large scale transactional data lake using apache hudiBuilding large scale transactional data lake using apache hudi
Building large scale transactional data lake using apache hudiBill Liu
 
Deep Reinforcement Learning and Its Applications
Deep Reinforcement Learning and Its ApplicationsDeep Reinforcement Learning and Its Applications
Deep Reinforcement Learning and Its ApplicationsBill Liu
 
Big Data and AI in Fighting Against COVID-19
Big Data and AI in Fighting Against COVID-19Big Data and AI in Fighting Against COVID-19
Big Data and AI in Fighting Against COVID-19Bill Liu
 
Highly-scalable Reinforcement Learning RLlib for Real-world Applications
Highly-scalable Reinforcement Learning RLlib for Real-world ApplicationsHighly-scalable Reinforcement Learning RLlib for Real-world Applications
Highly-scalable Reinforcement Learning RLlib for Real-world ApplicationsBill Liu
 
Build computer vision models to perform object detection and classification w...
Build computer vision models to perform object detection and classification w...Build computer vision models to perform object detection and classification w...
Build computer vision models to perform object detection and classification w...Bill Liu
 
Causal Inference in Data Science and Machine Learning
Causal Inference in Data Science and Machine LearningCausal Inference in Data Science and Machine Learning
Causal Inference in Data Science and Machine LearningBill Liu
 
Weekly #106: Deep Learning on Mobile
Weekly #106: Deep Learning on MobileWeekly #106: Deep Learning on Mobile
Weekly #106: Deep Learning on MobileBill Liu
 
Weekly #105: AutoViz and Auto_ViML Visualization and Machine Learning
Weekly #105: AutoViz and Auto_ViML Visualization and Machine LearningWeekly #105: AutoViz and Auto_ViML Visualization and Machine Learning
Weekly #105: AutoViz and Auto_ViML Visualization and Machine LearningBill Liu
 
AISF19 - On Blending Machine Learning with Microeconomics
AISF19 - On Blending Machine Learning with MicroeconomicsAISF19 - On Blending Machine Learning with Microeconomics
AISF19 - On Blending Machine Learning with MicroeconomicsBill Liu
 
AISF19 - Travel in the AI-First World
AISF19 - Travel in the AI-First WorldAISF19 - Travel in the AI-First World
AISF19 - Travel in the AI-First WorldBill Liu
 
AISF19 - Unleash Computer Vision at the Edge
AISF19 - Unleash Computer Vision at the EdgeAISF19 - Unleash Computer Vision at the Edge
AISF19 - Unleash Computer Vision at the EdgeBill Liu
 
AISF19 - Building Scalable, Kubernetes-Native ML/AI Pipelines with TFX, KubeF...
AISF19 - Building Scalable, Kubernetes-Native ML/AI Pipelines with TFX, KubeF...AISF19 - Building Scalable, Kubernetes-Native ML/AI Pipelines with TFX, KubeF...
AISF19 - Building Scalable, Kubernetes-Native ML/AI Pipelines with TFX, KubeF...Bill Liu
 
Toronto meetup 20190917
Toronto meetup 20190917Toronto meetup 20190917
Toronto meetup 20190917Bill Liu
 

More from Bill Liu (20)

Walk Through a Real World ML Production Project
Walk Through a Real World ML Production ProjectWalk Through a Real World ML Production Project
Walk Through a Real World ML Production Project
 
Redefining MLOps with Model Deployment, Management and Observability in Produ...
Redefining MLOps with Model Deployment, Management and Observability in Produ...Redefining MLOps with Model Deployment, Management and Observability in Produ...
Redefining MLOps with Model Deployment, Management and Observability in Produ...
 
Productizing Machine Learning at the Edge
Productizing Machine Learning at the EdgeProductizing Machine Learning at the Edge
Productizing Machine Learning at the Edge
 
Transformers in Vision: From Zero to Hero
Transformers in Vision: From Zero to HeroTransformers in Vision: From Zero to Hero
Transformers in Vision: From Zero to Hero
 
Deep AutoViML For Tensorflow Models and MLOps Workflows
Deep AutoViML For Tensorflow Models and MLOps WorkflowsDeep AutoViML For Tensorflow Models and MLOps Workflows
Deep AutoViML For Tensorflow Models and MLOps Workflows
 
Metaflow: The ML Infrastructure at Netflix
Metaflow: The ML Infrastructure at NetflixMetaflow: The ML Infrastructure at Netflix
Metaflow: The ML Infrastructure at Netflix
 
Practical Crowdsourcing for ML at Scale
Practical Crowdsourcing for ML at ScalePractical Crowdsourcing for ML at Scale
Practical Crowdsourcing for ML at Scale
 
Building large scale transactional data lake using apache hudi
Building large scale transactional data lake using apache hudiBuilding large scale transactional data lake using apache hudi
Building large scale transactional data lake using apache hudi
 
Deep Reinforcement Learning and Its Applications
Deep Reinforcement Learning and Its ApplicationsDeep Reinforcement Learning and Its Applications
Deep Reinforcement Learning and Its Applications
 
Big Data and AI in Fighting Against COVID-19
Big Data and AI in Fighting Against COVID-19Big Data and AI in Fighting Against COVID-19
Big Data and AI in Fighting Against COVID-19
 
Highly-scalable Reinforcement Learning RLlib for Real-world Applications
Highly-scalable Reinforcement Learning RLlib for Real-world ApplicationsHighly-scalable Reinforcement Learning RLlib for Real-world Applications
Highly-scalable Reinforcement Learning RLlib for Real-world Applications
 
Build computer vision models to perform object detection and classification w...
Build computer vision models to perform object detection and classification w...Build computer vision models to perform object detection and classification w...
Build computer vision models to perform object detection and classification w...
 
Causal Inference in Data Science and Machine Learning
Causal Inference in Data Science and Machine LearningCausal Inference in Data Science and Machine Learning
Causal Inference in Data Science and Machine Learning
 
Weekly #106: Deep Learning on Mobile
Weekly #106: Deep Learning on MobileWeekly #106: Deep Learning on Mobile
Weekly #106: Deep Learning on Mobile
 
Weekly #105: AutoViz and Auto_ViML Visualization and Machine Learning
Weekly #105: AutoViz and Auto_ViML Visualization and Machine LearningWeekly #105: AutoViz and Auto_ViML Visualization and Machine Learning
Weekly #105: AutoViz and Auto_ViML Visualization and Machine Learning
 
AISF19 - On Blending Machine Learning with Microeconomics
AISF19 - On Blending Machine Learning with MicroeconomicsAISF19 - On Blending Machine Learning with Microeconomics
AISF19 - On Blending Machine Learning with Microeconomics
 
AISF19 - Travel in the AI-First World
AISF19 - Travel in the AI-First WorldAISF19 - Travel in the AI-First World
AISF19 - Travel in the AI-First World
 
AISF19 - Unleash Computer Vision at the Edge
AISF19 - Unleash Computer Vision at the EdgeAISF19 - Unleash Computer Vision at the Edge
AISF19 - Unleash Computer Vision at the Edge
 
AISF19 - Building Scalable, Kubernetes-Native ML/AI Pipelines with TFX, KubeF...
AISF19 - Building Scalable, Kubernetes-Native ML/AI Pipelines with TFX, KubeF...AISF19 - Building Scalable, Kubernetes-Native ML/AI Pipelines with TFX, KubeF...
AISF19 - Building Scalable, Kubernetes-Native ML/AI Pipelines with TFX, KubeF...
 
Toronto meetup 20190917
Toronto meetup 20190917Toronto meetup 20190917
Toronto meetup 20190917
 

Recently uploaded

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 

Recently uploaded (20)

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 

AI NEXTCon Seattle '18: Bringing Machine Learning to the Unity Creation Engine with ML-Agents

  • 1. AI NEXTCon Seattle ‘18 1/17-20th | Seattle #ainextcon http://aisea18.xnextcon.com
  • 2. Bringing Machine Learning to the Unity Creation Engine with ML-Agents Arthur Juliani
  • 3. About Unity Leading global game industry platform • 16 Billion Downloads in 2016 – up 31% • 2.6 Billion Unique Devices • 700 Million Gamers • 38% of top 1000 free mobile games
  • 6.
  • 7.
  • 8.
  • 9.
  • 10. Yet another ML training platform?
  • 11. ML Training Platforms VizDoom Malmo Atari PyBulletDeepMind Lab SCII LE
  • 12. Visual Complexity Cognitive ComplexityPhysical Complexity ML Training Environments
  • 14. Unity ML-Agents Workflow Create Environment Train Agents Embed Agents
  • 15. Unity ML-Agents Workflow Create Environment Train Agents Embed Agents
  • 16. Create Environment (Unity) 1. Create Scene 2. Add Academy, Brain(s), and Agent(s) 3. Define Observations, Actions, and Rewards 4. Build Executable
  • 17. Create Environment (Unity) Perceive & Act Decide Coordinate
  • 18. 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.
  • 19. 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.
  • 20. Unity ML-Agents Workflow Build Environment Train Agents Embed Agents
  • 22. Train Agents (Python) • Launch an environment from python with env = UnityEnvironment(“my_environment”) • Interact with gym-like interface: env.reset() env.step() env.close()
  • 23. Train Agents (Python) • Proximal Policy Optimization (PPO) algorithm included by default. • Works with Continuous and Discrete Control, plus image and/or vector inputs. • Supports multiple-agents per brain within a scene (and multiple brains coming in v0.3!) • Monitor progress with TensorBoard.
  • 24. Unity ML-Agents Workflow Build Environment Train Agents Embed Agents
  • 25. 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.
  • 26. Agents • Learning environments are populated with agents, which are the actors within the scene. • Each actor contains functions which define their state variables, observation cameras, action effects, and reward function. • Agents are linked to game objects within a scene.
  • 27. Brains • Each brain corresponds to a policy for deciding actions within a learning environment. • Many agents can be linked to a single brain. • Brains define the state and action space for their linked agents. • Multiple brains can be within single environment. • Four different types of brain.
  • 28. Academy • Only one per scene/environment. • Responsibilities: • Configures engine for Training or Inference • Coordinates all Agents and Brains • Contains set of custom “reset parameters” which can be used for Curriculum Learning.
  • 30. One Agent, One Brain
  • 31.
  • 32. Twelve Agents, One Brain, Independent Rewards
  • 33.
  • 34. Two Agents, One Brain, Inverse Rewards
  • 35.
  • 37. Four Agents, Two Brains: Competitive Multi-Agent
  • 38. Multi-Stage Soccer Training Defense Train one brain with negative reward for ball entering their goal Offense Train one brain with positive reward for ball entering opponents goal Combined Train both brains together to play against opponent team
  • 39.
  • 40. Multi-Agent Scenarios • Competitive Multi-Agent Multiple agents, multiple brains, inverse rewards • Cooperative Multi-Agent Multiple agents, multiple brains, shared rewards • Ecosystem Simulations Multiple agents, multiple brains, independent rewards