One-Shot Learning
One-Shot Learning refers to learning from a single example of each class.
Training a CNN with just 1 image from each class is pointless.
Say we have one image of each employee in our organization. We want to create a face recognition system that allows an employee to enter the building upon being recognized. We can't train a CNN because 1 image from each class isn't sufficient. Also, the number of employees keeps changing, and we would have to keep re-training. This is impractical.
Instead, we use one-shot learning to learn a similarity function i.e. we learn to calculate the degree of difference between a pair of images. Given an image, we compare it with all the images in our database. Pairs of images with lower degree of difference values denote similar images. The image with the least degree of difference (below some threshold) is identified as a match. If a match is found, the employee is allowed to enter.
Last updated