Self-supervised Learning


It is still supervised learning, but the datasets do not need to be manually labelled by a human, but they can e.g. be labelled by finding and exploiting the relations (or correlations) between different input signals (that is, input coming from different sensor modalities).

Getting started

The Illustrated Self-Supervised Learning
A visual introduction to self-supervised learning methods in Computer Vision
self-supervised-learning computer-vision illustrated tutorial
Self-Supervision with FastAI
A tutorial of rotation-based self-supervision using FastAI2 & PyTorch!
self-supervised-learning fastai pytorch tutorial
Self-Supervised Representation Learning
What if we can get labels for free for unlabelled data and train unsupervised dataset in a supervised manner?
self-supervised-learning representation-learning generative-modeling object-recognition

Tutorials

The Illustrated Self-Supervised Learning
A visual introduction to self-supervised learning methods in Computer Vision
self-supervised-learning computer-vision illustrated tutorial
Self Supervised Representation Learning in NLP
An overview of self-supervised pretext tasks in Natural Language Processing
self-supervised-learning natural-language-processing tutorial article
A Visual Guide to Self-Labelling Images
A self-supervised method to generate labels via simultaneous clustering and representation learning
self-supervised-learning image-clustering computer-vision illustrated

Libraries

Bootstrap Your Own Latent (BYOL) in Pytorch
Practical implementation of a new state of the art (surpassing SimCLR) without contrast learning and having to designate negative pairs.
self-supervised-learning byol simclr code
PyTorch Metric Learning
The easiest way to use deep metric learning in your application. Modular, flexible, and extensible. Written in PyTorch.
metrics custom-metrics pytorch losses

Research

Self-Supervised Scene De-occlusion
We investigate the problem of scene de-occlusion, which aims to recover the underlying occlusion ordering and complete the invisible parts of occluded ...
self-supervised-learning computer-vision de-occlusion image-generation
Bootstrap Your Own Latent (BYOL) in Pytorch
Practical implementation of a new state of the art (surpassing SimCLR) without contrast learning and having to designate negative pairs.
self-supervised-learning byol simclr code
Prototypical Contrastive Learning (PCL) for Unsupervised Learning
Prototypical Contrastive Learning (PCL), an unsupervised representation learning method that addresses the fundamental limitations of the popular ...
contrastive-learning unsupervised-learning self-supervised-learning semi-supervised-learning
Plan2Explore: Plan to Explore via Self-Supervised World Models
A self-supervised reinforcement learning agent that tackles task-specific and the sample efficiency challenges.
self-supervised-learning reinforcement-learning plan2explore article

Recent

Rethinking pre-training and self-training
This new paper from Google Brain investigates self-training and how it compares to pre-training and self-supervised learning for the the same set of tasks.
pretraining self-training self-supervised-learning machine-learning
Self-Supervised Prototypical Transfer Learning
Advancing state-of-the-art unsupervised few-shot learning up to supervised performance.
self-supervised-learning few-shot-learning code paper
Simple Pytorch Implementation of BYOL in Google Colab
BYOL: Bootstrap Your Own Latent: A New Approach to Self-Supervised Learning (https://arxiv.org/abs/2006.07733)
byol self-supervised-learning latent-representations tutorial
SimCLR with PyTorch Lightning
A lightweight implementation of SimCLR with PyTorch Lightning. Will be used as the start point for modifications on top of SimCLR to experiment.
simclr pytorch-lightning pytorch unsupervised-learning
Table of Contents
Share a resource
Share a resource you found useful for this specific topic.
Topic experts
Share