64

Introduction The term self-supervised learning (SSL) has been used (sometimes differently) in different contexts and fields, such as representation learning [1], neural networks, robotics [2], natural language processing, and reinforcement learning. In all cases, the basic idea is to automatically generate some kind of supervisory signal to solve some task (...


11

Self-supervised learning is when you use some parts of the samples as labels for a task that requires a good degree of comprehension to be solved. I'll emphasize these two key points, before giving an example: Labels are extracted from the sample, so they can be generated automatically, with some very simple algorithm (maybe just random selection). The task ...


8

Semi-supervised learning Semi-supervised learning is the collection of machine learning techniques where there are two datasets: a labelled one and an unlabelled one. There are two main problems that can be solved using semi-supervised learning: transductive learning (i.e. label the given unlabelled data) and inductive learning (generalization) (i.e. find a ...


6

Both semi-supervised and self-supervised methods are similar in the sense that the goal is to learn with fewer labels per class. The way both formulate this is quite different: Self-Supervised Learning: This line of work aims to learn image representations without requiring human-annotated labels and then use those learned representations on some ...


5

Self-supervised visual recognition is often applied to representation learning. Here we first learn features on unlabeled data (representation learning), and then learn the real model on features extracted from the labeled data. This especially makes sense when we have a lot of unlabeled data and few labeled data. The features can be learned by solving so ...


5

The previous answer has given a good insight into the difference between two areas. I would like to give more examples. Semi-Supervised Learning work with improving the data set by adding up new examples. There are iterative systems where we train a model on a given dataset and improve the model further after deploying it on the real world by adding ...


4

Compare generated and real data All the results produced by G are always considered "wrong" by definition, even for a very good generator. You provide the discriminative neural network $D$ with a mix of results generated by the generator network $G$ and real results from an outside source, and then you train it to distinguish if the result was produced by ...


3

I don't think your interpretation is correct. Take images as example. Supervised Learning e.g. classification (maybe use CNN with a L2 loss function) Assume you have many images with different labels. You wish to find a function to approximate the function $y=f(x)$ given a lot of $(\hat x, \hat y)$ sample pairs. Unsupervised Learning e.g. clustering (...


2

GANs were invented in a bar somewhere in Montreal, Canada. At said bar, the idea was that neural networks could be used for generating new examples from an existing distribution. This was the problem: Given an input set $X$, can we make a new $x'$ that looks like it should be in $X$? The classic description of a GAN is a counterfeiter (generator) and a cop ...


2

A discriminative network ($D$) learns to discriminate by definition - we provide it with the true and the generated data, and let it learn by itself how to discriminate between the two. Therefore, we expect network $D$ to improve the ability of network $G$ to generate better and better images (or other kind of data), as it try to "trick" network $D$ by ...


2

Is it possible to use SSL to pre-train e.g. a faster R-CNN on a pretext task (for example, rotation), then use this pre-trained model for instance segmentation with the aim to get better accuracy? Yes, it's possible and this has already been done. I don't know the details (because I have not yet read those papers), but I will provide you with some links to ...


2

How can I generate the target label from the other data in the dataset? If you are asking how you can create the learning signal in SSL, when given an unlabelled dataset, for learning representations of these unlabelled data, then there is no general answer. The answer depends on the type of data that you have (which can be e.g. textual or visual), and ...


1

No, you can't. In CNN, if you want to detect landmark, you need to prepare data with region box, it's coordinates, width, height, than number of points that should be detected and points coordinates. Then your target vector should be, This is your target vector. Optionally you can use YOLO algorithm.


1

The main difference between distant supervision (as described in the link you provided) and self-supervision lies on the task the network is trained on. Distant supervision focuses on generating weak labels for the very same task that would be tackled with supervised labels, and the final result could be directly used for that matter. Self-supervision is a ...


1

Andrew Zisserman, who is a pioneer in the field of self-supervised learning, described self-supervised learning in a talk at ICML as: Self-supervised Learning is a form of unsupervised learning where the data provides the supervision. In general, we withhold some part of the data and task the network with predicting it. The network is forced to learn what ...


Only top voted, non community-wiki answers of a minimum length are eligible