A short Introduction

Being a deep learning practitioner one might have come across the problem of the non-availability of a large amount of data that is required to train models. And a question might have crossed your mind: “Will my model achieve ‘state of the art’ performance with the limited data I have?” . There is no denial of the fact that deep learning models need a lot of data to be properly trained and most importantly the data must be relevant and must not degrade the performance. In this blog post, I will introduce a method called Data Augmentation that not only enhances the dataset with varied and meaningful data. We will specifically talk about data augmentation in images.

Why it is required?

Before moving on to the importance of Data Augmentation, let me tell a bit about Convolutional Neural Networks.In deep learning, a convolutional neural network (CNN, or ConvNet) is a class of deep neural networks, most commonly applied to analyzing visual imagery. A convolutional neural network that can robustly classify objects even if its placed in different orientations is said to have the property called invariance. More specifically, a CNN can be invariant to translation, viewpoint, size or illumination (Or a combination of the above). This essentially is the premise of data augmentation. In the real world scenario, we may have a dataset of images taken in a limited set of conditions. But, our target application may exist in a variety of conditions, such as different orientation, location, scale, brightness etc. We account for these situations by training our neural network with additional synthetically modified data generated using data augmentation.

Below are some of the ways in which data augmentation is carried out!

img

img2