
learn how to succeed in this course by using the q&a to ask questions, meeting prerequisites, and getting hands dirty with handwritten notes and coding exercises.
Define states, actions, and rewards within the agent–environment framework to form solvable Markov decision processes, and study the Markov assumption, state-transition probabilities, and Q-learning.
Derive the Bellman equation from expected values to define the value function V_pi(s) as the gamma-discounted expected return. When policy and environment dynamics are known, solve V using linear algebra.
Explore random search for linear policy optimization in a reinforcement learning task, evaluating 100 random weight vectors by average episode length to select the best performing parameters.
Explore how discretizing the CartPole state into finite bins enables tabular Q-learning, including handling states outside the box, choosing bin sizes, and shaping rewards to guide learning.
Apply q-learning with discrete, quantized CartPole states to build a q-table, including a feature transformer, state binning, epsilon-greedy action selection, and running-average performance over episodes.
This lecture re-implements a simple neural network training loop in Theano, highlighting graph inputs, shared parameters, cost function, updates, and training and prediction routines.
Explore td lambda as a generalization of the end step method and the lambda return, using eligibility trace to blend step and Monte Carlo and control the tradeoff via lambda.
Implement a parameterized policy for the continuous mountain car using Theano, detailing mean and variance models, Gaussian sampling, and hill climbing with perturbations and random search to maximize average reward.
Apply policy gradient methods to a continuous Mountain Car using a Gaussian policy, and train with gradient descent and entropy regularization to learn both policy and value models.
Explore deep Q-learning with a deep Q-network, experience replay, and a target network, using grayscale four-frame inputs through convolutional neural networks to stabilize training.
Implement deep Q-learning in Theano for CartPole, using experience replay, a target network, and gamma-based Q targets. Tune hyperparameters and experiment with optimizers and batch sampling.
Explore partially observable MDPs and learn how integrating sequences of observations with recurrent neural networks helps infer the true state and guide learning from time-based data.
Explain the a3c worker, where each thread runs local networks, copies global weights, and updates them with local gradients, plus image preprocessing and four-frame state construction.
Summarize how deep learning integrates with reinforcement learning, covering MDPs, dynamic programming, Monte Carlo, and TD methods, policy gradient, deep q-learning with experience replay and target networks.
This pre-installation check clarifies that installation lectures are guidelines and emphasizes learning Python principles over syntax. It covers using pip to install libraries and choosing course-relevant tools like OpenAI Gym.
Install and manage data science libraries on Windows with Anaconda, isolating environments and setting up Python, NumPy stack, and frameworks like TensorFlow, PyTorch, Keras, and open gym.
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.
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