Deep Reinforcement Learning in Unity: With Unity ML Toolkit

  • 6h 16m
  • Abhilash Majumder
  • Apress
  • 2021

Gain an in-depth overview of reinforcement learning for autonomous agents in game development with Unity.

This book starts with an introduction to state-based reinforcement learning algorithms involving Markov models, Bellman equations, and writing custom C# code with the aim of contrasting value and policy-based functions in reinforcement learning. Then, you will move on to path finding and navigation meshes in Unity, setting up the ML Agents Toolkit (including how to install and set up ML agents from the GitHub repository), and installing fundamental machine learning libraries and frameworks (such as Tensorflow). You will learn about: deep learning and work through an introduction to Tensorflow for writing neural networks (including perceptron, convolution, and LSTM networks), Q learning with Unity ML agents, and porting trained neural network models in Unity through the Python-C# API. You will also explore the OpenAI Gym Environment used throughout the book.

Deep Reinforcement Learning in Unity provides a walk-through of the core fundamentals of deep reinforcement learning algorithms, especially variants of the value estimation, advantage, and policy gradient algorithms (including the differences between on and off policy algorithms in reinforcement learning). These core algorithms include actor critic, proximal policy, and deep deterministic policy gradients and its variants. And you will be able to write custom neural networks using the Tensorflow and Keras frameworks.

Deep learning in games makes the agents learn how they can perform better and collect their rewards in adverse environments without user interference. The book provides a thorough overview of integrating ML Agents with Unity for deep reinforcement learning.

What You Will Learn

  • Understand how deep reinforcement learning works in games
  • Grasp the fundamentals of deep reinforcement learning
  • Integrate these fundamentals with the Unity ML Toolkit SDK
  • Gain insights into practical neural networks for training Agent Brain in the context of Unity ML Agents
  • Create different models and perform hyper-parameter tuning
  • Understand the Brain-Academy architecture in Unity ML Agents
  • Understand the Python-C# API interface during real-time training of neural networks
  • Grasp the fundamentals of generic neural networks and their variants using Tensorflow
  • Create simulations and visualize agents playing games in Unity

Who This Book Is For

Readers with preliminary programming and game development experience in Unity, and those with experience in Python and a general idea of machine learning

About the Author

Abhilash Majumder is a natural language processing research engineer for HSBC (UK/India) and technical mentor for Udactiy (ML). He also has been associated with Unity Technologies and was a speaker at Unite India-18, and has educated close to 1,000 students from EMEA and SEPAC (India) on Unity. He is an ML contributor and curator for Open Source Google Research and Tensorflow, and creator of ML libraries under Python Package Index (Pypi). He is an online educationalist for Udemy and a deep learning mentor for Upgrad.

Abhilash was an apprentice/student ambassador for Unity Technologies where he educated corporate employees and students on using general Unity for game development. He was a technical mentor (AI programming) for the Unity Ambassadors Community and Content Production. He has been associated with Unity Technologies for general education, with an emphasis on graphics and machine learning. He is one of the first content creators for Unity Technologies India since 2017.

In this Book

  • Introduction to Reinforcement Learning
  • Pathfinding and Navigation
  • Setting Up ML Agents Toolkit
  • Understanding Brain Agents and Academy
  • Deep Reinforcement Learning
  • Competitive Networks for AI Agents
  • Case Studies in ML Agents