Self-supervised Learning

A demonstration of Self Supervised ML

This project focused on implementing a self-supervised learning method using PyTorch. The network is trained on the CIFAR10 dataset to classify how each image has been rotated and is then fine-tuned on a supervised task. I also implemented Grad-CAM for ResNet18 from scratch and provided visualizations and compared with initial gradient-based attention method.

Key Features:

  • Implemented self-supervised learning method.
  • Trained network on CIFAR10 dataset with and without pre-training.
  • Reported results on various network variations.

Tools and Technologies:

  • Python
  • PyTorch

Source Code

The complete source code for this project is available on GitHub.

Image Credit: https://www.cs.toronto.edu/~kriz/cifar.html