Reinforcement Learning: An Introduction (2018)
incompleteideas.net
incompleteideas.net
The book referenced here (the "Sutton and Barto book") covers the basics. If you like more, or more recent texts, consider these (mostly available for free):
Multi-Agent Reinforcement Learning: Foundations and Modern Approaches, 2024, https://www.marl-book.com/
Distributional Reinforcement Learning, 2023, https://www.distributional-rl.org/
Deep Reinforcement Learning, 2022, https://deep-reinforcement-learning.net/
Reinforcement Learning: An Introduction (2018) [pdf] - https://news.ycombinator.com/item?id=19191746 - Feb 2019 (23 comments)
Reinforcement Learning: An Introduction, Second Edition - https://news.ycombinator.com/item?id=18547998 - Nov 2018 (6 comments)
New Draft of “Reinforcement Learning: An Introduction, Second Edition” - https://news.ycombinator.com/item?id=12568414 - Sept 2016 (33 comments)
Reinforcement Learning: An Introduction - https://news.ycombinator.com/item?id=1083662 - Jan 2010 (4 comments)
"You’ll see that fast.ai’s way of teaching is very different to what you might be used to, if you did a technical degree at university. Nearly all technical subjects at university are taught “bottom up”: start with basic foundations, and gradually work up to complete useful solutions to real world problems. But we go “top down”: start with complete useful solutions to real world problems, and gradually work down to the basic foundations. Education experts recommend this approach for more effective learning."
If you I'd combine it with e.g. https://spinningup.openai.com/en/latest/ or doing some toy projects with https://stable-baselines3.readthedocs.io/en/master/ it would probably render the most value.
I do feel like there are a lot of things that aren't fully explained in this book, and maybe it is expected that the reader has some prior knowledge that I didn't have. For example, they never really explain the basic notation for backup diagrams. They just show one and mention that they are a thing. The mathematical notation they use also isn't really explained - they just start showing formulas of increasing complexity. It's possible to look these things up elsewhere, but they probably could have spent just a little bit more time explaining some of the basics and made it easier to follow.
The courses do build upon each other. You could do just the first course and get a good overview of RL without diving into the details, but I don't think you could start midway through the specialization.
I would also suggest looking at the Hugging Face Deep Reinforcement Learning course. That one is very different (focused more on application than diving deep into the theory), but it's taught by a non-academic and really tries to explain the concepts in a way that is approachable to most programmers.
Deep Reinforcement Learning
Nanodegree Program
https://www.udacity.com/course/deep-reinforcement-learning-n...
The big problem I found with this field is that the core ideas are very subtly built on top of each other. Without a proper teacher or an environment to study, self-study is much much harder.
(Past chapter 5, it should be a breeze as the foundation would have been strongly set)