Book Image

Learn Unity ML-Agents ??? Fundamentals of Unity Machine Learning

Book Image

Learn Unity ML-Agents ??? Fundamentals of Unity Machine Learning

Overview of this book

Unity Machine Learning agents allow researchers and developers to create games and simulations using the Unity Editor, which serves as an environment where intelligent agents can be trained with machine learning methods through a simple-to-use Python API. This book takes you from the basics of Reinforcement and Q Learning to building Deep Recurrent Q-Network agents that cooperate or compete in a multi-agent ecosystem. You will start with the basics of Reinforcement Learning and how to apply it to problems. Then you will learn how to build self-learning advanced neural networks with Python and Keras/TensorFlow. From there you move o n to more advanced training scenarios where you will learn further innovative ways to train your network with A3C, imitation, and curriculum learning models. By the end of the book, you will have learned how to build more complex environments by building a cooperative and competitive multi-agent ecosystem.
Table of Contents (8 chapters)

Playing the Game

We have already covered some very sophisticated examples and built some fairly intelligent agents. The techniques we have learned to use with RL and more specifically, PPO, are cutting edge, but as we learned, they still have their limitations. ML researchers continue to push the limits in multiple areas like network architecture and training setup. In the last chapter, we looked at one style of training multiple agents in multiple environments. In this chapter, we will explore the various novel training strategies we can employ with multiple agents and/or brains in an environment, from adversarial and cooperative self-play to imitation and curriculum learning. This will cover most of the remaining Unity examples, and the following is a summary of the main topics we will cover:

  • Multi-agent environments
  • Adversarial self-play
  • Decisions and on-demand decision making...