We may earn an affiliate commission when you visit our partners.
Course image
Lazy Programmer Team and Lazy Programmer Inc.

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.

Read more

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

Enroll now

What's inside

Learning objectives

  • Apply gradient-based supervised machine learning methods to reinforcement learning
  • Understand reinforcement learning on a technical level
  • Understand the relationship between reinforcement learning and psychology
  • Implement 17 different reinforcement learning algorithms
  • Understand important foundations for openai chatgpt, gpt-4

Syllabus

Welcome
Introduction
Course Outline and Big Picture
Where to get the Code
Read more
How to Succeed in this Course
Warmup
Return of the Multi-Armed Bandit
Section Introduction: The Explore-Exploit Dilemma
Applications of the Explore-Exploit Dilemma
Epsilon-Greedy Theory
Calculating a Sample Mean (pt 1)
Epsilon-Greedy Beginner's Exercise Prompt
Designing Your Bandit Program
Epsilon-Greedy in Code
Comparing Different Epsilons
Optimistic Initial Values Theory
Optimistic Initial Values Beginner's Exercise Prompt
Optimistic Initial Values Code
UCB1 Theory
UCB1 Beginner's Exercise Prompt
UCB1 Code
Bayesian Bandits / Thompson Sampling Theory (pt 1)
Bayesian Bandits / Thompson Sampling Theory (pt 2)
Thompson Sampling Beginner's Exercise Prompt
Thompson Sampling Code
Thompson Sampling With Gaussian Reward Theory
Thompson Sampling With Gaussian Reward Code
Exercise on Gaussian Rewards
Why don't we just use a library?
Nonstationary Bandits
Bandit Summary, Real Data, and Online Learning
(Optional) Alternative Bandit Designs
Suggestion Box
High Level Overview of Reinforcement Learning
What is Reinforcement Learning?
From Bandits to Full Reinforcement Learning
Markov Decision Proccesses
MDP Section Introduction
Gridworld
Choosing Rewards
The Markov Property
Markov Decision Processes (MDPs)
Future Rewards
Value Functions
The Bellman Equation (pt 1)
The Bellman Equation (pt 2)
The Bellman Equation (pt 3)
Bellman Examples
Optimal Policy and Optimal Value Function (pt 1)
Optimal Policy and Optimal Value Function (pt 2)
MDP Summary
Dynamic Programming
Dynamic Programming Section Introduction
Iterative Policy Evaluation
Designing Your RL Program
Gridworld in Code
Iterative Policy Evaluation in Code
Windy Gridworld in Code
Iterative Policy Evaluation for Windy Gridworld in Code
Policy Improvement
Policy Iteration
Policy Iteration in Code
Policy Iteration in Windy Gridworld
Value Iteration
Value Iteration in Code
Dynamic Programming Summary
Monte Carlo
Monte Carlo Intro
Monte Carlo Policy Evaluation
Monte Carlo Policy Evaluation in Code
Monte Carlo Control
Monte Carlo Control in Code
Monte Carlo Control without Exploring Starts
Monte Carlo Control without Exploring Starts in Code
Monte Carlo Summary
Temporal Difference Learning
Temporal Difference Introduction
TD(0) Prediction
TD(0) Prediction in Code
SARSA
SARSA in Code
Q Learning
Q Learning in Code
TD Learning Section Summary
Approximation Methods
Approximation Methods Section Introduction
Linear Models for Reinforcement Learning
Feature Engineering
Approximation Methods for Prediction
Approximation Methods for Prediction Code
Approximation Methods for Control
Approximation Methods for Control Code
CartPole
CartPole Code
Approximation Methods Exercise
Approximation Methods Section Summary
Interlude: Common Beginner Questions
This Course vs. RL Book: What's the Difference?
Stock Trading Project with Reinforcement Learning
Beginners, halt! Stop here if you skipped ahead

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Applies gradient-based supervised machine learning methods to reinforcement learning, useful for learners with a background in supervised machine learning
Develops a technical understanding of reinforcement learning, beneficial for those seeking a deep dive
Explores links between reinforcement learning and psychology, illuminating the practical applications of reinforcement learning
Provides hands-on implementation of 17 reinforcement learning algorithms, building practical skills
Lays out foundational concepts relevant to OpenAI ChatGPT and GPT-4, catering to learners interested in cutting-edge AI
Learners should have a strong foundation in calculus, probability, object-oriented programming, Numpy coding, and linear regression, making it unsuitable for absolute beginners

Save this course

Save Artificial Intelligence: Reinforcement Learning in Python to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Artificial Intelligence: Reinforcement Learning in Python with these activities:
Review Sutton & Barto's Reinforcement Learning
Provide a strong theoretical foundation for reinforcement learning concepts and improve your understanding of the technical aspects of the field.
Show steps
  • Read chapters 1-4 to gain an overview of RL and Markov Decision Processes (MDPs).
  • Work through the exercises at the end of each chapter to test your comprehension.
  • Summarize the key concepts in each chapter in your own words to enhance retention.
  • Discuss the concepts with peers or mentors to deepen your understanding.
Mentor Junior Reinforcement Learning Learners
Solidify your understanding by explaining concepts to others and helping them overcome challenges.
Browse courses on Reinforcement Learning
Show steps
  • Identify opportunities to mentor junior learners, such as through online forums or tutoring programs.
  • Provide guidance and support to learners who are struggling with RL concepts.
  • Explain complex ideas in a clear and concise manner.
  • Share your experiences and insights to help learners avoid common pitfalls.
Participate in Peer Study Groups
Enhance your learning through discussions, shared insights, and collaborative problem-solving with peers.
Browse courses on Reinforcement Learning
Show steps
  • Form or join a study group with classmates.
  • Set regular meeting times and establish a study plan.
  • Discuss course concepts, share different perspectives, and work on exercises together.
  • Seek support and clarify doubts within the group.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Follow Hands-on RL Tutorials on OpenAI Gym
Develop practical skills in implementing RL algorithms by following guided tutorials using OpenAI Gym.
Browse courses on Reinforcement Learning
Show steps
  • Choose a tutorial that aligns with your learning goals.
  • Follow the tutorial step-by-step, experimenting with different parameters.
  • Modify the code to explore variations and gain a deeper understanding of the algorithms.
  • Troubleshoot any issues you encounter and seek help from online forums or mentors if needed.
Solve Reinforcement Learning Coding Exercises
Strengthen your coding abilities in RL by solving challenging coding exercises.
Browse courses on Reinforcement Learning
Show steps
  • Find coding exercises from online platforms or textbooks.
  • Attempt to solve the exercises on your own, referring to course materials if needed.
  • Compare your solutions with provided answers or discuss them with peers.
  • Identify areas for improvement and focus on strengthening those skills.
Build a Reinforcement Learning Project
Apply your knowledge to solve a real-world problem using RL, deepening your understanding and showcasing your skills.
Browse courses on Reinforcement Learning
Show steps
  • Identify a suitable problem for your project, ensuring it aligns with course concepts.
  • Design and implement your RL solution, documenting your process and decisions.
  • Evaluate the performance of your project and analyze the results.
  • Present your project to your peers or instructors for feedback and insights.
Participate in Reinforcement Learning Competitions
Test your skills and push your understanding to the limit by participating in RL competitions.
Browse courses on Reinforcement Learning
Show steps
  • Identify and register for relevant RL competitions.
  • Develop and optimize your RL strategies.
  • Submit your solutions and track your progress.
  • Analyze the results and learn from both successes and failures.

Career center

Learners who complete Artificial Intelligence: Reinforcement Learning in Python will develop knowledge and skills that may be useful to these careers:
Artificial Intelligence Engineer
Artificial Intelligence Engineers design and develop artificial intelligence systems. This course provides a comprehensive introduction to reinforcement learning, a key subfield of artificial intelligence. By mastering the principles and techniques covered in this course, Artificial Intelligence Engineers gain a strong foundation for developing intelligent systems that can learn from their experiences and adapt to changing environments.
Machine Learning Engineer
Machine Learning Engineers are responsible for developing, deploying, and maintaining machine learning models. This course delves into the fundamentals of reinforcement learning, providing a deep understanding of how to build systems that can learn from their experiences. Reinforcement learning is particularly relevant in areas such as robotics, game development, and autonomous vehicles, making this course highly valuable for aspiring Machine Learning Engineers seeking to specialize in these fields.
Data Scientist
Data Scientists are experts in the field of data analysis and machine learning, using their skills to extract insights from large datasets. This course provides a solid foundation in reinforcement learning, a key subfield of machine learning, making it a valuable resource for aspiring Data Scientists. By understanding the principles of reinforcement learning, learners can develop models for decision-making and optimization tasks, a crucial skill for Data Scientists working with complex data.
Academic Researcher
Academic Researchers conduct original research in various fields, including computer science and artificial intelligence. This course offers a deep dive into reinforcement learning, a cutting-edge subfield of machine learning. By gaining advanced knowledge in reinforcement learning, Academic Researchers can make significant contributions to the field and push the boundaries of artificial intelligence research.
Research Scientist
Research Scientists conduct scientific research in various fields, including machine learning and artificial intelligence. This course offers a comprehensive introduction to reinforcement learning, a cutting-edge subfield of machine learning. By mastering the principles and techniques covered in this course, Research Scientists gain a strong foundation for conducting research in areas such as robotics, natural language processing, and decision-making systems.
Robotics Engineer
Robotics Engineers design, build, and maintain robots. This course provides a foundation in reinforcement learning, a technique used to develop intelligent systems that can learn from their experiences. By understanding reinforcement learning, Robotics Engineers can build more autonomous and adaptive robots, capable of performing complex tasks in various environments.
Game Designer
Game Designers create and design video games. This course introduces reinforcement learning, a technique used to develop intelligent systems that can learn from their interactions with the environment. By understanding reinforcement learning, Game Designers can create more engaging and challenging games, particularly in areas such as artificial intelligence opponents and procedural content generation.
Software Engineer
Software Engineers design, develop, and maintain software applications. This course provides a practical foundation in reinforcement learning, a technique used to develop intelligent systems that can learn from their interactions with the environment. By gaining proficiency in reinforcement learning, Software Engineers can build more sophisticated and autonomous software systems, particularly in areas such as robotics, gaming, and optimization.
Quantitative Analyst
Quantitative Analysts (Quants) use mathematical and statistical models to analyze financial data and make investment decisions. This course introduces reinforcement learning, a powerful technique for optimizing decision-making in complex environments. By understanding reinforcement learning, Quants can develop more sophisticated trading strategies and models, potentially leading to improved investment performance.
Operations Research Analyst
Operations Research Analysts use mathematical and analytical techniques to improve the efficiency and effectiveness of organizations. This course introduces reinforcement learning, a technique used to develop intelligent systems that can learn from their interactions with the environment. By understanding reinforcement learning, Operations Research Analysts can develop more sophisticated models for resource allocation, scheduling, and supply chain management, potentially leading to significant operational improvements.
Data Analyst
Data Analysts collect, clean, and analyze data to extract meaningful insights. This course introduces reinforcement learning, a technique used to train models for decision-making and optimization. By gaining proficiency in reinforcement learning, Data Analysts can develop more sophisticated data analysis pipelines and models, enabling them to derive deeper insights from complex datasets.
Financial Analyst
Financial Analysts analyze financial data and make recommendations on investments and financial decisions. This course provides an overview of reinforcement learning, a technique used to develop intelligent systems that can learn from their experiences. By understanding reinforcement learning, Financial Analysts can develop more sophisticated models for risk assessment, portfolio optimization, and trading strategies.
Product Manager
Product Managers are responsible for managing the development and launch of new products. This course provides an overview of reinforcement learning, a technique used to create intelligent systems that can adapt to changing environments. By understanding reinforcement learning, Product Managers can develop more innovative and user-friendly products, particularly in areas such as personalized recommendations and dynamic pricing.
Business Analyst
Business Analysts assess business needs and develop solutions to improve efficiency and productivity. This course provides a foundation in reinforcement learning, a technique used to optimize decision-making in complex environments. By understanding reinforcement learning, Business Analysts can develop more effective solutions for a wide range of business problems, particularly in areas such as supply chain management and customer relationship management.
Consultant
Consultants provide expert advice and guidance to organizations on various business matters. This course introduces reinforcement learning, a technique used to develop intelligent systems that can learn from their interactions with the environment. By understanding reinforcement learning, Consultants can provide more innovative and data-driven solutions to their clients, particularly in areas such as process optimization and strategic planning.

Reading list

We've selected seven books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Artificial Intelligence: Reinforcement Learning in Python.
Provides a comprehensive introduction to the field of reinforcement learning, covering both the theoretical foundations and practical applications. It is an excellent resource for those who are new to the field or who want to learn more about the latest advancements.
Provides a comprehensive overview of Bayesian reasoning and machine learning, including reinforcement learning. It great resource for those who want to learn more about the theoretical foundations of reinforcement learning.
Provides a comprehensive overview of probabilistic robotics, including reinforcement learning. It great resource for those who want to learn more about the field of robotics and its applications.
Provides a comprehensive overview of algorithms for reinforcement learning. It great resource for those who want to learn more about the theoretical foundations of reinforcement learning.
Provides a comprehensive overview of decision making under uncertainty, including reinforcement learning. It great resource for those who want to learn more about the theoretical foundations of reinforcement learning.
Provides a comprehensive overview of neurodynamic programming, which reinforcement learning algorithm that is based on the principles of dynamic programming. It great resource for those who want to learn more about the theoretical foundations of reinforcement learning.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Artificial Intelligence: Reinforcement Learning in Python.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser