Prototypical Networks for Few-shot Learning
Prototypical Network is an algorithm for few-shot learning, which enables effective learning with limited data. It specializes in image classification and has proven performance in few-shot data scenarios.
Introduction
It solves the overfitting problem in few-shot learning scenarios. When working with extremely limited data, a classifier needs to be inductive. The network achieves this through clustering for each class, using the concept of a "prototype" to represent each class in the embedding space.
Formulation and Problem Set-up
Support Sets for each class can be represented as:
The Prototypical Network uses prototypes for each class in an -dimensional space. For this, the function is used to calculate their distribution: .
Calculate distance from prototypes of each class using distance function : .
Learning is computed through negative log probability and SGD. The dataset for one episode consists of a randomly selected subset of classes and a few random samples for each. The remainder is used as query points.
Algorithm
The training algorithm for the model can be described in two learning phases. Phase 1 involves calculating the prototype using the support set. In Phase 2, the loss is computed using the query set, and the weights of the embedding network are updated.
Soft-max:
Negative Loss Probability:
Create support set and calculate prototype .
Create query set and update weights based on distance function .
The experimental section of this paper demonstrates that simultaneous execution of meta-level learning and base-level learning has a positive effect on optimization between the two learners. The analysis of these results shows that MAML can converge in fewer steps as it avoids overfitting and considers the distribution and representation between tasks.
Last updated