Introduction
Reinforcement learning is quite different from other machine learning paradigms because it requires an environment to train your agent and not some dataset. You would have seen examples of reinforcement learning agents playing games, where it explores the gaming environment until it learns how to maximize its gaming rewards. Not all reinforcement learning environments need to be in the context of the game, the environment can be any real world simulation or problem so that you can train your agent on it.
- Also Read – 7 Reinforcement Learning GitHub Repositories To Give You Project Ideas
- Also Read – 8 Real-World Applications of Reinforcement Learning
But creating an environment for your agent is no easy task and if you are just a hobbyist it is unfeasible to first learn other technologies and skill to create environments and then train your agent. This is why there are many platforms available that provide different types of readily available environments for reinforcement learning. You would have perhaps heard about just a few reinforcement learning environment platforms like OpenAI Gym. But there are many other platforms which you would not have heard of that provide all types of simple to advance real-world simulated environments. Let us explore these reinforcement learning environment platforms.
Reinforcement Learning Environment Platforms
1. OpenAI Gym
OpenAI Gym provides a collection of reinforcement learning environments that can be used for the development of reinforcement learning algorithms. It is open-source hence can be accessed for free and has a wide variety of environments for games, control problems, building algorithms, control tasks, robotics, text games, etc. Earlier OpenAI Gym had implemented projects on deep learning frameworks like TensorFlow and Theano but recently they announced that they are now standardizing its deep learning framework with PyTorch.
Click here for OpenAI Gym Github Repository.
2. Tensor Trade (Trading)
Tensor Trade is an open-source python framework that uses deep reinforcement learning for training, evaluation, and deployment of trading strategies. This platform is used for building complex investment strategies that can be run across HPC machines distribution. Tensor Trade has been built in such that it can be highly composable and extensible.
In the background, Tensor Trade utilizes several APIs of different machine learning libraries that help in maintaining learning models and data pipelines. Tensor Trade facilitates faster experimentation strategies with algorithmic trading. Tensor Trade can work with machine learning libraries like Numpy, Pandas, Gym, Keras, and TensorFlow.
Click here for Tensor Trade Github Repository.
3. VIZDoom (Game)
VIZDoom lets you create an RL agent to play the well-known and beloved Doom. VIZDoom can be used on multiple platforms and is compatible with languages like Python, C++, Lua, Java, and Julia. It is lightweight, fast, easily customizable for resolution, and rendering attributes.
Click here for VIZDoom Github Repository.
4. Deepmind OpenSpiel (Game)
DeepMind’s open-source platform, OpenSpiel is a diverse set of environments and algorithms that focuses on research in the implementation of reinforcement learning with games that involve search and planning. It supports n-player (single- and multi-agent) zero-sum, cooperative and general-sum, one-shot and sequential, strictly turn-taking and simultaneous-move, perfect and imperfect information games, as well as traditional multiagent environments such as (partially- and fully- observable) grid worlds and social dilemmas. OpenSpiel also offers several tools for understanding the dynamics and different evaluation metrics used in reinforcement learning. It supports languages like C++, Python, and to some extent Swift as well.
Click here for OpenSpiel Github Repository.
[adrotate banner=”3″]
5. Ns3 Gym (Networking)
Ns3 is a Network Simulator that helps in the understanding of networking protocols and technologies used for communication purposes. Ns3 Gym combines NS3 with OpenAI Gym for training reinforcement learning agents in solving networking problems. The Ns3 environment is compatible with Python and C++ languages.
Click here for Ns3 Gym Github Repository.
6. Reco Gym (Recommender System)
Reco Gym is a reinforcement learning platform built on top of the OpenAI Gym that helps you create recommendation systems primarily for advertising for e-commerce using traffic patterns. This reinforcement learning environment uses multi-armed bandit problems for this purpose and supports Python language.
Click here for Reco Gym Github Repository.
7. OpenSim (Biomechanics)
OpenSim is another innovative reinforcement learning environment that can be used for designing AI-powered controllers to achieve various kinds of locomotion tasks. OpenSim has been built by Stanford University, developers test their skills through this environment. OpenSim mainly helps in biomechanics with three different types of environments, namely a simplified arm movement, learn to run, and leg prosthetics.
Click here for OpenSim Github Repository.
8. Text World (Text Game)
TextWorld, an open-source engine built by Microsoft, is beneficial in generating and simulating text games. With the help of reinforcement learning, we can train agents to learn language understanding and grounding along with decision-making ability. It currently supports only Linux and MacOs however Windows users can make use of docker image.
Click here for TextWorld Github Repository.
9. AirSim (Autonomous Vehicle)
AirSim combines the powers of reinforcement learning, deep learning, and computer vision for building algorithms that are used for autonomous vehicles. It simulates autonomous vehicles such as drones, cars, etc. AirSim is an open-source platform that has been developed by Unreal Engine Environment that can be used with a Unity plugin and its APIs are accessible through C++, C#, Python, and Java. Another interesting thing is that it has compatibility with hardware flight controllers like PX4 for a realistic physical and virtual experience.
Click here for AirSim Github Repository.
10. Project Malmo (Minecraft)
Project Malmo is an OpenAI gym like platform built over Minecraft, aimed for boosting research in Artificial Intelligence. This project is initiated by Microsoft to perform intensive research in the fields of reinforcement learning where RL agent can perform tasks like walking, treasure hunting, building complex structures with intricate features. It supports Windows, Linux, MacOSx, and has compatibility with Python, C#, C++, and Java.
Click here for Project Malmo Github Repository.
11. AI Safety Gridworlds
AI Safety Gridworlds is a suite of environments used for depicting safety features of intelligent agents. Its environments are based on Markov Decision Processes and consist of 10×10 that can be customized as per the required simulation. Through this platform, we can work in the direction of identifying AI safety problems for specific scenarios. Only Python language is currently supported by AI Safety Gridworlds.
Click here for AI Safety Gridworlds Github Repository.
12. AWS DeepRacer (Autonomous Vehicles)
AWS DeepRacer is a cloud-based 3D racing environment for reinforcement learning where you have to train an actual fully autonomous 1/18th scale racer car that has to be purchased separately. There are virtual and physical leagues that are officially hosted by AWS for DeepRacer for competition. DeepRacer enthusiasts have grown into their own community now.
Click here to know more about AWS DeepRacer
13. DeepMind Control Suite
DeepMind Control Suite is another reinforcement learning environment by DeepMind, that consists of physics-based simulations for RL agents. It consists of all the necessary components such as standard structure for task control and rewards that can be inferred by agents. It uses Python as the main language and for physical movements, MuJoCo is used.
Click here for DeepMind Control Suite Github Repository.
14. DeepMind Lab
Google’s Deepmind Lab is a platform that helps in general artificial intelligence research by providing 3-D reinforcement learning environments and agents. It throws many challenging navigation based environments that are quite challenging for agents. DeepMind Lab provides a Python based API using which developers can interact with reinforcement learning agents.
Click here for DeepMind Lab Github Repository.
15. ReAgent
ReAgent is Facebook’s end-to-end reinforcement learning platform that is open-source and helps in building products and services for large-scale. The aim of this platform is to spread awareness about how Reinforcement learning can be used in production as well as research. consists of various workflows for simulating RL environments, along with this there is a distributed platform that enables preprocessing, training, and model export in production.
Click here for ReAgent Github Repository.
16. Deepmind PySC2 (StarCraft II Learning Environment)
StarCraft II Learning Environment is a Python component of DeepMind, used for python-based RL environment development. With the help of PySC2, an interface for agents is provided, this helps in interaction with StarCraft2 and also in obtaining observations with actions.
Click here for PySC2 Github Repository.
- Also Read – 7 Reinforcement Learning GitHub Repositories To Give You Project Ideas
- Also Read – 8 Real-World Applications of Reinforcement Learning
- Also Read – Basic Understanding of Environment and its Types in Reinforcement Learning
- Also Read – Top 20 Reinforcement Learning Libraries You Should Know
Conclusion
In this article, we went over some of the most useful platforms that provide reinforcement learning environments for building several types of applications. We also looked at how they can be used in different ways and the examples that have been built using them.
-
I am Palash Sharma, an undergraduate student who loves to explore and garner in-depth knowledge in the fields like Artificial Intelligence and Machine Learning. I am captivated by the wonders these fields have produced with their novel implementations. With this, I have a desire to share my knowledge with others in all my capacity.
View all posts