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)

Exercises

This chapter tried to cover a lot of material, but did not provide many practical new examples. Be sure to try some of the following exercises to build on your already growing experience as an RL guru:

  1. Return to the Banana Collectors and add several more agents using Ctrl + D or (Command + D on macOS). How can you keep adding agents without the training scenario lagging or slowing down too much?
  2. Convert the Soccor example to use Imitation Learning for one of the players. If you select the Goalie type, then set one Goalie player as a Teacher and one as a Student.
  3. Convert the GridWorld example to use Imitation Learning. Create a new Teacher agent and convert the existing agent into a Student. We covered this example in some detail, so it will be a great comparison to the see the difference in training performance.
  4. Expand on the WallJump example by adding additional training...