In deep learning tasks, we can perform a few manipulations to our dataset that applies class-preserving transformations to the input. What this does is to increase training data and helps generalisation by learning internal representation of transformations.

For vision applications for use with CNNs, some manipulations include variations and combinations of:

  • Cropping
  • Resizing
  • Rotations
  • Colour distortions (dropping image channels, jitters)
  • Cutouts
  • Gaussian noise
  • Gaussian blur
  • Sobel filtering

Note that for traditional statistical learning methods, augmentations may actually make things worse. This is because they suffer from similar problems as traditional MLPs in that changes in how the image is represented are difficult to operate on.