SeriesDeep Learning19 / 20

Unsupervised and Semi-Supervised Learning

Module 18 of CS 7643 - Deep Learning @ Georgia Tech.

Introduction#

We have previously presented machine learning in terms of its three core subdivisions - two of which are…

It turns out the distinction between supervised and unsupervised learning isn’t so black-and-white, but rather exists on a spectrum of low-labeled learning.

spectrum

Traditional unsupervised learning methods also have parallel applications in deep learning:

So how can we deal with unlabeled data? Although the approach depends on the task, we may use concepts from unsupervised learning to assist here:

We will consider each of these topics in greater detail below.

Semi-Supervised Learning#

Semi-Supervised Learning refers to the scenario in which we wish to perform a supervised learning task, but have relatively few labeled instances. This often happens in practice since it’s often much cheaper to get large-scale unlabeled datasets.

semi-supervised-learning

Can we overcome the small amount of labeled data we have, using the larger amount of unlabeled data? There are several simple ideas which work well in the context of semi-supervised learning:

augmentation

One of the benefits of pseudo-labeling approaches to semi-supervised learning is that these methods can easily be scaled up via larger amounts of unlabeled data. One of the most effective modern pseudo-labeling methods is known as FixMatch.

There are alternative approaches to semi-supervised learning. For example, Label Propagation works by learning feature extractors to cluster cluster data (containing labeled and unlabeled instances). Unlabeled instances are labeled according to similarity to labeled instances.

Few-Shot Learning#

Few-Shot Learning involves a supervised learning task with many labeled instances for base categories, but very few (1-5) labeled instances for previously unobserved specialty categories. We denote our base category data as the support set, and the specialty category data as the query set.

few-shot-learning

Can we learn an effective representation using the support set, which generalizes to the query set? There are several approaches to few-shot learning:

meta-learning

Okay, so how do we parameterize the learning algorithm? First, we must define some modeling approach to represent the learning process. For example, a gradient descent meta-learner might learn an optimal parameter initialization and/or update rule. θt=θt1αtL(θt1)\theta_t = \theta_{t-1} - \alpha_t \nabla L(\theta_{t-1}) This is quite similar to the structure of the cell state mechanism underlying Long Short-Term Memory (LSTM) networks.

ct=ftct1+itc~tc_t = f_t \odot c_{t-1} + i_t \odot \tilde{c}_t

gradient-descent-meta-learner

Other competing algorithms learn sub-components of gradient descent, as opposed to using this complicated LSTM-based representation. The general approach - referred to as Model-Agnostic Meta-Learning (MAML) - simply involves backpropagating through gradient descent itself to iteratively improve the model training process.

Self-Supervised Learning#

In the case of Unsupervised Learning, we are given unlabeled data XX and tasked with investigating its structure. Self-Supervised Learning involves generating labels for a completely unlabeled dataset.

Since we only have unlabeled data, we might start with techniques inspired by unsupervised learning:

Note that in both of the above methods, we actually perform learning relative to an alternative task (as opposed to our primary goal):

More generally, Surrogate Tasks are alternative objectives used to generate unsupervised feature representations. In the context of image data, example surrogate tasks include jigsaw, rotation, and colorization - these tasks may help us to learn effective features for image-based feature learning.

How do we evaluate the results of training on surrogate tasks?

  1. Extract the encoder (feature extractor) portion of the learned network.
  2. Perform transfer learning specific to the target task, and score the results.

Overall, there are a large number of surrogate tasks and variations to generate informative features. Two recent methods have been particularly dominant:

Augmentation is used across many surrogate tasks, suggesting its effectiveness in producing good representations!


(all images obtained from Georgia Tech DL course materials)

License

CC BY-NC-SA 4.0 This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Related Posts