Siamese networks are special types of neural networks and are among the simplest and most popularly used one-shot learning algorithms. As we have learned in the previous section, one-shot learning is a technique where we learn from only one training example per each class. So, siamese networks are predominantly used in applications where we don't have many data points for each of the class.
For instance, let's say we want to build a face recognition model for our organization and say about 500 people are working in our organization. If we want to build our face recognition model using a convolutional neural network (CNN) from scratch then we need many images of all these 500 people, to train the network and attain good accuracy. But, apparently, we will not have many images for all these 500 people and therefore it is not feasible to build a model using...