The
Get Started with Reinforcement Learning Today
You'll be up and running with reinforcement learning in no time at all.

$44.99
$44.99The Reinforcement Learning Workshop
Unlock one year of full, unlimited access!
Learning Made Simple
Nobody likes going through hundreds of pages of dry theory, or struggling with uninteresting examples that don’t compile. We've got you covered. Any time, any device.

Learn by doing realworld development, supported every step of the way with stepbystep examples and expert screencasts.

Become a verified practitioner and earn an authenticated digital certificate from Packt upon successful completion.

Manage your learning based on your personal schedule, with content that lets you pause and resume your progress at will.
A Smarter Way to Learn RL
A stepbystep, focused approach to getting up and running with realworld reinforcement learning in no time at all.
Course Curriculum
An A to Z tour of reinforcement learning.

1. Introduction to Reinforcement Learning
 Overview FREE PREVIEW
 Learning Paradigms FREE PREVIEW
 Supervised versus Unsupervised versus RL FREE PREVIEW
 Classifying Common Problems into Learning Scenarios FREE PREVIEW
 Fundamentals of Reinforcement Learning FREE PREVIEW
 Elements of RL FREE PREVIEW
 An Example of an Autonomous Driving Environment FREE PREVIEW
 Exercise 1.01: Implementing a Toy Environment Using Python FREE PREVIEW
 The AgentEnvironment Interface FREE PREVIEW
 Environment Types FREE PREVIEW
 An Action and Its Types FREE PREVIEW
 Policy FREE PREVIEW
 Policy Parameterizations FREE PREVIEW
 Exercise 1.02: Implementing a Linear Policy FREE PREVIEW
 Goals and Rewards FREE PREVIEW
 Reinforcement Learning Frameworks FREE PREVIEW
 Getting Started with Gym – CartPole FREE PREVIEW
 Rendering an Environment FREE PREVIEW
 Exercise 1.03: Creating a Space for Image Observations FREE PREVIEW
 Exercise 1.04: Implementing the Reinforcement Learning Loop with Gym FREE PREVIEW
 Activity 1.01: Measuring the Performance of a Random Agent FREE PREVIEW
 Activity 1.01: Measuring the Performance of a Random Agent FREE PREVIEW
 OpenAI Baselines FREE PREVIEW
 Applications of Reinforcement Learning FREE PREVIEW
 Summary FREE PREVIEW

2. Markov Decision Processes and Bellman Equations
 Overview
 Markov Processes
 Markov Chains
 Value Functions and Bellman Equations for MRPs
 Exercise 2.01: Finding the Value Function in an MRP
 Markov Decision Processes
 The StateValue Function and the ActionValue Function
 Bellman Optimality Equation
 Solving MDPs
 Exercise 2.02: Determining the Best Policy for an MDP Using Linear Programming
 Gridworld
 Activity 2.01: Solving Gridworld
 Activity 2.01: Solving Gridworld
 Summary

3. Deep Learning in Practice with TensorFlow 2
 Overview
 An Introduction to TensorFlow and Keras
 Keras
 Exercise 3.01: Building a Sequential Model with the Keras HighLevel API
 How to Implement a Neural Network Using TensorFlow
 Loss Function Definition
 Learning Rate Scheduling
 Model Validation
 Model Improvement
 Standard Fully Connected Neural Networks
 Exercise 3.02: Building a Fully Connected Neural Network Model with the Keras HighLevel API
 Convolutional Neural Networks
 Exercise 3.03: Building a Convolutional Neural Network Model with the Keras HighLevel API
 Recurrent Neural Networks
 Exercise 3.04: Building a Recurrent Neural Network Model with the Keras HighLevel API
 Simple Regression Using TensorFlow
 Exercise 3.05: Creating a Deep Neural Network to Predict the Fuel Efficiency of Cars
 Simple Classification Using TensorFlow
 Exercise 3.06: Creating a Deep Neural Network to Classify Events Generated by the ATLAS Experiment in the Quest for Higgs Boson
 TensorBoard – How to Visualize Data Using TensorBoard
 Exercise 3.07: Creating a Deep Neural Network to Classify Events Generated by the ATLAS Experiment in the Quest for the Higgs Boson Using TensorBoard for Visualization
 Activity 3.01: Classifying Fashion Clothes Using a TensorFlow Dataset and TensorFlow 2
 Activity 3.01: Classifying Fashion Clothes Using a TensorFlow Dataset and TensorFlow 2
 Summary

4. Getting Started with OpenAI and TensorFlow for Reinforcement Learning
 Overview
 OpenAI Gym
 How to Interact with a Gym Environment
 Exercise 4.01: Interacting with the Gym Environment
 Action and Observation Spaces
 How to Implement a Custom Gym Environment
 OpenAI Universe – Complex Environment
 Environments
 Running an OpenAI Universe Environment
 TensorFlow for Reinforcement Learning
 Exercise 4.02: Building a Policy Network with TensorFlow
 Exercise 4.03: Feeding the Policy Network with Environment State Representation
 How to Save a Policy Network
 OpenAI Baselines
 Training an RL Agent to Solve a Classic Control Problem
 Exercise 4.04: Solving a CartPole Environment with the PPO Algorithm
 Activity 4.01: Training a Reinforcement Learning Agent to Play a Classic Video Game
 Activity 4.01: Training a Reinforcement Learning Agent to Play a Classic Video Game
 Summary
 Survey I

5. Dynamic Programming
 Overview
 Solving Dynamic Programming Problems
 Memoization
 Exercise 5.01: Memoization in Practice
 Exercise 5.02: The Tabular Method in Practice
 Identifying Dynamic Programming Problems
 Exercise 5.03: Solving the CoinChange Problem
 Dynamic Programming in RL
 OpenAI Gym: Taxiv3 Environment
 Policy Iteration
 Value Iteration
 Activity 5.01: Implementing Policy and Value Iteration on the FrozenLakev0 Environment
 Activity 5.01: Implementing Policy and Value Iteration on the FrozenLakev0 Environment
 Summary

6. Monte Carlo Methods
 Overview
 The Workings of Monte Carlo Methods
 Exercise 6.01: Implementing Monte Carlo in Blackjack
 Types of Monte Carlo Methods
 Exercise 6.02: First Visit Monte Carlo Prediction for Estimating the Value Function in Blackjack
 Every Visit Monte Carlo Prediction for Estimating the Value Function
 Exercise 6.03: Every Visit Monte Carlo Prediction for Estimating the Value Function
 Exploration versus Exploitation TradeOff
 The Pseudocode for Monte Carlo OffPolicy Evaluation
 Exercise 6.04: Importance Sampling with Monte Carlo
 Solving Frozen Lake Using Monte Carlo
 Activity 6.01: Exploring the Frozen Lake Problem – the Reward Function
 Activity 6.01: Exploring the Frozen Lake Problem – the Reward Function
 The Pseudocode for Every Visit Monte Carlo Control for Epsilon Soft
 Activity 6.02: Solving Frozen Lake Using Monte Carlo Control Every Visit Epsilon Soft
 Activity 6.02: Solving Frozen Lake Using Monte Carlo Control Every Visit Epsilon Soft
 Summary

7. Temporal Difference Learning
 Overview
 TD(0) – SARSA and QLearning
 Exercise 7.01: Using TD(0) SARSA to Solve FrozenLakev0 Deterministic Transitions
 The Stochasticity Test
 Exercise 7.02: Using TD(0) SARSA to Solve FrozenLakev0 Stochastic Transitions
 QLearning – OffPolicy Control
 Exercise 7.03: Using TD(0) QLearning to Solve FrozenLakev0 Deterministic Transitions
 Expected SARSA
 NStep TD and TD(λ) Algorithms
 Nstep SARSA
 TD(λ)
 Exercise 7.04: Using TD(λ) SARSA to Solve FrozenLakev0 Deterministic Transitions
 Exercise 7.05: Using TD(λ) SARSA to Solve FrozenLakev0 Stochastic Transitions
 The Relationship between DP, MonteCarlo, and TD Learning
 Activity 7.01: Using TD(0) QLearning to Solve FrozenLakev0 Stochastic Transitions
 Activity 7.01: Using TD(0) QLearning to Solve FrozenLakev0 Stochastic Transitions
 Summary

8. The MultiArmed Bandit Problem
 Overview
 Formulation of the MAB Problem
 Background and Terminology
 The Python Interface
 The Greedy Algorithm
 The ExplorethenCommit Algorithm
 The εGreedy Algorithm
 Exercise 8.01: Implementing the εGreedy Algorithm
 The Softmax Algorithm
 The UCB Algorithm
 Exercise 8.02: Implementing the UCB Algorithm
 Thompson Sampling
 The Thompson Sampling Algorithm
 Exercise 8.03: Implementing the Thompson Sampling Algorithm
 Contextual Bandits
 Queueing Bandits
 Activity 8.01: Queueing Bandits
 Activity 8.01: Queueing Bandits
 Summary
 Survey II

9. What Is Deep Q Learning?
 Overview
 Basics of Deep Learning
 Basics of PyTorch
 Exercise 9.01: Building a Simple Deep Learning Model in PyTorch
 PyTorch Utilities
 The StateValue Function and the Bellman Equation
 The ActionValue Function (Q Value Function)
 Implementing Q Learning to Find Optimal Actions
 OpenAI Gym Review
 Exercise 9.02: Implementing the Q Learning Tabular Method
 Deep Q Learning
 Exercise 9.03: Implementing a Working DQN Network with PyTorch in a CartPolev0 Environment
 Challenges in DQN
 The Concept of a Target Network
 Exercise 9.04: Implementing a Working DQN Network with Experience Replay and a Target Network in PyTorch
 The Challenge of Overestimation in a DQN
 Double Deep Q Network (DDQN)
 Activity 9.01: Implementing a Double Deep Q Network in PyTorch for the CartPole Environment
 Activity 9.01: Implementing a Double Deep Q Network in PyTorch for the CartPole Environment
 Summary

10. Playing an Atari Game with Deep Recurrent Q Networks
 Overview
 Understanding the Breakout Environment
 Exercise 10.01: Playing Breakout with a Random Agent
 CNNs in TensorFlow
 Exercise 10.02: Designing a CNN Model with TensorFlow
 Combining a DQN with a CNN
 Activity 10.01: Training a DQN with CNNs to Play Breakout
 Activity 10.01: Training a DQN with CNNs to Play Breakout
 RNNs in TensorFlow
 Exercise 10.03: Designing a Combination of CNN and RNN Models with TensorFlow
 Building a DRQN
 Activity 10.02: Training a DRQN to Play Breakout
 Activity 10.02: Training a DRQN to Play Breakout
 Introduction to the Attention Mechanism and DARQN
 Activity 10.03: Training a DARQN to Play Breakout
 Activity 10.03: Training a DARQN to Play Breakout
 Summary

11. PolicyBased Methods for Reinforcement Learning
 Overview
 Introduction to ValueBased and ModelBased RL
 Policy Gradients
 Exercise 11.01: Landing a Spacecraft on the Lunar Surface Using Policy Gradients and the ActorCritic Method
 Deep Deterministic Policy Gradients
 The ActorCritic Model
 Exercise 11.02: Creating a Learning Agent
 Activity 11.01: Creating an Agent That Learns a Model Using DDPG
 Activity 11.01: Creating an Agent That Learns a Model Using DDPG
 Improving Policy Gradients
 Exercise 11.03: Improving the Lunar Lander Example Using PPO
 The Advantage ActorCritic Method
 Activity 11.02: Loading the Saved Policy to Run the Lunar Lander Simulation
 Activity 11.02: Loading the Saved Policy to Run the Lunar Lander Simulation
 Summary

12. Evolutionary Strategies for RL
 Overview
 Problems with GradientBased Methods
 Exercise 12.01: Optimization Using Stochastic Gradient Descent
 Introduction to Genetic Algorithms
 Exercise 12.02: Implementing FixedValue and Uniform Distribution Optimization Using GAs
 Components: Population Creation
 Exercise 12.03: Population Creation
 Components: Parent Selection
 Exercise 12.04: Implementing the Tournament and Roulette Wheel Techniques
 Components: Crossover Application
 Exercise 12.05: Crossover for a New Generation
 Components: Population Mutation
 Exercise 12.06: New Generation Development Using Mutation
 Application to Hyperparameter Selection
 Exercise 12.07: Implementing GA Hyperparameter Optimization for RNN Training
 NEAT and Other Formulations
 Exercise 12.08: XNOR Gate Functionality Using NEAT
 Activity 12.01: CartPole Activity
 Activity 12.01: CartPole Activity
 Summary
 Survey III

13. Recent Advancements and Next Steps
 Overview
 NextGeneration RL – OneShot Learning and Transferable Domain Priors
 Exercise 13.01: Implementing Transfer Learning for Image Recognition
 ModelBased Reinforcement Learning
 Exercise 13.02: Implementing QLearning for the FrozenLakev0 Environment
 Learning from Human Preference
 Exercise 13.03: Demonstration Capture
 Hindsight Experience Replay
 Exercise 13.04: Hindsight Experience Replay Class
 Deep QLearning from Demonstrations
 Exercise 13.05: Class Development of a Deep QLearning Agent from Demonstrations
 Hierarchical Reinforcement Learning
 Exercise 13.06: QTable Update Using Feudal QLearning
 Inverse Reinforcement Learning
 Exercise 13.07: Implementing Inverse Reinforcement Learning for MountainCar
 Cautionary Notes – AI Winter and Superintelligence
 Activity 13.01: Solving MountainCar with Experience Replay DQN
 Activity 13.01: Solving MountainCar with Experience Replay DQN
 Summary
Join Over 85,000 Satisfied Students
Here is what they have to say about Packt workshops:
Amazing
Federico Patito
This course is excelent, with this course you learn a lot of topics and each topic has some exercises that are very u...
Read MoreThis course is excelent, with this course you learn a lot of topics and each topic has some exercises that are very useful.
Read LessVery detailed workshop with good excercises and activites
Ajijul Hakim Abid
Very good indepth workshop in python. Goes over almost every topics but some topics could have a more detailed expla...
Read MoreVery good indepth workshop in python. Goes over almost every topics but some topics could have a more detailed explanation. Would't recommend for someone totally new to programming.
Read LessGreat Introductory Course
mohammad nazeri
This course covers basic Python syntax, how to develop software in python, how to work in a team, and an introduction...
Read MoreThis course covers basic Python syntax, how to develop software in python, how to work in a team, and an introduction to data science and machine learning with Python.
Read LessAn excellent way to learn Python
Juan Alberto Cañero Tamayo
I like the methodology applied to this workshop, it starts from the basic and a good explanation of the subjects plus...
Read MoreI like the methodology applied to this workshop, it starts from the basic and a good explanation of the subjects plus a plenty of examples helps you to understand Python.
Read Less5 Stars for the content !
Mahesh Deshpande
I belong to mechanical background and started leaning any kind of programming in my life with this course. This is to...
Read MoreI belong to mechanical background and started leaning any kind of programming in my life with this course. This is too good for a beginner like me. The content is properly given and exercise and activities are also good. Video explainations help a lot ! The only problem I faced was the kernel busy problem in the Jupyter IDE. Otherwise I found Jupyter most user friendly as compared to other IDEs. Thanks Packt for this course !
Read LessThe most satisfying python workshop i ever attended!
Sanket Gadge
I have attended many python workshops, but this one is really great, the content is super awesome. Actually all the c...
Read MoreI have attended many python workshops, but this one is really great, the content is super awesome. Actually all the courses workshops i ever attended they never taught me (for ex. say logging) everything in python, but this workshop even covers the python from beginner to advanced. With activities included, this workshop made me think more and more rather than just going through the content and reading text and videos. I learned a ton here. Thank you for all the coaches who creating this extra ordinary content.
Read LessDATA SCIENCE Workshop
LALIT JADHAV
This course format and is very easily understandable. Workshop Certificate structure are very wonderful. Thanks a lot...
Read MoreThis course format and is very easily understandable. Workshop Certificate structure are very wonderful. Thanks a lot for Packt👈
Read LessExcellent course !!
Luiz Pellegrini
Very well structured, with good examples and a rational sequence !! An additional feature is that it is updated and d...
Read MoreVery well structured, with good examples and a rational sequence !! An additional feature is that it is updated and designed run on Jupyter Notebooks!!
Read LessCourse content
Edward Amankwah
The course presents a great way to data visualization techniques and it also opens up a lot of opportunities for data...
Read MoreThe course presents a great way to data visualization techniques and it also opens up a lot of opportunities for data scientist to explore their dataset before and after data modelling.
Read LessMany disciplines in Data Visualization
Thomas Hopf
Taking into account Python and therefore Jupyter Notebooks as a "platform" isn't a problem at all, since it's common....
Read MoreTaking into account Python and therefore Jupyter Notebooks as a "platform" isn't a problem at all, since it's common. Setting up by "cloning" a github repository was very easy. The toolboxes for visualization in focus are Matplotlib (famous), Seaborn, Geoplotlib. The order makes sense and in order to get Python basics pandas and numpy are also introduced first. Finally Bokeh is introduced as an interactive tool with no deepdive but explaining the concept and options. At the end there will be a summary. The quizzes are not that easy in my opinion and you really should follow every topic and do the exersices, activities. Thanks for this perfect designed workshop course and the good example datasets. Greetz, Tommy
Read LessSimple and straightforward intro
Geoffrey Letsoalo
The introduction is simple and very informative in terms of estalishing and getting the development environment going...
Read MoreThe introduction is simple and very informative in terms of estalishing and getting the development environment going. Very intuitive!
Read LessDifferent and made for people like me
Muizz Lateef
I have been watching tutorial videos for over 6 months now and not really confident yet, but few minutes into this te...
Read MoreI have been watching tutorial videos for over 6 months now and not really confident yet, but few minutes into this text approach and i am already getting the whole idea
Read LessExcellent Course Overall
Jon Hill
Had some familiarity with Python before starting the course and working through the exercises and activities, certain...
Read MoreHad some familiarity with Python before starting the course and working through the exercises and activities, certainly picked up some things that I had missed before and filled some gaps in my knowledge. Course needs a bit of proofreading as a number of errors sprinkled throughout. Found the Activities needed a little more guidance rather than being vague but worked out in the end. Overall excellent course, especially for those beginning with Python as covers a full spectrum of Python requirements. Many thanks
Read LessReview for the Python Workshop
Samapriya Trivedi
This workshop provides one of the best educative content for the Python available on internet. Got to know a lot abou...
Read MoreThis workshop provides one of the best educative content for the Python available on internet. Got to know a lot about Python and it's working in a very elaborate manner.
Read LessLearning Python is Easier
Jayabalan Ravichandiran
Python concepts and using those in practice , made easier to know about python. Core concepts are explained in detail...
Read MorePython concepts and using those in practice , made easier to know about python. Core concepts are explained in detail . The activities enables to play & know python more than reading through only concepts . The Best of python course is here ....
Read LessReal Python lover... The Packt.
Jonty Rhodes
What can I say this website is very good for beginners. Although this website enhancing my programming experience al...
Read MoreWhat can I say this website is very good for beginners. Although this website enhancing my programming experience also. keep it up. May Allah bless you.
Read LessAttila Sebők's review
Attila Sebők
A Python Workshop kellemes meglepetés volt számomra. Tetszett a tema csoportosítása. Sokat tanultam a Workshopból. Am...
Read MoreA Python Workshop kellemes meglepetés volt számomra. Tetszett a tema csoportosítása. Sokat tanultam a Workshopból. Ami lehetne jobb: naprakész hibajavítás a leckékben és a tesztekben.
Read LessOne of the best place to learn
NAGA SANKARA SAI KARTHIK MUKKU
This workshop course is not a pack of subject but also helps in connecting realworld and also provide widerange of ...
Read MoreThis workshop course is not a pack of subject but also helps in connecting realworld and also provide widerange of concepts which make this workshop stand out of the box
Read LessGreat workshop
Djoko Cahyo Utomo Lieharyani
This workshop gives a provide broad insight into python, more to practical exercises and activities. There are some p...
Read MoreThis workshop gives a provide broad insight into python, more to practical exercises and activities. There are some problems tough, like some wrong script, redundant question, and no clear definition on some part (around 15% of 100% I guess), but the discussion part is helpful, coz sometimes with reading discussion part make some problem clear. My suggestion is to make the workshop perfect by validating the disscussion part.
Read LessExcellent!
Marcos Souza
I was very surprised by the quality of this course. Its well organized, full of examples on the subjects it is teachi...
Read MoreI was very surprised by the quality of this course. Its well organized, full of examples on the subjects it is teaching, relevant quizzes and exercises, and even videos. Its by far the best free course i've ever seen.
Read LessCourse content
Edward Amankwah
A great way to review the length and breath of Python language. It introduces more concepts that can be pursued furth...
Read MoreA great way to review the length and breath of Python language. It introduces more concepts that can be pursued further which I really like, especially for data science.
Read LessGet Verified
Complete The Reinforcement Learning Workshop to unlock your very own Packt certificate.
Take A Step Forward
There has never been a better time to get started with reinforcement learning.

$44.99
$44.99The Reinforcement Learning Workshop
Unlock one year of full, unlimited access!