8+ Reinforcement Learning Project Ideas
Looking for a way to get practical, hands-on experience with reinforcement learning? Here are some project ideas to inspire you.
This blog post is a compilation of reinforcement learning (RL) project ideas to check out. I've tried to select projects covering a range of different difficulties, concepts, and algorithms in RL.
1. Solve toy problems with OpenAI Gym (beginner-friendly)
OpenAI Gym has become the de facto standard for reinforcement learning frameworks among researchers and practitioners. Solving toy problems from the gym library will help familiarize you with this popular framework. Good starting points include Cartpole, Lunar Lander and Taxi.
If you're interested in a step-by-step walkthrough, check out our introductory Q-learning tutorial with Taxi.
2. Play Atari games from pixel input with OpenAI Gym
OpenAI Gym also contains a suite of Atari game environments as part of its Arcade Learning Environment (ALE) framework. Examples include Breakout, Montezuma Revenge, and Space Invaders. Environment observations are available in the form of screen input or RAM (direct observation of the Atari 2600's 1024 bits of memory).
Additional resources:
- Jupyter notebook tutorial for Space Invaders by Thomas Simonini
3. Simulate control tasks with PyBullet
Gym provides a library of continuous physics simulations in the form of its MuJoCo environments. Since MuJoCo requires a paid license, I recommend checking out PyBullet as a free open-source alternative. Using PyBullet/MuJoCo, you can teach a variety of robots to walk, run, or swim.
4. Create your own reinforcement learning environment with Unity ML-Agents (beginner-friendly)
Unity ML-Agents is a relatively new add-on to the Unity game engine. It allows game developers to train intelligent NPCs for games and enables researchers to create graphics- and physics-rich RL environments. Project ideas to explore include:
- Experimenting with algorithms like PPO, SAC, GAIL, and Self-Play provided out-of-the-box
- Training agents in a library of 18+ environments including Dodgeball, Soccer, and classic control problems
- Creating your own custom 3D RL environment
Additional resources:
5. Race self-driving cars with AWS DeepRacer (beginner-friendly)
AWS DeepRacer is a 3D racing simulator designed to help developers get started with RL using Amazon SageMaker. You'll need to pay for training and evaluating your model on AWS. It features monthly competitive races as part of the AWS DeepRacer league, which awards prizes and the chance to compete at re:Invent.
DeepRacer also gives you the option of purchasing a physical 1/18th scale race car for USD399 that will allow you to deploy your model in the real-world.
Some other open-source projects relating to autonomous driving to check out:
6. Mine diamonds in Minecraft with MineRL
MineRL contains an imitation learning dataset of over 60 million frames of recorded human player data in Minecraft. The goal is to train agents that can navigate an open world and overcome inherent challenges such as tasks with lots of hierarchy and sparse rewards.
MineRL is currently running two competition tracks as part of NeurIPS 2021:
- Diamond: Obtain a diamond provided a fixed limit of raw pixel sample data and time training
- BASALT: Solve almost-lifelike tasks (e.g. build a house, search for a cave)
7. Join the community at AIArena building agents for StarCraft II
If you're looking to train agents to play highly complex mainstream games, you should check out AIArena. They run regular streams and ladders for a community of researchers, practitioners, and hobbyists building deep learning agents for StarCraft II.
Some other games with RL frameworks you might be interested in:
8. Build a Chess Bot with OpenSpiel
OpenSpiel by DeepMind is worth taking a look at if you've been inspired by programs like StockFish or AlphaGo. It contains a collection of environments and algorithms for general RL and planning/search in a variety of games including Chess, Go, Backgammon, and more.
Bonus ideas
Here are some additional project ideas that are also worth checking out:
- Predict stock prices with TensorTrade
- Train cooperative agents with PettingZoo
- Build a Poker bot with RLCard
- Join an AI Programming competition
Closing remarks
There's a huge range of exciting projects to explore in reinforcement learning. This list is by no means comprehensive, but I hope it's given you some inspiration for your own RL project!