This is a PyTorch implementation of the methods proposed in
Automatic Data Augmentation for Generalization in Deep Reinforcement Learning by
Roberta Raileanu, Max Goldstein, Denis Yarats, Ilya Kostrikov, and Rob Fergus.
If you use this code in your own work, please cite our paper:
@article{raileanu2020automatic,
title={Automatic Data Augmentation for Generalization in Deep Reinforcement Learning},
author={Raileanu, Roberta and Goldstein, Max and Yarats, Denis and Kostrikov, Ilya and Fergus, Rob},
journal={arXiv preprint arXiv:2006.12862},
year={2020}
}
The code was run on a GPU with CUDA 10.2. To install all the required dependencies:
conda create -n auto-drac python=3.7
conda activate auto-drac
git clone git@github.com:rraileanu/auto-drac.git
cd auto-drac
pip install -r requirements.txt
git clone https://github.com/openai/baselines.git
cd baselines
python setup.py install
pip install procgen
cd auto-drac
python train.py --env_name bigfish --aug_type crop
python train.py --env_name bigfish --use_ucb
python train.py --env_name bigfish --use_rl2
python train.py --env_name bigfish --use_meta
UCB-DrAC achieves state-of-the-art performance on the Procgen benchmark (easy mode), significantly improving the agent's generalization ability over standard RL methods such as PPO.
Test Results on Procgen
Train Results on Procgen
You can find some videos of the agent's behavior while training on our website.
This code was based on an open sourced PyTorch implementation of PPO.
We also used kornia for some of the augmentations.