Self-supervised learning is a machine learning process where the model trains itself to learn one part of the input from another part of the input. It is an unsupervised learning method where the supervised learning task is created out of the unlabelled input data. The fundamental idea for self-supervised learning is to generate supervisory signals by making sense of the unlabeled data provided to it in an unsupervised fashion on the first iteration. Self-supervised learning obtains supervisory signals from the data itself, often leveraging the underlying structure in the data. Self-supervised learning can provide an alternative to labeling large amounts of data, which is a costly and time-consuming task, even when using automated data labeling systems. Self-supervised learning has produced promising results in recent years and has found practical application in audio processing and is being used by Facebook and others for speech recognition. Some popular self-supervised tasks are based on contrastive learning.