Advanced AI: Deep Reinforcement Learning in Python
- Descripción
- Currículum
- Reseñas
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!
“If you can’t implement it, you don’t understand it”
-
Or as the great physicist Richard Feynman said: “What I cannot create, I do not understand”.
-
My courses are the ONLY courses where you will learn how to implement machine learning algorithms from scratch
-
Other courses will teach you how to plug in your data into a library, but do you really need help with 3 lines of code?
-
After doing the same thing with 10 datasets, you realize you didn’t learn 10 things. You learned 1 thing, and just repeated the same 3 lines of code 10 times…
Suggested Prerequisites:
-
College-level math is helpful (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 ANNs and CNNs in Theano or TensorFlow
-
Markov Decision Proccesses (MDPs)
-
Know how to implement Dynamic Programming, Monte Carlo, and Temporal Difference Learning to solve MDPs
WHAT ORDER SHOULD I TAKE YOUR COURSES IN?:
-
Check out the lecture “Machine Learning and AI Prerequisite Roadmap” (available in the FAQ of any of my courses, including the free Numpy course)
UNIQUE FEATURES
-
Every line of code explained in detail – email me any time if you disagree
-
No wasted time “typing” on the keyboard like other courses – let’s be honest, nobody can really write code worth learning about in just 20 minutes from scratch
-
Not afraid of university-level math – get important details about algorithms that other courses leave out
-
5Reinforcement Learning Section IntroductionVideo lesson
-
6Elements of a Reinforcement Learning ProblemVideo lesson
-
7States, Actions, Rewards, PoliciesVideo lesson
-
8Markov Decision Processes (MDPs)Video lesson
-
9The ReturnVideo lesson
-
10Value Functions and the Bellman EquationVideo lesson
-
11What does it mean to “learn”?Video lesson
-
12Solving the Bellman Equation with Reinforcement Learning (pt 1)Video lesson
-
13Solving the Bellman Equation with Reinforcement Learning (pt 2)Video lesson
-
14Epsilon-GreedyVideo lesson
-
15Q-LearningVideo lesson
-
16How to Learn Reinforcement LearningVideo lesson
-
17Suggestion BoxVideo lesson
-
18OpenAI Gym TutorialVideo lesson
-
19Random SearchVideo lesson
-
20Saving a VideoVideo lesson
-
21CartPole with Bins (Theory)Video lesson
-
22CartPole with Bins (Code)Video lesson
-
23RBF Neural NetworksVideo lesson
-
24RBF Networks with Mountain Car (Code)Video lesson
-
25RBF Networks with CartPole (Theory)Video lesson
-
26RBF Networks with CartPole (Code)Video lesson
-
27Theano WarmupVideo lesson
-
28Tensorflow WarmupVideo lesson
-
29Plugging in a Neural NetworkVideo lesson
-
30OpenAI Gym Section SummaryVideo lesson
-
36Policy Gradient MethodsVideo lesson
-
37Policy Gradient in TensorFlow for CartPoleVideo lesson
-
38Policy Gradient in Theano for CartPoleVideo lesson
-
39Continuous Action SpacesVideo lesson
-
40Mountain Car Continuous SpecificsVideo lesson
-
41Mountain Car Continuous TheanoVideo lesson
-
42Mountain Car Continuous TensorflowVideo lesson
-
43Mountain Car Continuous Tensorflow (v2)Video lesson
-
44Mountain Car Continuous Theano (v2)Video lesson
-
45Policy Gradient Section SummaryVideo lesson
-
46Deep Q-Learning IntroVideo lesson
-
47Deep Q-Learning TechniquesVideo lesson
-
48Deep Q-Learning in Tensorflow for CartPoleVideo lesson
-
49Deep Q-Learning in Theano for CartPoleVideo lesson
-
50Additional Implementation Details for AtariVideo lesson
-
51Pseudocode and Replay MemoryVideo lesson
-
52Deep Q-Learning in Tensorflow for BreakoutVideo lesson
-
53Deep Q-Learning in Theano for BreakoutVideo lesson
-
54Partially Observable MDPsVideo lesson
-
55Deep Q-Learning Section SummaryVideo lesson