
Explore advanced reinforcement learning beyond basic Q-learning and policy gradients, including hierarchical and multi-agent approaches, safety-focused RL, and model-based planning, with hands-on Python coding using stable-baselines and tf-agents.
The lecture explains why the course withholds full code packages, urging students to type code themselves to learn the concepts through working code, explanations, and practice.
Hold off on ratings this course until you’ve completed at least half to experience the full range of topics across chapters, while the instructor slows pace for an international audience.
Explore sequential decision making by defining state, actions, and rewards, and introduce policy, Markov decision process, and value functions to derive optimal strategies.
Connects the Bellman equation to dynamic programming and reinforcement learning by showing how state value equals immediate reward plus discounted future value, highlighting return, gamma, Q-learning, and policy gradients.
Differentiate model-based and model-free reinforcement learning, highlighting how model-based uses a transition and reward function for planning via dynamic programming, while model-free learns from experience.
Explore dynamic programming fundamentals, including memoization, optimal substructure, and overlapping subproblems, and compare top-down and bottom-up approaches to solve problems like Fibonacci, knapsack, and matrix chain multiplication.
Master the Bellman equation as the backbone of dynamic programming and reinforcement learning, linking state values, actions, and policies in optimal, iterative decision making under MDPs.
Master policy approximations to learn near-optimal decisions in high-dimensional, continuous environments using function approximation, neural networks, and gradient-based optimization.
Explore the universal framework for sequential decisions and four policy classes—PFA, CFA, VFA, and DLA—and how to match problem structure to the right class in reinforcement learning.
Explore essential math symbols used in reinforcement learning, including limits, derivatives, gradients, Hessians, Jacobians, integrals, and transforms. Apply these concepts to optimization, convergence, and analysis of vector spaces.
Explore key statistical and set theory symbols, including mu, sigma, variance, covariance, rho, element of, union, intersection, subset, and arg max/min.
Explore essential math symbols used in reinforcement learning, covering number sets (integers, naturals, rationals, complex), logic (for all, exists, implies), and operators like sum and lambda.
Explore Python, a high-level, interpreted language praised for readability and simplicity. See how its extensive standard library, multiple programming paradigms, and open source ecosystem enable rapid development across domains.
Explore Google Colab, a browser-based, cloud-driven Python environment with free GPUs and TPUs, seamless Google Drive integration, preinstalled libraries, and real-time collaboration for ML and data analysis.
Install Python from python.org and add it to path, then verify with python --version. Install Anaconda and Visual Studio Code, enabling path options and the Python extension.
Explore Python syntax and basic operations, including variables, data types, dynamic typing, and arithmetic, comparison, and logical operations with precedence and type conversions.
Explore Python data structures by examining lists, tuples, and sets. Learn mutability, indexing, slicing, and key operations like append, insert, remove, and set operations such as union, intersection, and difference.
Explore Python control structures and looping, mastering conditional statements (if, elif, else), for and while loops, range usage, nesting, and loop control with break and continue.
Explore functions and basic functional programming in Python, using def, lambdas, map, filter, and reduce to manipulate data, while learning about higher-order functions and return values.
Explore recursion and tail recursion, currying, partial functions, closures with state, decorators, and generators to build modular, efficient, reusable code in advanced algorithms for reinforcement learning.
Master Python dictionaries with unique keys and access values via brackets or get. Learn adding, updating, removing entries, using the in keyword for key checks, and dictionary comprehensions for transforming.
Master Python exception handling to build robust programs using try, except, else, and finally; manage zero division, file not found, and input errors with specific handlers and custom exceptions.
Master modules, packages, and importing in Python, from standard to third-party libraries like NumPy and pandas. Import, alias, and selectively use functions to build modular data manipulation code.
Open files in Python using read, write, append, and read/write modes, then read with read, readline, or readlines and write with write or writelines.
Explore object oriented programming in Python, including encapsulation, inheritance, and polymorphism, and how classes and objects define attributes and methods.
Organize hierarchical reinforcement learning into high, mid, and low levels to set subgoals with intrinsic rewards and leverage temporal abstraction and transfer learning.
Explore hierarchical reinforcement learning by defining options with initiation and terminal states, q-values, and an executable policy, then train a hierarchical agent that selects between options using q-learning updates.
Develop hierarchical policies in a four-room grid world by defining options, training an HRL agent, and visualizing learning with plots of total reward, episode length, and per-option performance.
Observe the learning curve from negative rewards to positive averages by episode 80, with rising total rewards and shorter steps, revealing a hierarchical agent learning to select useful options.
Learn how imitation learning speeds policy learning by copying expert demonstrations, and how inverse reinforcement learning uncovers the reward guiding those actions.
Train an agent with proximal policy optimization (PPO) in CartPole-v1 using stable baselines three, and evaluate after 500,000 steps to achieve maximum score of 500 in every episode.
Discover how simulated annealing solves the traveling salesman problem using a distance matrix and a cost function, with a temperature schedule and Pi Q-learning.
Explore multi-agent reinforcement learning, where multiple agents learn policies in a shared environment, collaborating or competing as their actions influence others, with applications in autonomous vehicles and smart grids.
Explore three MARL environment types, fully cooperative, fully competitive, and mixed, where agents share rewards, compete, or balance both, with examples from robotics, games, and industry.
Explore multi-agent reinforcement learning by comparing independent learning with centralized training and decentralized execution, highlighting non-stationarity, coordination, and scalable yet computationally intensive training.
Identify the four core MARL challenges: non-stationary environments, scalability, unclear objectives, and information sharing structures, and examine how learning agents adapt and coordinate.
Build a deep q-network that estimates action values from grid world states, using a policy and target network, epsilon-greedy exploration, and experience replay to train predators chasing prey.
Explore multi-agent reinforcement learning with predators' and prey dynamics, visualized through animated outputs of total and average rewards across episodes, showing predators' success rates and evolving strategies.
Build a basic multi-objective environment in Python with NumPy, simulating states, actions, and three objectives—revenue, satisfaction, and environmental impact—and explore multi-objective Q-learning and Pareto policies.
Explore multi-objective reinforcement learning with MORL Python 2, generating policy sets with Dirichlet weights, transferring q-values, decaying exploration, and visualizing Pareto fronts across objectives.
Explore how MORL Python outputs log agent performance across episodes, showing exploration decay, multi-objective rewards for revenue, customer satisfaction, and environmental impact, and visualize Pareto fronts to select nondominated policies.
Explore CartPole, a classic reinforcement learning task where a cart moves left or right to keep a pole balanced, with the agent learning from rewards through exploration and exploitation.
This course is designed for learners who want to go beyond the basics and master advanced reinforcement learning algorithms. Using Python, we will implement and explore a wide range of cutting-edge techniques, including Hierarchical Reinforcement Learning (HRL), Multi-Agent RL (MARL), Safe RL, Multi-Objective RL, and Meta-Learning methods such as MAML and PILCO.
We’ll start with an optional Python programming refresher, covering essential syntax, data structures, and object-oriented programming — perfect if you want to brush up before diving into advanced topics.
From there, you’ll work through practical coding projects using popular frameworks like Stable-Baselines3, PyQlearning, and TF-Agents. These projects include CartPole with PPO and DQN, predator–prey simulations, traveling salesman optimization with simulated annealing, portfolio management, and adaptive market planning.
By the end of the course, you will:
Understand and implement advanced RL algorithms from scratch
Apply RL to multi-agent, multi-objective, and safety-critical environments
Use Python and major RL libraries to solve real-world problems
Build a portfolio of projects to showcase your skills
Whether you’re a data scientist, machine learning engineer, or researcher, this course will give you the tools to push beyond standard RL and apply sophisticated decision-making systems to your work. You’ll be ready to tackle complex environments and design innovative AI solutions.