Advanced AI: Deep Reinforcement Learning in Python
4.7 (196 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
5,635 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Advanced AI: Deep Reinforcement Learning in Python to your Wishlist.

Add to Wishlist

Advanced AI: Deep Reinforcement Learning in Python

The Complete Guide to Mastering Artificial Intelligence using Deep Learning and Neural Networks
4.7 (196 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
5,635 students enrolled
Last updated 9/2017
English
English [Auto-generated]
Current price: $10 Original price: $180 Discount: 94% off
30-Day Money-Back Guarantee
Includes:
  • 5 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Build various deep learning agents
  • Apply a variety of advanced reinforcement learning algorithms to any problem
  • Q-Learning with Deep Neural Networks
  • Policy Gradient Methods with Neural Networks
  • Reinforcement Learning with RBF Networks
  • Use Convolutional Neural Networks with Deep Q-Learning
View Curriculum
Requirements
  • Know reinforcement learning basics, MDPs, Dynamic Programming, Monte Carlo, TD Learning
  • Calculus and probability at the undergraduate level
  • Experience building machine learning models in Python and Numpy
  • Know how to build a feedforward, convolutional, and recurrent neural network using Theano and Tensorflow
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.

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


NOTES:

All the code for this course can be downloaded from my github:

/lazyprogrammer/machine_learning_examples

In the directory: rl2

Make sure you always "git pull" so you have the latest version!


HARD PREREQUISITES / KNOWLEDGE YOU ARE ASSUMED TO HAVE:

  • 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 feedforward, convolutional, and recurrent neural network in Theano and TensorFlow
  • Markov Decision Proccesses (MDPs)
  • Know how to implement Dynamic Programming, Monte Carlo, and Temporal Difference Learning to solve 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.


USEFUL COURSE ORDERING:

  • (The Numpy Stack in Python)
  • Linear Regression in Python
  • Logistic Regression in Python
  • (Supervised Machine Learning in Python)
  • (Bayesian Machine Learning in Python: A/B Testing)
  • Deep Learning in Python
  • Practical Deep Learning in Theano and TensorFlow
  • (Supervised Machine Learning in Python 2: Ensemble Methods)
  • Convolutional Neural Networks in Python
  • (Easy NLP)
  • (Cluster Analysis and Unsupervised Machine Learning)
  • Unsupervised Deep Learning
  • (Hidden Markov Models)
  • Recurrent Neural Networks in Python
  • Artificial Intelligence: Reinforcement Learning in Python
  • Natural Language Processing with Deep Learning in Python
  • Advanced AI: Deep Reinforcement Learning in Python
Who is the target audience?
  • Professionals and students with strong technical backgrounds who wish to learn state-of-the-art AI techniques
Curriculum For This Course
52 Lectures
04:55:25
+
Introduction and Logistics
3 Lectures 21:56

Where to get the Code
03:14

How to Succeed in this Course
08:45
+
Background Review
7 Lectures 32:22

Review of Markov Decision Processes
07:47

Review of Dynamic Programming
04:12

Review of Monte Carlo Methods
03:55

Review of Temporal Difference Learning
04:41

Review of Approximation Methods for Reinforcement Learning
02:19

Review of Deep Learning
06:47
+
OpenAI Gym and Basic Reinforcement Learning Techniques
13 Lectures 57:40
OpenAI Gym Tutorial
05:43

Random Search
05:48

Saving a Video
02:18

CartPole with Bins (Theory)
03:51

CartPole with Bins (Code)
06:25

RBF Neural Networks
10:26

RBF Networks with Mountain Car (Code)
05:28

RBF Networks with CartPole (Theory)
01:54

RBF Networks with CartPole (Code)
03:11

Theano Warmup
03:04

Tensorflow Warmup
02:25

Plugging in a Neural Network
03:39

OpenAI Gym Section Summary
03:28
+
TD Lambda
5 Lectures 19:51
N-Step Methods
03:14

N-Step in Code
03:40

TD Lambda
07:36

TD Lambda in Code
03:00

TD Lambda Summary
02:21
+
Policy Gradients
10 Lectures 01:02:35
Policy Gradient Methods
11:38

Policy Gradient in TensorFlow for CartPole
07:19

Policy Gradient in Theano for CartPole
04:14

Continuous Action Spaces
04:16

Mountain Car Continuous Specifics
04:12

Mountain Car Continuous Theano
07:31

Mountain Car Continuous Tensorflow
08:07

Mountain Car Continuous Tensorflow (v2)
06:11

Mountain Car Continuous Theano (v2)
07:31

Policy Gradient Section Summary
01:36
+
Deep Q-Learning
10 Lectures 55:52
Deep Q-Learning Intro
03:52

Deep Q-Learning Techniques
09:13

Deep Q-Learning in Tensorflow for CartPole
05:09

Deep Q-Learning in Theano for CartPole
04:48

Additional Implementation Details for Atari
05:36

Deep Q-Learning in Tensorflow for Breakout
05:58

Deep Q-Learning in Theano for Breakout
06:42

Partially Observable MDPs
04:52

Deep Q-Learning Section Summary
04:45

Course Summary
04:57
+
Appendix
4 Lectures 45:09
Environment Setup
17:32

How to Code by Yourself (part 1)
15:54

How to Code by Yourself (part 2)
09:23

Where to get Udemy coupons and FREE deep learning material
02:20
About the Instructor
Lazy Programmer Inc.
4.6 Average rating
14,218 Reviews
75,759 Students
19 Courses
Data scientist and big data engineer

I am a data scientist, big data engineer, and full stack software engineer.

I have a masters degree in computer engineering with a specialization in machine learning and pattern recognition.

I have worked in online advertising and digital media as both a data scientist and big data engineer, and built various high-throughput web services around said data. I've created new big data pipelines using Hadoop/Pig/MapReduce. I've created machine learning models to predict click-through rate, news feed recommender systems using linear regression, Bayesian Bandits, and collaborative filtering and validated the results using A/B testing.

I have taught undergraduate and graduate students in data science, statistics, machine learning, algorithms, calculus, computer graphics, and physics for students attending universities such as Columbia University, NYU, Humber College, and The New School. 

Multiple businesses have benefitted from my web programming expertise. I do all the backend (server), frontend (HTML/JS/CSS), and operations/deployment work. Some of the technologies I've used are: Python, Ruby/Rails, PHP, Bootstrap, jQuery (Javascript), Backbone, and Angular. For storage/databases I've used MySQL, Postgres, Redis, MongoDB, and more.