goodrahstar /
my-awesome-AI-bookmarks
Curated list of my reads, implementations and core concepts of Artificial Intelligence, Deep Learning, Machine Learning by best folk in the world.
Loading repository data…
natetsang / repository
Implementations of a large collection of reinforcement learning algorithms.
Open RL is code repository that contains minimalistic implementations of a wide collection of reinforcement learning algorithms. The purpose of this repo is to make RL more approachable and easier to learn. As such, code in this repo is optimized for readability and consistency between algorithms.
Compared to machine learning, RL is still rather niche. As such, finding resources for learning
RL is a bit more difficult. While implementations broadly exist for two algorithms, Q-networks and vanilla policy gradients,
it's much more difficult to find easy-to-follow implementations of others.
For many of the algorithms implemented here, no simple implementations appear to exist whatsoever.
Interestingly, it's not just state-of-the-art algorithms that haven't been re-implemented in an easy-to-follow way.
It's also hard to find clear implementations of foundational algorithms like multi-armed bandits.
It's for these reasons why open-rl was created! Happy learning!
In this repo you will find implementations for the following algorithms.
| Discrete | Continuous | |
|---|---|---|
| REINFORCE | :heavy_check_mark: | :heavy_multiplication_x: |
| REINFORCE w/ baseline | :heavy_check_mark: | :heavy_multiplication_x: |
| VPG | :heavy_check_mark: | :heavy_check_mark: |
| Discrete | Continuous | |
|---|---|---|
| DQN | :heavy_check_mark: | :heavy_multiplication_x: |
| Double DQN | :heavy_check_mark: | :heavy_multiplication_x: |
| Dueling DQN | :heavy_check_mark: | :heavy_multiplication_x: |
| DRQN (for POMDPs) | :heavy_check_mark: | :heavy_multiplication_x: |
| Discrete | Continuous | |
|---|---|---|
| A2C | :heavy_check_mark: | :heavy_multiplication_x: |
| A3C | :heavy_check_mark: | :heavy_multiplication_x: |
| DDPG | :heavy_multiplication_x: | :heavy_check_mark: |
| TD3 | :heavy_multiplication_x: | :heavy_check_mark: |
| SAC | :heavy_multiplication_x: | :heavy_check_mark: |
| PPO | :heavy_multiplication_x: | :heavy_check_mark: |
| Discrete | Continuous | |
|---|---|---|
| Pure Exploration | :heavy_check_mark: | :heavy_multiplication_x: |
| Epsilon Greedy | :heavy_check_mark: | :heavy_multiplication_x: |
| Thompson Sampling - Bernoulli | :heavy_check_mark: | :heavy_multiplication_x: |
| Thompson Sampling - Gaussian | :heavy_check_mark: | :heavy_multiplication_x: |
| Upper Confidence Bounds (UCB) | :heavy_check_mark: | :heavy_multiplication_x: |
| Discrete | Continuous | |
|---|---|---|
| Linear UCB | :heavy_check_mark: | :heavy_multiplication_x: |
| Linear Thompson Sampling | :heavy_multiplication_x: | :heavy_multiplication_x: |
| Neural-network approach | :heavy_check_mark: | :heavy_multiplication_x: |
| Discrete | Continuous | |
|---|---|---|
| Dyna-Q | :heavy_check_mark: | :heavy_multiplication_x: |
| Deep Dyna-Q | :heavy_check_mark: | :heavy_multiplication_x: |
| Monte-Carlo Tree Search (MCTS) | :heavy_check_mark: | :heavy_multiplication_x: |
| MB + Model Predictive Control | :heavy_multiplication_x: | :heavy_check_mark: |
| Model-Based Policy Opitmization (MBPO) | :heavy_multiplication_x: | :heavy_check_mark: |
| Discrete | Continuous | |
|---|---|---|
| Conservative Q-learning (CQL) | :heavy_check_mark: | :heavy_multiplication_x: |
| Model-Based Offline Reinforcement Learning (MOReL) | :heavy_check_mark: | :heavy_multiplication_x: |
| Model-Based Offline Policy Optimization (MOPO) | :heavy_multiplication_x: | :heavy_check_mark: |
| Discrete | Continuous | |
|---|---|---|
| Behavioral Cloning | :heavy_check_mark: | :heavy_multiplication_x: |
| Imitation Learning | :heavy_check_mark: | :heavy_multiplication_x: |
# Clone repo from github
git clone --depth 1 https://github.com/natetsang/open-rl
# Navigate to root folder
cd open-rl
virtualenv but there are other options too!# If not already installed, you might need to run this next line
pip install virtualenv
# Create virtual environment called 'venv' in the root of the project
virtualenv venv
# Activate environment
venv\Scripts\activate
pip install -r requirements.txt
If you're interested in contributing to open-rl, please fork the repo and make a pull request. Any support
is much appreciated!
If you use this code, please cite it as follows:
@misc{Open-RL,
author = {Tsang, Nate},
title = {{Open-RL: Minimalistic implementations of reinforcment learning algorithms}},
url = {https://github.com/natetsang/open-rl},
year = {2021}
}
This repo would not be possible without the following (tremendous) resources, which were relied upon heavily when learning RL. I highly recommend going through these to learn more.
Selected from shared topics, language and repository description—not editorial ratings.
goodrahstar /
Curated list of my reads, implementations and core concepts of Artificial Intelligence, Deep Learning, Machine Learning by best folk in the world.
Tzohar /
World's most accurate password guessing AI tool. A PyTorch implementation of PassLLM (USENIX 2025) that leverages PII and LoRA fine-tuning to outperform existing tools by over 45% on consumer hardware.
mirzayasirabdullahbaig07 /
This repository documents my full journey of mastering Artificial Intelligence, from the ground up. It includes structured learning resources, Python libraries, core Machine Learning and Deep Learning concepts, hands-on projects, and real-world implementations. Perfect for learners aiming to go
dennishnf /
This repository describes the implementation of an unsupervised anomaly detector using the Anomalib library.
armughan03 /
In this project artificial intelligence and machine learning techniques are applied innovatively to an ecommerce website introducing a new perspective to online shopping with artificial agents. This project presents an aspect of negotiating and bargaining online and features a bargain-based e-commerce website, where chatbot act as a shopkeeper and can negotiate the price of the product with a customer and a content-based recommendation system that recommends similar products based on product attributes and description rather than on likings and ratings of customer. The chatbot is developed using deep learning algorithms combined with the natural language processing techniques and recommendation system is developed using natural language processing algorithms. This project is implemented using modern tools and technologies Python, Flask and Machine learning libraries Scikit-Learn and Keras.
aminkhani /
You can see a reference for Books, Articles, Courses and Educational Materials in this field. Implementation of Reinforcement Learning Algorithms and Environments. Python, OpenAI Gym, Tensorflow.