A Beginner's Guide To Machine Learning with Unity
What you will learn
- Build a genetic algorithm from scratch in C#.
Build a neural network from scratch in C#.
Setup and explore the Unity ML-Agents plugin.
- Setup and use Tensorflow to train game characters.
- Apply their newfound knowledge of machine learning to integrate contemporary research ideas in the field into their own projects.
- Distill the mathematics and statistic behind machine learning to working program code.
- Use a Proximal Policy Optimisation to train a neural network.
Section 1: Introduction
Section 2: Genetic Algorithms
Section 3: Perceptrons: The making of a Neural Network
Section 4: Artificial Neural Networks
Section 5: Neural Networks in Practice
Section 6: Reinforcement Learning with the Q-Network
Section 7: Unity's ML-Agents V0.3 [DEPRECATED]
Section 8: A Final Word
What if you could build a character that could learn while it played? Think about the types of game play you could develop where the enemies started to outsmart the player. This is what machine learning in games is all about. In this course we will discover the fascinating world of artificial intelligence beyond the simple stuff and examine the increasingly popular domain of machines that learn to think for themselves.
In this course, Penny introduces the popular machine learning techniques of genetic algorithms and neural networks using her internationally acclaimed teaching style and knowledge from a Ph.D in game character AI and over 25 years experience working with games and computer graphics. In addition she's written two award winning books on games AI and two others best sellers on Unity game development. Through-out the course you will follow along with hands-on workshops designed to teach you about the fundamental machine learning techniques distilling the mathematics in a way that the topic becomes accessible to the most noob of novices.
Learn how to program and work with:
- genetic algorithms;
- neural networks;
- human player captured training sets;
- reinforcement learning;
- Unity's ML-Agent plugin; and,
Contents and Overview
The course starts with a thorough examination of genetic algorithms that will ease you into one of the simplest machine learning techniques that is capable of extraordinary learning. You'll develop an agent that learns to camouflage, a flappy bird inspired application in which the birds learn to make it through a maze and environment sensing bots that learn to stay on a platform.
Following this you'll dive right into creating your very own neural network in C# from scratch. With this basic neural network you will find out how to train behaviour, capture and use human player data to train an agent and teach a bot to drive. In the same section you'll have the Q-learning algorithm explained before integrating it into your own applications.
By this stage you'll feel confident with the terminology and techniques used throughout the deep learning community and ready to tackle Unity's experimental ML-Agents. Together with Tensorflow you'll be throwing agents in the deep end and reinforcing their knowledge to stay alive in a variety of game environment scenarios.
By the end of the course you'll have a well equiped toolset of basic and solid machine learning algorithms and applications that will see you able to decipher the latest research publications and integrate the latest developments into your work while keeping abreast of Unity's ML-Agents as they evolve from experimental to production release.
What students are saying about this course:
- Absolutely the best beginner to Advanced course for Neural Networks/ Machine Learning if you are a game developer that uses C# and Unity. BAR NONE x Infinity.
- A perfect course with great math examples and demonstration of the TensorFlow power inside Unity. After this course, you will get the strong basic background in the Machine Learning.
- The instructor is very engaging and knowledgeable. I started learning from the first lesson and it never stopped. If you are interested in Machine Learning , take this course.
Who this course is for:
- Anyone wanting to learn about the potential of machine learning in games.
- Anyone wanting a deeper understanding of the algorithms and theories underlying Unity's ML-Agents.
- Anyone wanting to know how to setup and work with ML-Agents.