Few-Shot Learning
Notes taken from this video series
Sometimes, we don’t have access to a lot of labeled data, but still perform as well. Think about it, humans are pretty good at this. We don’t need thousands of training samples for a given class to predict on a new image. This is because we have learned how to learn, the key idea behind Meta Learning.
Warning
There is a gradient weight update.
The idea of few shot learning is to learn a similarity function.
- Learn a similarity function from large scale training set
- Apply similarity function for prediction
- Compare the query with every sample in the support set
- Find the sample with the highest similarity score
Dataset: Omniglot.
Intuition
Traditionally, in Supervised Learning, we train a deep model a training set, which has a huge number of training data. Then, we make a prediction on a test sample, where:
- Test samples are never seen before
- Test samples are from known classes (of the training set)
However, in Few-Shot Learning, we make predictions on a query sample, where:
- Query samples are never seen before
- Query samples are from unknown classes (of the Support Set)
We have two terminologies:
- Support Set
- Query
k-way n-shot Support Set
- -way: The support set has classes
- -shot: Every class has samples.
1-Shot Learning would mean the support set only has 1 sample per class.
Concepts
Apparently, there is also Zero-shot Learning.