For many years, the gold standard for multi-class image classification problems has been the Convolutional Neural Network (CNN). To successfully train a CNN, a very large amount of data is needed. Transfer Learning (TL) involves using a pretrained model, and training the final layers on a new data set. This allows the new model to use knowledge already learned by the pretrained model, and requires a lot less data than training a model from scratch. In this project I compared the performance of two models trained to classify images of dogs into their respective breeds. One model was trained using transfer learning, and the other is a CNN trained from scratch.
The full paper can be found here.