Advanced AI: Deep Reinforcement Learning in Python (Udemy.com)

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

Created by: Lazy Programmer Inc.

Produced in 2021

icon
What you will learn

  • Build various deep learning agents (including DQN and A3C)
  • 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

icon
Quality Score

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 86 / 100

icon
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
  • 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.


WHAT ORDER SHOULD I TAKE YOUR COURSES IN?:
  • 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:
  • Professionals and students with strong technical backgrounds who wish to learn state-of-the-art AI techniques

icon
Instructor Details

placeholder

Today, I spend most of my time as an artificial intelligence and machine learning engineer with a focus on deep learning, although I have also been known as a data scientist, big data engineer, and full stack software engineer.
I received my masters degree in computer engineering with a specialization in machine learning and pattern recognition.
Experience includes online advertising and digital media as both a data scientist (optimizing click and conversion rates) and big data engineer (building data processing pipelines). Some big data technologies I frequently use are Hadoop, Pig, Hive, MapReduce, and Spark.
I've created deep learning models to predict click-through rate and user behavior, as well as for image and signal processing and modeling text.
My work in recommendation systems has applied Reinforcement Learning and Collaborative Filtering, and we 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, Hunter 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

icon
More courses by Lazy Programmer Inc.

Deep Learning: Convolutional Neural Networks in Python

$11.99

Data Science: Natural Language Processing (NLP) in Python

$11.99

Deep Learning Prerequisites: Linear Regression in Python

$11.99

Bayesian Machine Learning in Python: A/B Testing

$11.99

Deep Learning Prerequisites: The Numpy Stack in Python (V2+)

$11.99

Unsupervised Machine Learning Hidden Markov Models in Python

$11.99

icon
More artificial intelligence courses

Convolutional Neural Networks

Free

AI For Everyone

Free

A Crash Course in Data Science

Free

Sequence Models

Free

Open Source tools for Data Science

Free

icon
Reviews

4.3

224 total reviews

5 star 4 star 3 star 2 star 1 star
% Complete
% Complete
% Complete
% Complete
% Complete

By Dmitry Belyaev on 11/14/2020

the math base is too dry and not well explained for non-academically inclined students. It may be good for students with fresh memory of college courses but not for the rest

By George Tong on 11/14/2020

The course is organized very well. I like the level of detail in the review and find the course presents a nice progressive style to build up the topics. I would recommend this to someone wanting to learn more about deep reinforcement learning.

By Andreas Kircher on 11/14/2020

Theory with practical approach

By Zheyuan Xu on 11/14/2020

Some mathematical formula might require more explanation

By 212502-Kishore Babu Borugadda on 9/21/2020

It is good course which enhanced my knowledge in this domain. Thank you

By Dariusz Nowak on 9/13/2020

At the beginning. I am a programmer with 25 years of experience. I also found something for myself in this course. This something is the ease and lightness of the message. I lacked some math (proof of theorems - I could expect them in an advanced course like this), but without it, the lessons were better. Maybe a few links to literature, of course, preferably the author's :). In conclusion, thank you very much to the author for his brilliant work. This course is valuable time and money well spent.

By Wasim Ahmad Siddiqui on 8/23/2020

excellent

By Vikas Awate on 8/11/2020

cool

By Alex Bunting on 8/8/2020

Yes, but a bit of repeated content from other courses

By Mohammed Abdul Waheed on 8/7/2020

To the point, No Marketing - Practical approach to learn and develop

By Thibaut Cuvelier on 8/4/2020

Exceptional teacher for this course! He explains everything thoroughly and quite clearly. He does not meander through the whole theory of reinforcement learning, but rather the important points to get to state-of-the-art algorithms. He starts from almost nothing and builds the whole theory from scratch, so that you can really understand what's going on.

By Gr on 8/1/2020

Clearly understandable the explains. The tutor make it easy to understand with examples, I enjoy it.