What is Data Augmentation?
Definition
Suppose a set of data $X = \left\{ x \in \mathbb{R}^{n} \right\}$ is given. Using appropriate transformations $f_{i} : \mathbb{R}^{n} \to \mathbb{R}^{n}$ to obtain $X^{\prime}$ from $X$ is called data augmentation.
$$ X^{\prime} = X \cup \left( \bigcup_{i} \left\{ f_{i}(x) : x \in X \right\} \right) $$
Description
Simply put, for example with images, this means adding new images to the dataset, which are obtained by applying modifications like flipping horizontally or converting to grayscale, to the original set of images.
The primary reason for the emergence of data augmentation was probably to overcome the difficulties associated with data collection itself.1 Let’s say you need 100 pieces of data but it’s hard or even impossible to gather that many, and you only have 50. By augmenting the data to make it 100, you can solve this problem. However, more recently, it’s not used solely for addressing data scarcity; rather, it seems to focus more on preventing overfitting.2
Image Augmentation
There is a wide variety of techniques ranging from simple transformations, such as rotation, flipping horizontally, scaling up, scaling down, to methods that combine multiple images, like Mixup, CutMix, and PuzzleMix.