
Abstract: Reinforcement learning (RL) is gaining traction as a complementary approach to supervised learning for applications from recommender systems to games to production planning. This has been partly due to the ability of new simulators to run code in parallel, thus speeding up training times.
This course will teach you how to create a Reinforcement learning Recommender System using open-source Ray RLlib (http://rllib.io/), a RL library with a proven track record for solving real-life industry problems at scale. We will review the basics of Reinforcement Learning and different industrial RL use cases. Then you will learn how to create an environment using OpenAI Gym, and RLlib to train RL models. For experiments to tune your RL model, you will learn how to use Ray Tune. Using Python decorators and futures, you will learn how to deploy your RL model using Ray Serve.
Using Colab notebooks, we will combine theoretical concepts of RL with practical exercises. You will leave with a complete, working example of parallelized Python RL code using Ray RLlib on a GitHub repo.
Learning objectives. In this course, you will:
* Learn the essentials of Reinforcement Learning theory
* Understand RLlib architecture and APIs on top of either PyTorch or TF2
* Create and customize a RLlib environment using OpenAi Gym API
* Train a RL algorithm with RLlib, Checkpoint, Save, Load, and Retrain the policy
* Use Python decorators to Deploy and Serve the trained RL model using Ray Serve
* Hyperparameter Tune a RLlib algorithm using Ray Tune
Outline
Intro RLlib and RL concepts
* RLlib fun example for a game
* RL essential concepts
* 2 notebook exercises
Build your first RL Recommender System
* Create a Recommender environment (from this research paper)
* Train a RL algorithm (from this research paper)
* 2 notebook exercises
Bonus Advanced topics
* Tuning
* Serve and deploy your RL model
* 2 notebooks
Bio: Kourosh Hakhamaneshi is a Reinforcement Learning Engineer on the Ray RLlib team at Anyscale. Prior to joining Anyscale, Kourosh was a PhD, EECS student at Berkeley AI Research working on machine learning, especially in reinforcement learning, unsupervised learning, and their applications in robotics and automated design. He was co-advised by Pieter Abbeel and Vladimir Stojanovic

Kourosh Hakhamaneshi
Title
Software Engineer | Anyscale
