Advanced AI: Deep Reinforcement Learning in Python

The Complete Guide to Mastering Artificial Intelligence using Deep Learning and Neural Networks

Register for this Course

$29.99 $199.99 USD 85% OFF!

Login or signup to register for this course

Have a coupon? Click here.

Course Data

Lectures: 97
Length: 12h 03m
Skill Level: All Levels
Languages: English
Includes: Lifetime access, certificate of completion (shareable on LinkedIn, Facebook, and Twitter), Q&A forum

Course Description

This course is all about the application of deep learning and neural networks to reinforcement learning.

If you’ve taken my first reinforcement learning class, then you know that reinforcement learning is on the bleeding edge of what we can do with AI.

Specifically, the combination of deep learning with reinforcement learning has led to AlphaGo beating a world champion in the strategy game Go, it has led to self-driving cars, and it has led to machines that can play video games at a superhuman level.

Reinforcement learning has been around since the 70s but none of this has been possible until now.

The world is changing at a very fast pace. The state of California is changing their regulations so that self-driving car companies can test their cars without a human in the car to supervise.

We’ve seen that reinforcement learning is an entirely different kind of machine learning than supervised and unsupervised learning.

Supervised and unsupervised machine learning algorithms are for analyzing and making predictions about data, whereas reinforcement learning is about training an agent to interact with an environment and maximize its reward.

Unlike supervised and unsupervised learning algorithms, reinforcement learning agents have an impetus - they want to reach a goal.

This is such a fascinating perspective, it can even make supervised / unsupervised machine learning and "data science" seem boring in hindsight. Why train a neural network to learn about the data in a database, when you can train a neural network to interact with the real-world?

While deep reinforcement learning and AI has a lot of potential, it also carries with it huge risk.

Bill Gates and Elon Musk have made public statements about some of the risks that AI poses to economic stability and even our existence.

As we learned in my first reinforcement learning course, one of the main principles of training reinforcement learning agents is that there are unintended consequences when training an AI.

AIs don’t think like humans, and so they come up with novel and non-intuitive solutions to reach their goals, often in ways that surprise domain experts - humans who are the best at what they do.

OpenAI is a non-profit founded by Elon Musk, Sam Altman (Y Combinator), and others, in order to ensure that AI progresses in a way that is beneficial, rather than harmful.

Part of the motivation behind OpenAI is the existential risk that AI poses to humans. They believe that open collaboration is one of the keys to mitigating that risk.

One of the great things about OpenAI is that they have a platform called the OpenAI Gym, which we’ll be making heavy use of in this course.

It allows anyone, anywhere in the world, to train their reinforcement learning agents in standard environments.

In this course, we’ll build upon what we did in the last course by working with more complex environments, specifically, those provided by the OpenAI Gym:

  • CartPole
  • Mountain Car
  • Atari games

To train effective learning agents, we’ll need new techniques.

We’ll extend our knowledge of temporal difference learning by looking at the TD Lambda algorithm, we’ll look at a special type of neural network called the RBF network, we’ll look at the policy gradient method, and we’ll end the course by looking at Deep Q-Learning (DQN) and A3C (Asynchronous Advantage Actor-Critic).

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

Suggested Prerequisites:

  • calculus
  • matrix arithmetic (adding, multiplying)
  • probability
  • Python coding: if/else, loops, lists, dicts, sets
  • Numpy coding: matrix and vector operations, loading a CSV file
  • linear regression, logistic regression
  • neural networks and backpropagation
  • Can write a feedforward neural network in Theano and TensorFlow
  • Can write a convolutional neural network and recurrent neural network
  • Markov Decision Proccesses (MDPs)
  • Know how to implement Dynamic Programming, Monte Carlo, and Temporal Difference Learning to solve MDPs

Tips for success:

  • Use the video speed changer! Personally, I like to watch 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!
  • Don't get discouraged if you can't solve every exercise right away. Sometimes it'll take hours, days, or maybe weeks!
  • Write code yourself, this is an applied course! Don't be a "couch potato".

Testimonials and Success Stories

I am one of your students. Yesterday, I presented my paper at ICCV 2019. You have a significant part in this, so I want to sincerely thank you for your in-depth guidance to the puzzle of deep learning. Please keep making awesome courses that teach us!

I just watched your short video on “Predicting Stock Prices with LSTMs: One Mistake Everyone Makes.” Giggled with delight.

You probably already know this, but some of us really and truly appreciate you. BTW, I spent a reasonable amount of time making a learning roadmap based on your courses and have started the journey.

Looking forward to your new stuff.

Thank you for doing this! I wish everyone who call’s themselves a Data Scientist would take the time to do this either as a refresher or learn the material. I have had to work with so many people in prior roles that wanted to jump right into machine learning on my teams and didn’t even understand the first thing about the basics you have in here!!

I am signing up so that I have the easy refresh when needed and the see what you consider important, as well as to support your great work, thank you.

Thank you, I think you have opened my eyes. I was using API to implement Deep learning algorithms and each time I felt I was messing out on some things. So thank you very much.

I have been intending to send you an email expressing my gratitude for the work that you have done to create all of these data science courses in Machine Learning and Artificial Intelligence. I have been looking long and hard for courses that have mathematical rigor relative to the application of the ML & AI algorithms as opposed to just exhibit some 'canned routine' and then viola here is your neural network or logistical regression. ...


I have now taken a few classes from some well-known AI profs at Stanford (Andrew Ng, Christopher Manning, …) with an overall average mark in the mid-90s. Just so you know, you are as good as any of them. But I hope that you already know that.

I wish you a happy and safe holiday season. I am glad you chose to share your knowledge with the rest of us.

Hi Sir I am a student from India. I've been wanting to write a note to thank you for the courses that you've made because they have changed my career. I wanted to work in the field of data science but I was not having proper guidance but then I stumbled upon your "Logistic Regression" course in March and since then, there's been no looking back. I learned ANNs, CNNs, RNNs, Tensorflow, NLP and whatnot by going through your lectures. The knowledge that I gained enabled me to get a job as a Business Technology Analyst at one of my dream firms even in the midst of this pandemic. For that, I shall always be grateful to you. Please keep making more courses with the level of detail that you do in low-level libraries like Theano.

I just wanted to reach out and thank you for your most excellent course that I am nearing finishing.

And, I couldn't agree more with some of your "rants", and found myself nodding vigorously!

You are an excellent teacher, and a rare breed.

And, your courses are frankly, more digestible and teach a student far more than some of the top-tier courses from ivy leagues I have taken in the past.

(I plan to go through many more courses, one by one!)

I know you must be deluged with complaints in spite of the best content around That's just human nature.

Also, satisfied people rarely take the time to write, so I thought I will write in for a change. :)

Hello, Lazy Programmer!

In the process of completing my Master’s at Hunan University, China, I am writing this feedback to you in order to express my deep gratitude for all the knowledge and skills I have obtained studying your courses and following your recommendations.

The first course of yours I took was on Convolutional Neural Networks (“Deep Learning p.5”, as far as I remember). Answering one of my questions on the Q&A board, you suggested I should start from the beginning – the Linear and Logistic Regression courses. Despite that I assumed I had already known many basic things at that time, I overcame my “pride” and decided to start my journey in Deep Learning from scratch. ...


By the way, if you are interested to hear. I used the HMM classification, as it was in your course (95% of the script, I had little adjustments there), for the Customer-Care department in a big known fintech company. to predict who will call them, so they can call him before the rush hours, and improve the service. Instead of a poem, I Had a sequence of the last 24 hours' events that the customer had, like: "Loaded money", "Usage in the food service", "Entering the app", "Trying to change the password", etc... the label was called or didn't call. The outcome was great. They use it for their VIP customers. Our data science department and I got a lot of praise.


Introduction and Logistics

4 Lectures · 23min
  1. Introduction and Outline (07:23) (FREE preview available)
  2. Where to get the Code (09:21)
  3. How to Succeed in this Course (03:04)
  4. Tensorflow or Theano - Your Choice! (04:10)

The Basics of Reinforcement Learning

13 Lectures · 01hr 59min
  1. Reinforcement Learning Section Introduction (06:34)
  2. Elements of a Reinforcement Learning Problem (20:18)
  3. States, Actions, Rewards, Policies (09:24)
  4. Markov Decision Processes (MDPs) (10:07)
  5. The Return (04:56)
  6. Value Functions and the Bellman Equation (09:53)
  7. What does it mean to “learn”? (07:18)
  8. Solving the Bellman Equation with Reinforcement Learning (pt 1) (09:49)
  9. Solving the Bellman Equation with Reinforcement Learning (pt 2) (12:04)
  10. Epsilon-Greedy (06:09)
  11. Q-Learning (14:15)
  12. How to Learn Reinforcement Learning (05:56)
  13. Suggestion Box (03:10)

Background Review (Legacy)

7 Lectures · 32min
  1. Review Intro (02:42)
  2. Review of Markov Decision Processes (07:48)
  3. Review of Dynamic Programming (04:13)
  4. Review of Monte Carlo Methods (03:56)
  5. Review of Temporal Difference Learning (04:42)
  6. Review of Approximation Methods for Reinforcement Learning (02:20)
  7. Review of Deep Learning (06:48)

OpenAI Gym and Basic Reinforcement Learning Techniques

13 Lectures · 57min
  1. OpenAI Gym Tutorial (05:44)
  2. Random Search (05:49)
  3. Saving a Video (02:19)
  4. CartPole with Bins (Theory) (03:52)
  5. CartPole with Bins (Code) (06:26)
  6. RBF Neural Networks (10:27)
  7. RBF Networks with Mountain Car (Code) (05:29)
  8. RBF Networks with CartPole (Theory) (01:55)
  9. RBF Networks with CartPole (Code) (03:12)
  10. Theano Warmup (03:05)
  11. Tensorflow Warmup (02:26)
  12. Plugging in a Neural Network (03:40)
  13. OpenAI Gym Section Summary (03:29)

TD Lambda

5 Lectures · 19min
  1. N-Step Methods (03:14)
  2. N-Step in Code (03:41)
  3. TD Lambda (07:37)
  4. TD Lambda in Code (03:01)
  5. TD Lambda Summary (02:22)

Policy Gradients

10 Lectures · 01hr 02min
  1. Policy Gradient Methods (11:39)
  2. Policy Gradient in TensorFlow for CartPole (07:20)
  3. Policy Gradient in Theano for CartPole (04:15)
  4. Continuous Action Spaces (04:17)
  5. Mountain Car Continuous Specifics (04:13)
  6. Mountain Car Continuous Theano (07:32)
  7. Mountain Car Continuous Tensorflow (08:08)
  8. Mountain Car Continuous Tensorflow (v2) (06:12)
  9. Mountain Car Continuous Theano (v2) (07:32)
  10. Policy Gradient Section Summary (01:37)

Deep Q-Learning

10 Lectures · 01hr 32min
  1. Deep Q-Learning Intro (03:53)
  2. Deep Q-Learning Techniques (09:14)
  3. Deep Q-Learning in Tensorflow for CartPole (05:10)
  4. Deep Q-Learning in Theano for CartPole (04:49)
  5. Additional Implementation Details for Atari (05:37)
  6. Pseudocode and Replay Memory (06:15)
  7. Deep Q-Learning in Tensorflow for Breakout (23:47)
  8. Deep Q-Learning in Theano for Breakout (23:55)
  9. Partially Observable MDPs (04:53)
  10. Deep Q-Learning Section Summary (04:46)


7 Lectures · 01hr 02min
  1. A3C - Theory and Outline (16:31)
  2. A3C - Code pt 1 (Warmup) (06:29)
  3. A3C - Code pt 2 (06:28)
  4. A3C - Code pt 3 (07:36)
  5. A3C - Code pt 4 (18:03)
  6. A3C - Section Summary (02:06)
  7. Course Summary (04:58)

Introduction and Logistics (Legacy)

3 Lectures · 21min
  1. Introduction and Outline (09:58)
  2. Where to get the Code (03:15)
  3. How to Succeed in this Course (08:46)

Background Review (Legacy)

7 Lectures · 32min
  1. Review Intro (02:42)
  2. Review of Markov Decision Processes (07:48)
  3. Review of Dynamic Programming (04:13)
  4. Review of Monte Carlo Methods (03:56)
  5. Review of Temporal Difference Learning (04:42)
  6. Review of Approximation Methods for Reinforcement Learning (02:20)
  7. Review of Deep Learning (06:48)

Theano and Tensorflow Review

4 Lectures · 34min
  1. Theano Basics: Variables, Functions, Expressions, Optimization (07:47)
  2. Building a neural network in Theano (09:17)
  3. TensorFlow Basics: Variables, Functions, Expressions, Optimization (07:27)
  4. Building a neural network in TensorFlow (09:43)

Setting Up Your Environment (Appendix/FAQ by Student Request)

3 Lectures · 42min
  1. Pre-Installation Check (04:13)
  2. Anaconda Environment Setup (20:21)
  3. How to install Numpy, Scipy, Matplotlib, Pandas, IPython, Theano, and TensorFlow (17:33)

Extra Help With Python Coding for Beginners (Appendix/FAQ by Student Request)

5 Lectures · 52min
  1. How to Code Yourself (part 1) (15:55)
  2. How to Code Yourself (part 2) (09:24)
  3. Proof that using Jupyter Notebook is the same as not using it (12:29)
  4. Python 2 vs Python 3 (04:38)
  5. Is Theano Dead? (10:04)

Effective Learning Strategies for Machine Learning (Appendix/FAQ by Student Request)

4 Lectures · 59min
  1. How to Succeed in this Course (Long Version) (10:25)
  2. Is this for Beginners or Experts? Academic or Practical? Fast or slow-paced? (22:05)
  3. What order should I take your courses in? (part 1) (11:19)
  4. What order should I take your courses in? (part 2) (16:07)

Appendix / FAQ Finale

2 Lectures · 08min
  1. What is the Appendix? (02:48)
  2. Where to get discount coupons and FREE deep learning material (05:49)
This website is using cookies. That's Fine