Cutting-Edge AI: Deep Reinforcement Learning in Python
4.6 (484 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
5,396 students enrolled

Cutting-Edge AI: Deep Reinforcement Learning in Python

Apply deep learning to artificial intelligence and reinforcement learning using evolution strategies, A2C, and DDPG
Highest Rated
4.6 (484 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
5,396 students enrolled
Last updated 7/2020
English [Auto]
Current price: $139.99 Original price: $199.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 8.5 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Understand a cutting-edge implementation of the A2C algorithm (OpenAI Baselines)
  • Understand and implement Evolution Strategies (ES) for AI
  • Understand and implement DDPG (Deep Deterministic Policy Gradient)
Course content
Expand all 50 lectures 08:32:22
+ Review of Fundamental Reinforcement Learning Concepts
8 lectures 01:20:17
Review Section Introduction
The Explore-Exploit Dilemma
Markov Decision Processes (MDPs)
Monte Carlo Methods
Temporal Difference Learning (TD)
OpenAI Gym Warmup
Review Section Summary
Suggestion Box
+ A2C (Advantage Actor-Critic)
11 lectures 01:38:54
A2C Section Introduction
A2C Theory (part 1)
A2C Theory (part 2)
A2C Theory (part 3)
A2C Demo
A2C Code - Rough Sketch
Multiple Processes
Environment Wrappers
Convolutional Neural Network
A2C Section Summary
+ DDPG (Deep Deterministic Policy Gradient)
7 lectures 01:19:58
DDPG Section Introduction
Deep Q-Learning (DQN) Review
DDPG Theory
DDPG Code (part 1)
DDPG Code (part 2)
DDPG Section Summary
+ ES (Evolution Strategies)
9 lectures 01:28:40
ES Section Introduction
ES Theory
Notes on Evolution Strategies
ES for Optimizing a Function
ES for Supervised Learning
Flappy Bird
ES for Flappy Bird in Code
ES for MuJoCo in Code
ES Section Summary
+ Setting Up Your Environment
2 lectures 37:50
Windows-Focused Environment Setup 2018
How to install Numpy, Scipy, Matplotlib, Pandas, IPython, Theano, and TensorFlow
+ Extra Help With Python Coding for Beginners
4 lectures 42:24
How to Code by Yourself (part 1)
How to Code by Yourself (part 2)
Proof that using Jupyter Notebook is the same as not using it
Python 2 vs Python 3
+ Effective Learning Strategies for Machine Learning
4 lectures 59:53
How to Succeed in this Course (Long Version)
Is this for Beginners or Experts? Academic or Practical? Fast or slow-paced?
What order should I take your courses in? (part 1)
What order should I take your courses in? (part 2)
+ Appendix / FAQ
2 lectures 08:19
What is the Appendix?
BONUS: Where to get discount coupons and FREE deep learning material
  • Know the basics of MDPs (Markov Decision Processes) and Reinforcement Learning
  • Helpful to have seen my first two Reinforcement Learning courses
  • Know how to build a convolutional neural network in Tensorflow

Welcome to Cutting-Edge AI!

This is technically Deep Learning in Python part 11 of my deep learning series, and my 3rd reinforcement learning course.

Deep Reinforcement Learning is actually the combination of 2 topics: Reinforcement Learning and Deep Learning (Neural Networks).

While both of these have been around for quite some time, it’s only been recently that Deep Learning has really taken off, and along with it, Reinforcement Learning.

The maturation of deep learning has propelled advances in reinforcement learning, which has been around since the 1980s, although some aspects of it, such as the Bellman equation, have been for much longer.

Recently, these advances have allowed us to showcase just how powerful reinforcement learning can be.

We’ve seen how AlphaZero can master the game of Go using only self-play.

This is just a few years after the original AlphaGo already beat a world champion in Go.

We’ve seen real-world robots learn how to walk, and even recover after being kicked over, despite only being trained using simulation.

Simulation is nice because it doesn’t require actual hardware, which is expensive. If your agent falls down, no real damage is done.

We’ve seen real-world robots learn hand dexterity, which is no small feat.

Walking is one thing, but that involves coarse movements. Hand dexterity is complex - you have many degrees of freedom and many of the forces involved are extremely subtle.

Imagine using your foot to do something you usually do with your hand, and you immediately understand why this would be difficult.

Last but not least - video games.

Even just considering the past few months, we’ve seen some amazing developments. AIs are now beating professional players in CS:GO and Dota 2.

So what makes this course different from the first two?

Now that we know deep learning works with reinforcement learning, the question becomes: how do we improve these algorithms?

This course is going to show you a few different ways: including the powerful A2C (Advantage Actor-Critic) algorithm, the DDPG (Deep Deterministic Policy Gradient) algorithm, and evolution strategies.

Evolution strategies is a new and fresh take on reinforcement learning, that kind of throws away all the old theory in favor of a more "black box" approach, inspired by biological evolution.

What’s also great about this new course is the variety of environments we get to look at.

First, we’re going to look at the classic Atari environments. These are important because they show that reinforcement learning agents can learn based on images alone.

Second, we’re going to look at MuJoCo, which is a physics simulator. This is the first step to building a robot that can navigate the real-world and understand physics - we first have to show it can work with simulated physics.

Finally, we’re going to look at Flappy Bird, everyone’s favorite mobile game just a few years ago.

Thanks for reading, and I’ll see you in class!

Suggested prerequisites:

  • Calculus

  • Probability

  • Object-oriented programming

  • Python coding: if/else, loops, lists, dicts, sets

  • Numpy coding: matrix and vector operations

  • Linear regression

  • Gradient descent

  • Know how to build a convolutional neural network (CNN) in TensorFlow

  • Markov Decision Proccesses (MDPs)

TIPS (for getting through the course):

  • Watch it at 2x.

  • Take handwritten notes. This will drastically increase your ability to retain the information.

  • Write down the equations. If you don't, I guarantee it will just look like gibberish.

  • Ask lots of questions on the discussion board. The more the better!

  • Realize that most exercises will take you days or weeks to complete.

  • Write code yourself, don't just sit there and look at my code.


  • Check out the lecture "What order should I take your courses in?" (available in the Appendix of any of my courses, including the free Numpy course)

Who this course is for:
  • Students and professionals who want to apply Reinforcement Learning to their work and projects
  • Anyone who wants to learn cutting-edge Artificial Intelligence and Reinforcement Learning algorithms