• Stars
    star
    439
  • Rank 99,247 (Top 2 %)
  • Language
    Python
  • Created almost 7 years ago
  • Updated over 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

This repository contains model-free deep reinforcement learning algorithms implemented in Pytorch

Deep Reinforcement Learning in Pytorch

This repository contains all standard model-free and model-based(coming) RL algorithms in Pytorch. (May also contain some research ideas I am working on currently)

For C++ version of Pytorch-RL : Pytorch-RL-CPP

What is it?

pytorch-rl implements some state-of-the art deep reinforcement learning algorithms in Pytorch, especially those concerned with continuous action spaces. You can train your algorithm efficiently either on CPU or GPU. Furthermore, pytorch-rl works with OpenAI Gym out of the box. This means that evaluating and playing around with different algorithms is easy. Of course you can extend pytorch-rl according to your own needs. TL:DR : pytorch-rl makes it really easy to run state-of-the-art deep reinforcement learning algorithms.

Installation

Install Pytorch-rl from Pypi (recommended):

pip install pytorch-policy

Dependencies

  1. Pytorch
  2. Gym (OpenAI)
  3. mujoco-py (For the physics simulation and the robotics env in gym)
  4. Pybullet (Coming Soon)
  5. MPI (Only supported with mpi backend Pytorch installation)
  6. Tensorboardx (https://github.com/lanpa/tensorboardX)

RL algorithms

  1. DQN (with Double Q learning)
  2. DDPG
  3. DDPG with HER (For the OpenAI Fetch Environments)
  4. Heirarchical Reinforcement Learning
  5. Prioritized Experience Replay + DDPG
  6. DDPG with Prioritized Hindsight experience replay (Research)
  7. Neural Map with A3C (Coming Soon)
  8. Rainbow DQN (Coming Soon)
  9. PPO (https://github.com/ikostrikov/pytorch-a2c-ppo-acktr)
  10. HER with self attention for goal substitution (Research)
  11. A3C (Coming Soon)
  12. ACER (Coming Soon)
  13. DARLA
  14. TDM
  15. World Models
  16. Soft Actor-Critic
  17. Empowerment driven Exploration (Tensorflow implementation : https://github.com/navneet-nmk/Empowerment-driven-Exploration)

Environments

  1. Breakout
  2. Pong (coming soon)
  3. Hand Manipulation Robotic Task
  4. Fetch-Reach Robotic Task
  5. Hand-Reach Robotic Task
  6. Block Manipulation Robotic Task
  7. Montezuma's Revenge (Current Research)
  8. Pitfall
  9. Gravitar
  10. CarRacing
  11. Super Mario Bros (Follow instructions to install gym-retro https://github.com/openai/retro)
  12. OpenSim Prosthetics Nips Challenge (https://www.crowdai.org/challenges/nips-2018-ai-for-prosthetics-challenge)

Environment Modelling (For exploration and domain adaptation)

Multiple GAN training tricks have been used because of the instability in training the generators and discriminators. Please refer to https://github.com/soumith/ganhacks for more information.

Even after using the tricks, it was really hard to train a GAN to convergence. However, after using Spectral Normalization (https://arxiv.org/abs/1802.05957) the infogan was trained to convergence.

For image to image translation tasks with GANs and for VAEs in general, training with Skip Connection really helps the training.

  1. beta-VAE
  2. InfoGAN
  3. CVAE-GAN
  4. Flow based generative models (Research)
  5. SAGAN
  6. Sequential Attend, Infer, Repeat
  7. Curiosity driven exploration
  8. Parameter Space Noise for Exploration
  9. Noisy Network

References

  1. Playing Atari with Deep Reinforcement Learning, Mnih et al., 2013
  2. Human-level control through deep reinforcement learning, Mnih et al., 2015
  3. Deep Reinforcement Learning with Double Q-learning, van Hasselt et al., 2015
  4. Continuous control with deep reinforcement learning, Lillicrap et al., 2015
  5. CVAE-GAN: Fine-Grained Image Generation through Asymmetric Training, Bao et al., 2017
  6. beta-VAE: Learning Basic Visual Concepts with a Constrained Variational Framework, Higgins et al., 2017
  7. Hindsight Experience Replay, Andrychowicz et al., 2017
  8. InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets, Chen et al., 2016
  9. World Models, Ha et al., 2018
  10. Spectral Normalization for Generative Adversarial Networks, Miyato et al., 2018
  11. Self-Attention Generative Adversarial Networks, Zhang et al., 2018
  12. Curiosity-driven Exploration by Self-supervised Prediction, Pathak et al., 2017
  13. Soft Actor-Critic: Off-Policy Maximum Entropy Deep Reinforcement Learning with a Stochastic Actor, Haarnoja et al., 2018
  14. Parameter Space Noise for Exploration, Plappert et al., 2018
  15. Noisy Network for Exploration, Fortunato et al., 2018
  16. Proximal Policy Optimization Algorithms, Schulman et al., 2017
  17. Unsupervised Real-Time Control through Variational Empowerment, Karl et al., 2017
  18. Mutual Information Neural Estimation, Belghazi et al., 2018
  19. Empowerment-driven Exploration using Mutual Information Estimation, Kumar et al., 2018

More Repositories

1

Pytorch-RL-CPP

A Repository with C++ implementations of Reinforcement Learning Algorithms (Pytorch)
C++
81
star
2

Hierarchical-Meta-Reinforcement-Learning

This repository contains the implementation for the paper - Exploration via Hierarchical Meta Reinforcement Learning.
Python
57
star
3

Probabilisitc-Pytorch

Deep Probabilistic Programming Examples in Pytorch using pyro
Jupyter Notebook
12
star
4

Empowerment-driven-Exploration

Tensorflow implementation for Empowerment driven Exploration using Mutual Information Estimation
Python
7
star
5

Paper-Implementations

Pytorch implementations of popular Deep Learning papers
Jupyter Notebook
5
star
6

Capsnet

The repository contains the Pytorch implementation of the Capsnet Paper
Python
3
star
7

pytorch-transformer

Implementation of Attention is all you need Transformer in Pytorch
Python
2
star
8

Model-Agnostic-Variational-Exploration

This repository contains the implementation for Model Agnostic Variational Exploration.
Python
2
star
9

Machine-Learning-Prep

Repository consisting of Machine Learning Interview Preparation Material
Jupyter Notebook
1
star
10

Edukate

Edikate is a social network for students and teachers , similar to quora.
Java
1
star
11

Deep-Reinforcement-Learning-Pytorch

Pytorch implementation of popular Deep Reinforcement Learning Algorithms.
Jupyter Notebook
1
star
12

Attention-is-all-you-need

Pyorch Implementation of Attention is all you need
Python
1
star
13

Disentangled-Map

This repository contains the code for the implementation of the disentangled map representation in pytorch.
Python
1
star
14

Traduire

Traduire is an OCR android application that recognizes text in images ( using Tesseract library) and translates the same into desired language.
Java
1
star