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'])

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'])

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.

Augmentation Pipeline

d3rlpy.augmentation.pipeline.DrQPipeline

Data-reguralized Q augmentation pipeline.