What you'll learn:
- How to read and implement deep reinforcement learning papers
- How to code Deep Q learning agents
- How to Code Double Deep Q Learning Agents
- How to Code Dueling Deep Q and Dueling Double Deep Q Learning Agents
- How to write modular and extensible deep reinforcement learning software
- How to automate hyperparameter tuning with command line arguments
In this complete deep reinforcement learning course you will learn a repeatable framework for reading and implementing deep reinforcement learning research papers. You will read the original papers that introduced the Deep Q learning, Double Deep Qlearning, and Dueling Deep Q learning algorithms. You will then learn how to implement these in pythonic and concise PyTorch code, that can be extended to include any future deep Q learning algorithms. These algorithms will be used to solve a variety of environments from the Open AIgym's Atari library, including Pong, Breakout, and Bankheist.
You will learn the key to making these Deep Q Learning algorithms work, which is how to modify the Open AIGym's Atari library to meet the specifications of the original Deep QLearning papers. You will learn how to:
Repeat actions to reduce computational overhead
Rescale the Atari screen images to increase efficiency
Stack frames to give the Deep Q agent a sense of motion
Evaluate the Deep Q agent's performance with random no-ops to deal with model over training
Clip rewards to enable the Deep Q learning agent to generalize across Atari games with different score scales
If you do not have prior experience in reinforcement or deep reinforcement learning, that's no problem. Included in the course is a complete and concise course on the fundamentals of reinforcement learning. The introductory course in reinforcement learning will be taught in the context of solving the Frozen Lake environment from the Open AIGym.
We will cover:
Markov decision processes
Temporal difference learning
The original Q learning algorithm
How to solve the Bellman equation
Value functions and action value functions
Model free vs. model based reinforcement learning
Solutions to the explore-exploit dilemma, including optimistic initial values and epsilon-greedy action selection
Also included is a mini course in deep learning using the PyTorch framework. This is geared for students who are familiar with the basic concepts of deep learning, but not the specifics, or those who are comfortable with deep learning in another framework, such as Tensorflow or Keras. You will learn how to code a deep neural network in Pytorch as well as how convolutional neural networks function. This will be put to use in implementing a naive Deep Q learning agent to solve the Cartpole problem from the Open AIgym.