Data Augmentation

d3rlpy provides data augmentation techniques tightly integrated with reinforcement learning algorithms.

  1. Kostrikov et al., Image Augmentation Is All You Need: Regularizing Deep Reinforcement Learning from Pixels.
  2. Laskin et al., Reinforcement Learning with Augmented Data.
Efficient data augmentation potentially boosts algorithm performance significantly.
from d3rlpy.algos import DiscreteCQL

# choose data augmentation types
cql = DiscreteCQL(augmentation=['random_shift', 'intensity'],
                  n_augmentations=2)

You can also tune data augmentation parameters by yourself.

from d3rlpy.augmentation.image import RandomShift

random_shift = RandomShift(shift_size=10)

cql = DiscreteCQL(augmentation=[random_shift, 'intensity'],
                  n_augmentations=2)

Image Observation

d3rlpy.augmentation.image.RandomShift Random shift augmentation.
d3rlpy.augmentation.image.Cutout Cutout augmentation.
d3rlpy.augmentation.image.HorizontalFlip Horizontal flip augmentation.
d3rlpy.augmentation.image.VerticalFlip Vertical flip augmentation.
d3rlpy.augmentation.image.RandomRotation Random rotation augmentation.
d3rlpy.augmentation.image.Intensity Intensity augmentation.
d3rlpy.augmentation.image.ColorJitter Color Jitter augmentation.

Vector Observation

d3rlpy.augmentation.vector.SingleAmplitudeScaling Single Amplitude Scaling augmentation.
d3rlpy.augmentation.vector.MultipleAmplitudeScaling Multiple Amplitude Scaling augmentation.