Ever wondered how AI technologies like OpenAI ChatGPT and GPT-4 really work? In this course, you will learn the foundations of these groundbreaking applications.
When people talk about artificial intelligence, they usually don’t mean supervised and unsupervised machine learning.
These tasks are pretty trivial compared to what we think of AIs doing – playing chess and Go, driving cars, and beating video games at a superhuman level.
Reinforcement learning has recently become popular for doing all of that and more.
Much like deep learning, a lot of the theory was discovered in the 70s and 80s but it hasn’t been until recently that we’ve been able to observe first hand the amazing results that are possible.
In 2016 we saw Google’s AlphaGo beat the world Champion in Go.
We saw AIs playing video games like Doom and Super Mario.
Self-driving cars have started driving on real roads with other drivers and even carrying passengers (Uber), all without human assistance.
If that sounds amazing, brace yourself for the future because the law of accelerating returns dictates that this progress is only going to continue to increase exponentially.
Learning about supervised and unsupervised machine learning is no small feat. To date I have over TWENTY FIVE (25!) courses just on those topics alone.
And yet reinforcement learning opens up a whole new world. As you’ll learn in this course, the reinforcement learning paradigm is very from both supervised and unsupervised learning.
It’s led to new and amazing insights both in behavioral psychology and neuroscience. As you’ll learn in this course, there are many analogous processes when it comes to teaching an agent and teaching an animal or even a human. It’s the closest thing we have so far to a true artificial general intelligence. What’s covered in this course?
-
The multi-armed bandit problem and the explore-exploit dilemma
-
Ways to calculate means and moving averages and their relationship to stochastic gradient descent
-
Markov Decision Processes (MDPs)
-
Dynamic Programming
-
Monte Carlo
-
Temporal Difference (TD) Learning (Q-Learning and SARSA)
-
Approximation Methods (i.e. how to plug in a deep neural network or other differentiable model into your RL algorithm)
-
How to use OpenAI Gym, with zero code changes
-
Project: Apply Q-Learning to build a stock trading bot
If you’re ready to take on a brand new challenge, and learn about AI techniques that you’ve never seen before in traditional supervised machine learning, unsupervised machine learning, or even deep learning, then this course is for you.
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:
-
Calculus
-
Probability
-
Object-oriented programming
-
Python coding: if/else, loops, lists, dicts, sets
-
Numpy coding: matrix and vector operations
-
Linear regression
-
Gradient descent
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
Return of the Multi-Armed Bandit
High Level Overview of Reinforcement Learning
-
6Section Introduction: The Explore-Exploit Dilemma
-
7Applications of the Explore-Exploit Dilemma
-
8Epsilon-Greedy Theory
-
9Calculating a Sample Mean (pt 1)
-
10Epsilon-Greedy Beginner's Exercise Prompt
-
11Designing Your Bandit Program
-
12Epsilon-Greedy in Code
-
13Comparing Different Epsilons
-
14Optimistic Initial Values Theory
-
15Optimistic Initial Values Beginner's Exercise Prompt
-
16Optimistic Initial Values Code
-
17UCB1 Theory
-
18UCB1 Beginner's Exercise Prompt
-
19UCB1 Code
-
20Bayesian Bandits / Thompson Sampling Theory (pt 1)
-
21Bayesian Bandits / Thompson Sampling Theory (pt 2)
-
22Thompson Sampling Beginner's Exercise Prompt
-
23Thompson Sampling Code
-
24Thompson Sampling With Gaussian Reward Theory
-
25Thompson Sampling With Gaussian Reward Code
-
26Exercise on Gaussian Rewards
-
27Why don't we just use a library?
-
28Nonstationary Bandits
-
29Bandit Summary, Real Data, and Online Learning
-
30(Optional) Alternative Bandit Designs
-
31Suggestion Box
Markov Decision Proccesses
Dynamic Programming
-
34MDP Section Introduction
-
35Gridworld
-
36Choosing Rewards
-
37The Markov Property
-
38Markov Decision Processes (MDPs)
-
39Future Rewards
-
40Value Functions
-
41The Bellman Equation (pt 1)
-
42The Bellman Equation (pt 2)
-
43The Bellman Equation (pt 3)
-
44Bellman Examples
-
45Optimal Policy and Optimal Value Function (pt 1)
-
46Optimal Policy and Optimal Value Function (pt 2)
-
47MDP Summary
Monte Carlo
-
48Dynamic Programming Section Introduction
-
49Iterative Policy Evaluation
-
50Designing Your RL Program
-
51Gridworld in Code
-
52Iterative Policy Evaluation in Code
-
53Windy Gridworld in Code
-
54Iterative Policy Evaluation for Windy Gridworld in Code
-
55Policy Improvement
-
56Policy Iteration
-
57Policy Iteration in Code
-
58Policy Iteration in Windy Gridworld
-
59Value Iteration
-
60Value Iteration in Code
-
61Dynamic Programming Summary
Temporal Difference Learning
Approximation Methods
Interlude: Common Beginner Questions
-
78Approximation Methods Section Introduction
-
79Linear Models for Reinforcement Learning
-
80Feature Engineering
-
81Approximation Methods for Prediction
-
82Approximation Methods for Prediction Code
-
83Approximation Methods for Control
-
84Approximation Methods for Control Code
-
85CartPole
-
86CartPole Code
-
87Approximation Methods Exercise
-
88Approximation Methods Section Summary