liveBook · Manning

Proxy task

As explained in Outlier Detection in Python

A proxy task is an auxiliary prediction task created to train a model to learn useful representations rather than to solve the task of ultimate interest.

A proxy task is an auxiliary prediction task created to train a neural network to learn useful representations rather than predict the ultimate target directly. It is also called a pretext task. section 16.5.1

Choose a target that can be labeled at scale and whose prediction forces the network to understand the underlying objects. Self-supervised labeling generates targets from otherwise unlabeled data, avoiding hand-labeling. section 16.5.1

Predicting image rotations

Rotate 100,000 images by 0, 90, 180, or 270 degrees, producing 400,000 labeled examples. Train a four-class classifier to predict each rotation, then reuse the second-last layer as an embedding for classification, regression, or other applications. section 16.5.1

Figure 16.9 Neural network to predict the rotation of images. The input is likely the pixels of the image though may be embeddings representing the images created by another neural network. The output neurons predict the four types of rotation used in this example. Any number of rotations, or other modifications of the images, may also be used. The second-last layer may be used as embeddings for the images.

Inspect the network layout: rotation predictions form the output, while the second-last layer supplies image embeddings. section 16.5.1

How Outlier Detection in Python covers it

How deep it goes
Explains target selection, self-supervised labeling, image rotation, and embedding extraction without deriving network training internals.
Examples
Uses rotated images, a four-class rotation classifier, and second-last-layer image embeddings.
What it assumes
Assumes substantial unlabeled data and a trainable neural network, while generating labels without hand-labeling.
What you can do after
Builds a self-supervised rotation task and reuses an intermediate network layer as an embedding.
How it connects
Connects proxy tasks with embeddings, self-supervised learning, neural networks, classification, and regression.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Outlier Detection in Python. The section links point to the parts of the book it draws on.