What you'll learn:
- Configure and use the Unity Machine Learning Agents toolkit to solve physical problems in simulated environments
- Understand the concepts of neural networks, supervised and deep reinforcement learning (PPO)
- Apply ML control techniques to teach a go-kart to drive around a track in Unity
WARNING: take this class as a gentle introduction to machine learning, with particular focus on machine vision and reinforcement learning. The Unity project provided in this course is now obsolete because the Unity ML agents library is still in its beta version and the interface keeps changing all the time! Some of the implementation details you will find in this course will look different if you are using the latest release, but the key concepts and the background theory are still valid. Please refer to the official migrating documentation on the ml-agents github for the latest updates.
Learn how to combine the beauty of Unity with the power of Tensorflow to solve physical problems in a simulated environment with state-of-the-art machine learning techniques.
We study the problem of a go-kart racing around a simple track and try three different approaches to control it: a simple PID controller; a neural network trained via imitation (supervised) learning; and a neural network trained via deep reinforcement learning.
Each technique has its strengths and weaknesses, which we first show in a theoretical way at simple conceptual level, and then apply in a practical way. In all three cases the go-kart will be able to complete a lap without crashing.
We provide the Unity template and the files for all three solutions. Then see if you can build on it and improve performance further more.
Buckle up and have fun!