A Beginner’s Guide To Machine Learning with Unity

A Beginner’s Guide To Machine Learning with Unity

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 12 Hours | 2.06 GB

Advanced games AI with genetic algorithms, neural networks & Q-learning in C# and Tensorflow for Unity

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,
Tensorflow;
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 Will I 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.
Table of Contents

Introduction
1 Introduction
2 What is Learning
3 How to Study This Course
4 FAQs

Genetic Algorithms
5 DNA Inspired Data Structures
6 Camouflage Training with Genetic Algorithms Part 1
7 Camouflage Training with Genetic Algorithms Part 2
8 Camouflage Challenge
9 Coding Movement with Genes Part 1
10 Coding Movement with Genes Part 2
11 Distance Challenge
12 Moving GAs with Senses Part 1
13 Moving GAs with Senses Part 2
14 Moving GAs with Senses Part 3
15 Maze Walking Challenge
16 Maze Walking Challenge Solution Part 2
17 Not So Flappy Birds Part 1
18 Not So Flappy Birds Part 2
19 Extra Readings

Perceptrons The making of a Neural Network
20 The Perceptron
21 Challenge
22 Programming and Training a Perceptron
23 Exercise 1
24 Exercise 2
25 Perceptron Classification
26 Perceptron Learning from Experience
27 Saving Loading Perceptron Values

Artificial Neural Networks
28 Introduction to Neural Networks
29 Programming An Artificial Neural Network Part 1
30 Programming An Artificial Neural Network Part 2
31 Programming An Artificial Neural Network Part 3
32 ANN FAQs
33 Working with Activation Functions
34 Challenge
35 Extra Readings

Neural Networks in Practice
36 Developing a Neural Network that Plays Pong Part 1
37 Developing a Neural Network that Plays Pong Part 2
38 Developing a Neural Network that Plays Pong Part 3
39 Challenge
40 Gathering Training Data from the Player Part 1
41 Gathering Training Data from the Player Part 2
42 Training with Player Data Part 1
43 A Note to the Astute
44 Training with Player Data Part 2
45 Training with Player Data Part 3

Reinforcement Learning with the Q-Network
46 Reinforcement Learning and Q-Networks
47 Training a Neural Network with Q-Learning Part 1
48 Training a Neural Network with Q-Learning Part 2
49 Training a Neural Network with Q-Learning Part 3
50 Challenge
51 Extra Readings

Unitys Machine Learning Agents and TensorFlow
52 Setting up TensorFlow – Starter Files
53 Setting up TensorFlow – Windows
54 Setting up TensorFlow – Mac
55 An Overview of ML-Agents
56 ML-Agents FAQ
57 Creating an ML-Agent From Scratch Part 1
58 Creating an ML-Agent From Scratch Part 2
59 ML-Agents Cheat Sheet
60 An Avoiding ML-Agent Part 1
61 An Avoiding ML-Agent Part 2
62 Challenge
63 Top 10 Tips for Neural Network Best Practice
64 Environment Sensing ML-Agent
65 Goal Seeking Wall Jumping Part 1
66 Goal Seeking Wall Jumping Part 2
67 Extra Readings

A Final Word
68 Thank you