Conditional Neural Processes

Conditional neural processes (CNP) are a continuation of generative query networks (GQN), that extends the application from scene rendering to more general tasks like regression and classification. As with GQN, conditional neural processes are going to carry out few-shot prediction tasks. Why is few-shot learning different from regular learning?

Classical learning

Few-shot learning

            Take image classification: in the case of traditional learning an image of a dog always has the label 'dog' and an image of a cat always has the label 'cat'. As shown above, the distribution that maps from images to labels and that our algorithm needs to learn remains the same throughout training. This is a bit different for few-shot learning: at every training iteration we select a subset of images, assign random labels to them and use them to train our model. For the next episode we pick a different subset of images and assign random labels again. What will happen is that the same image will have different labels across different episodes. If we look at the image to label distribution these are different for each training episode.

 

            This is an important property of few-shot learning algorithms that will be reflected in the datasets we use to train our model. Since we want models that can regress a range of functions rather than just a single one our datasets will have to reflect this. One possible dataset would be, for example, a set of functions generated by sampling the prior of a Gaussian process. Another example could be a dataset of ... people walking.

Classical learning

Few-shot learning

            So we want an algorithm that regresses distributions over functions rather than a single function. We take inspiration from neural networks (NN) and Gaussian processes (GP) to achieve this. 

Neural Networks

Can learn the right parameters from data directly

Large number of parameters can regress complex functions

Quick predictions at test time

Gaussian processes

Model distribution over functions and updates belief about underlying ground truth based on observations at test time

Has a measure of the uncertainty over its predictions given the observations

            So we want an algorithm that regresses distributions over functions rather than a single function. We take inspiration from neural networks (NN) and Gaussian processes (GP) to achieve this. 

            So we want an algorithm that regresses distributions over functions rather than a single function. We take inspiration from neural networks (NN) and Gaussian processes (GP) to achieve this. 

            So we want an algorithm that regresses distributions over functions rather than a single function. We take inspiration from neural networks (NN) and Gaussian processes (GP) to achieve this. 

            So we want an algorithm that regresses distributions over functions rather than a single function. We take inspiration from neural networks (NN) and Gaussian processes (GP) to achieve this. 

            So we want an algorithm that regresses distributions over functions rather than a single function. We take inspiration from neural networks (NN) and Gaussian processes (GP) to achieve this. 

            So we want an algorithm that regresses distributions over functions rather than a single function. We take inspiration from neural networks (NN) and Gaussian processes (GP) to achieve this. 

Connect with me

© 2018

Marta Garnelo
 

Contact

martagarnelo (at)  gmail (dot) com

  • White LinkedIn Icon