Automatic Data Augmentation for Generalization in Deep Reinforcement Learning
About
Deep reinforcement learning (RL) agents often fail to generalize to unseen scenarios, even when they are trained on many instances of semantically similar environments. Data augmentation has recently been shown to improve the sample efficiency and generalization of RL agents. However, different tasks tend to benefit from different kinds of data augmentation. In this paper, we compare three approaches for automatically finding an appropriate augmentation. These are combined with two novel regularization terms for the policy and value function, required to make the use of data augmentation theoretically sound for certain actor-critic algorithms. We evaluate our methods on the Procgen benchmark which consists of 16 procedurally-generated environments and show that it improves test performance by ~40% relative to standard RL algorithms. Our agent outperforms other baselines specifically designed to improve generalization in RL. In addition, we show that our agent learns policies and representations that are more robust to changes in the environment that do not affect the agent, such as the background. Our implementation is available at https://github.com/rraileanu/auto-drac.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Reinforcement Learning | Procgen (test) | BigFish Return9.7 | 21 | |
| Reinforcement Learning | Procgen CaveFlyer 1.0 (train) | Mean Performance (Train)7.2 | 6 | |
| Reinforcement Learning | Procgen BigFish 1.0 (train) | Mean Train Performance13.2 | 6 | |
| Reinforcement Learning | Procgen CoinRun 1.0 (train) | Mean Train Performance9.5 | 6 | |
| Reinforcement Learning | Procgen FruitBot 1.0 (train) | Mean Train Performance29.5 | 6 | |
| Reinforcement Learning | Procgen Jumper 1.0 (train levels) | Mean Train Performance8.3 | 6 | |
| Reinforcement Learning | Procgen Leaper 1.0 (train) | Mean Train Performance5.5 | 6 | |
| Reinforcement Learning | Procgen StarPilot 1.0 (train) | Mean Train Performance35.3 | 6 | |
| Reinforcement Learning | ProcGen (train) | Mean Normalized Score0.61 | 3 |