Prototypical networks are yet another simple, efficient, and popular learning algorithm. Like siamese networks, they try to learn the metric space to perform classification.
The basic idea of the prototypical network is to create a prototypical representation of each class and classify a query point (new point) based on the distance between the class prototype and the query point.
Let's say we have a support set comprising images of lions, elephants, and dogs, as shown in the following diagram:

We have three classes (lion, elephant, and dog). Now we need to create a prototypical representation for each of these three classes. How can we build the prototype of these three classes? First, we will learn the embeddings of each data point using some embedding function. The embedding function, ,can be any function that can be used to extract features....