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)

Curriculum Learning

As you get more comfortable building agent, you will start to tackle larger problems, which are so large that it often may be better to break the task down to levels of difficulty, not unlike a game. After the problem is decomposed, it can be tackled with Curriculum Learning. Curriculum Learning is where an agent learns a task in stages or levels that increase in difficulty. It really is not unlike the way we learn a task as humans, for example, walking; we first learn to roll, then crawl, stand, stagger, and then walk. We have intuitively learned how to walk this way, but our agent friends need a bit of help, at least for now.

Let's go back to Unity and look at an example that is mostly configured for Curriculum Learning, it just needs a bit of our help to complete the setup. Follow this exercise to set up a Curriculum Learning scenario:

  1. Open the WallJump...