• Stars
    star
    429
  • Rank 100,618 (Top 2 %)
  • Language
    Python
  • Created about 6 years ago
  • Updated about 2 years ago

Reviews

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

Repository Details

Implementation of benchmark RL algorithms

Reinforcement-Implementation

This project aims to reproduce the results of several model-free RL algorithms in continuous action domain (mujuco environment).

This projects

  • uses pytorch package
  • implements different algorithms independently in seperate files / minimal files
  • is written in simplest style
  • tries to follow the original paper and reproduce their results

My first stage of work is to reproduce this figure in the PPO paper.

  • A2C
  • ACER (A2C + Trust Region): It seems that this implementation has some problems ... (welcome bug report)
  • CEM
  • TRPO (TRPO single path)
  • PPO (PPO clip)
  • Vanilla PG

On the next stage, I want to implement

Then next stage, discrete action space problem and raw video input (Atari) problems:

  • Rainbow: DQN and relevant techniques (target network / double Q-learning / prioritized experience replay / dueling network structure / distributional RL)
  • PPO with random network distillation (RND)

Rainbow on Atari with only 3M: It works but may need further tuning.

And then model-based algorithms (not planned)

  • PILCO
  • PE-TS

TODOs:

  • change the way reward counts, current way may underestimate the reward (evaluate a deterministic model rather a stochastic/exploratory model)

PPO Implementation

PPO implementation is of high quality - matches the performance of openai.baselines.

Update

Recently, I added Rainbow and DQN. The Rainbow implementation is of high quality on Atari games - enough for you to modify and write your own research paper. The DQN implementation is a minimum workaround and reaches a good performance on MountainCar (which is a simple task but many codes on Github do not achieve good performance or need additional reward/environment engineering). This is enough for you to have a fast test of your research ideas.