--- license: mit --- # Self-Supervised Learning Framework This project implements a Self-Supervised Learning (SSL) framework using the CIFAR-10 dataset and a ResNet-18 backbone. The goal of the project is to train a model to learn robust image representations without relying on labeled data. This framework utilizes contrastive learning with data augmentations and a custom contrastive loss function. --- ## **Features** **Data Augmentation**: - Random cropping, flipping, color jitter, grayscale conversion, Gaussian blur, and normalization. **Backbone Architecture**: - ResNet-18 with a custom projection head. **Contrastive Learning**: - Contrastive loss function with positive and negative pair sampling. **Optimization**: - Gradient clipping and weight decay for numerical stability. **Model Checkpointing**: - Save model weights at the end of each epoch. ## **How It Works** 1. **Data Augmentation**: - Two augmented views of each image are created for contrastive learning. 2. **Contrastive Loss**: - Positive pairs: Augmented views of the same image. - Negative pairs: Augmented views of different images. - Loss is computed using the similarity of positive pairs while minimizing similarity with negative pairs. 3. **Optimization**: - The model uses the Adam optimizer with a learning rate of `3e-4` and weight decay of `1e-4`. - Gradient clipping ensures numerical stability. --- ## **Results and Evaluation** - **Training Loss**: - Observe the training loss decreasing across epochs, indicating successful representation learning. - **Downstream Tasks**: - Evaluate the learned embeddings on classification or clustering tasks. --- ## **Acknowledgments** - CIFAR-10 dataset: https://www.cs.toronto.edu/~kriz/cifar.html - PyTorch: https://pytorch.org/ - ResNet-18 architecture. ---