All Projects → avisingh599 → Reward Learning Rl

avisingh599 / Reward Learning Rl

Licence: other
[RSS 2019] End-to-End Robotic Reinforcement Learning without Reward Engineering

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Reward Learning Rl

Habitat Lab
A modular high-level library to train embodied AI agents across a variety of tasks, environments, and simulators.
Stars: ✭ 587 (+89.35%)
Mutual labels:  robotics, reinforcement-learning, deep-reinforcement-learning
Pytorch Rl
This repository contains model-free deep reinforcement learning algorithms implemented in Pytorch
Stars: ✭ 394 (+27.1%)
Mutual labels:  robotics, reinforcement-learning, deep-reinforcement-learning
Gibsonenv
Gibson Environments: Real-World Perception for Embodied Agents
Stars: ✭ 666 (+114.84%)
Mutual labels:  robotics, reinforcement-learning, deep-reinforcement-learning
Gps
Guided Policy Search
Stars: ✭ 529 (+70.65%)
Mutual labels:  robotics, reinforcement-learning, deep-reinforcement-learning
Gym Gazebo2
gym-gazebo2 is a toolkit for developing and comparing reinforcement learning algorithms using ROS 2 and Gazebo
Stars: ✭ 257 (-17.1%)
Mutual labels:  robotics, reinforcement-learning, deep-reinforcement-learning
Dreamerv2
Mastering Atari with Discrete World Models
Stars: ✭ 287 (-7.42%)
Mutual labels:  robotics, reinforcement-learning
Gymfc
A universal flight control tuning framework
Stars: ✭ 210 (-32.26%)
Mutual labels:  robotics, reinforcement-learning
Deep rl
PyTorch implementations of Deep Reinforcement Learning algorithms (DQN, DDQN, A2C, VPG, TRPO, PPO, DDPG, TD3, SAC, SAC-AEA)
Stars: ✭ 291 (-6.13%)
Mutual labels:  reinforcement-learning, deep-reinforcement-learning
l2r
Open-source reinforcement learning environment for autonomous racing.
Stars: ✭ 38 (-87.74%)
Mutual labels:  robotics, deep-reinforcement-learning
Mjrl
Reinforcement learning algorithms for MuJoCo tasks
Stars: ✭ 162 (-47.74%)
Mutual labels:  robotics, reinforcement-learning
Awesome Real World Rl
Great resources for making Reinforcement Learning work in Real Life situations. Papers,projects and more.
Stars: ✭ 234 (-24.52%)
Mutual labels:  robotics, reinforcement-learning
Gdrl
Grokking Deep Reinforcement Learning
Stars: ✭ 304 (-1.94%)
Mutual labels:  reinforcement-learning, deep-reinforcement-learning
Pytorch Trpo
PyTorch implementation of Trust Region Policy Optimization
Stars: ✭ 303 (-2.26%)
Mutual labels:  reinforcement-learning, deep-reinforcement-learning
Gym Pybullet Drones
PyBullet Gym environments for single and multi-agent reinforcement learning of quadcopter control
Stars: ✭ 168 (-45.81%)
Mutual labels:  robotics, reinforcement-learning
Neural Symbolic Machines
Neural Symbolic Machines is a framework to integrate neural networks and symbolic representations using reinforcement learning, with applications in program synthesis and semantic parsing.
Stars: ✭ 305 (-1.61%)
Mutual labels:  reinforcement-learning, deep-reinforcement-learning
Rl Baselines3 Zoo
A collection of pre-trained RL agents using Stable Baselines3, training and hyperparameter optimization included.
Stars: ✭ 161 (-48.06%)
Mutual labels:  robotics, reinforcement-learning
Object-Goal-Navigation
Pytorch code for NeurIPS-20 Paper "Object Goal Navigation using Goal-Oriented Semantic Exploration"
Stars: ✭ 107 (-65.48%)
Mutual labels:  robotics, deep-reinforcement-learning
Rad
RAD: Reinforcement Learning with Augmented Data
Stars: ✭ 268 (-13.55%)
Mutual labels:  reinforcement-learning, deep-reinforcement-learning
Dreamer
Dream to Control: Learning Behaviors by Latent Imagination
Stars: ✭ 269 (-13.23%)
Mutual labels:  robotics, reinforcement-learning
Drq
DrQ: Data regularized Q
Stars: ✭ 268 (-13.55%)
Mutual labels:  reinforcement-learning, deep-reinforcement-learning

reward-learning-rl

This repository is the official implementation of the following paper:

End-to-End Robotic Reinforcement Learning without Reward Engineering
Avi Singh, Larry Yang, Kristian Hartikainen, Chelsea Finn, Sergey Levine
Robotics: Science and Systems 2019
Website | Video | Arxiv

Visual Draping Visual Pushing Visual Bookshelf

Visual Door Opening Visual Pusher Visual Picker

We propose a method for end-to-end learning of robotic skills in the real world using deep reinforcement learning. We learn these policies directly on pixel observations, and we do so without any hand-engineered or task-specific reward functions, and instead learn the rewards for such tasks from a small number of user-provided goal examples (around 80), followed by a modest number of active queries (around 25-75).

This implementation is based on softlearning.

Getting Started

Prerequisites

The environment can be run either locally using conda or inside a docker container. For conda installation, you need to have Conda installed. For docker installation you will need to have Docker and Docker Compose installed. Also, most of our environments currently require a MuJoCo license.

Conda Installation

  1. Download and install MuJoCo 1.50 from the MuJoCo website. We assume that the MuJoCo files are extracted to the default location (~/.mujoco/mjpro150).

  2. Copy your MuJoCo license key (mjkey.txt) to ~/.mujoco/mjkey.txt:

  3. Clone reward-learning-rl

git clone https://github.com/avisingh599/reward-learning-rl.git ${REWARD_LEARNING_PATH}
  1. Create and activate conda environment, install softlearning to enable command line interface.
cd ${REWARD_LEARNING_PATH}
conda env create -f environment.yml
conda activate softlearning
pip install -e ${REWARD_LEARNING_PATH}

The environment should be ready to run. See examples section for examples of how to train and simulate the agents.

Finally, to deactivate and remove the conda environment:

conda deactivate
conda remove --name softlearning --all

Docker Installation

docker-compose

To build the image and run the container:

export MJKEY="$(cat ~/.mujoco/mjkey.txt)" \
    && docker-compose \
        -f ./docker/docker-compose.dev.gpu.yml \
        up \
        -d \
        --force-recreate

You can access the container with the typical Docker exec-command, i.e.

docker exec -it softlearning bash

See examples section for examples of how to train and simulate the agents.

Finally, to clean up the docker setup:

docker-compose \
    -f ./docker/docker-compose.dev.gpu.yml \
    down \
    --rmi all \
    --volumes

Examples

Training an agent

softlearning run_example_local examples.classifier_rl \
--n_goal_examples 10 \
--task=Image48SawyerDoorPullHookEnv-v0 \
--algorithm VICERAQ \
--num-samples 5 \
--n_epochs 300 \
--active_query_frequency 10

The tasks used in the paper were Image48SawyerPushForwardEnv-v0, Image48SawyerDoorPullHookEnv-v0 and Image48SawyerPickAndPlace3DEnv-v0. For the algorithm, you can experiment with VICERAQ, VICE, RAQ, SACClassifier, and SAC. The --num-samples flag specifies the number of random seeds launched. All results in the paper were averaged across five random seeds. The hyperparameters are stored in examples/classifier_rl/variants.py.

examples.classifier_rl.main contains several different environments. For more information about the agents and configurations, run the scripts with --help flag: python ./examples/classifier_rl/main.py --help.

Version history

v0.1

  • This version contains the code to reproduce the results in Singh et al, RSS 2019.

Citation

If this codebase helps you in your academic research, you are encouraged to cite our paper. Here is an example bibtex:

@article{singh2019,
  title={End-to-End Robotic Reinforcement Learning without Reward Engineering},
  author={Avi Singh and Larry Yang and Kristian Hartikainen and Chelsea Finn and Sergey Levine},
  journal={Robotics: Science and Systems},
  year={2019}
}

If you mainly use the VICE algorithm implemented here, you should also cite:

@article{fu2018,
  title={Variational Inverse Control with Events: A General Framework for Data-Driven Reward Definition},
  author={Justin Fu and Avi Singh and Dibya Ghosh and Larry Yang and Sergey Levine},
  journal={Neural Information Processing Systems},
  year={2018}
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].