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)

Convolutional neural networks

A lot of work has been done over the years in using neural networks to perform image recognition, and along the way, a technique called the convolutional neural network was developed to provide a better method of identifying features in images. This technique works by running a convolution step across the image, as shown in the following diagram:



CNN operation extracting features from an image

What is happening here is that a convolution matrix set by stride is multiplied across the image using a convolution step in order to generate a feature map. We do this in order to isolate features in an image by isolating sections of pixels and applying a grouping filter. If we didn't do this, our network would evaluate the image's raw pixels, which would make recognizing important features in an image difficult. It's not unlike looking at...