↪︎ SimCLR from Scratch
In this project, I implemented SimCLR for self-supervised learning of embeddings of plankton image data. The main components were the random augmentation module, the projection head, and the NT-Xent based loss function. I observed that SimCLR performed best on this small dataset compared to other models, likely due to its ability to learn general features without overfitting. It would be interesting to see how it performs on a larger dataset with more classes.
I did this project as part of the course INF368A on representation learning at the University of Bergen during my PhD. The implementation can serve as a starting point for anyone interested in exploring self-supervised learning further or applying it to other tasks.