Transfer Learning
Transfer learning is the process of transferring the knowledge gained in one task in a specific domain to a related task in a similar domain. In the deep learning paradigm, transfer learning generally refers to the reuse of a pre-trained model as the starting point for another problem. The problems in computer vision and natural language processing require a lot of data and computational resources, to train meaningful deep learning models. Transfer learning has gained a lot of importance in the domains of vision and text, since it alleviates the need for a large amount of training data and training time. In this chapter, we will use transfer learning to solve a healthcare problem.
Some key topics related to transfer learning that we will touch upon in this chapter are as follows:
- Using transfer learning to detect diabetic retinopathy conditions in the human eye, and to determine the retinopathy's severity
- Exploring the advanced pre-trained convolutional neural architectures that can be used to train a convolutional neural network (CNN) that is capable of detecting diabetic retinopathy in fundus images of the human eye
- Looking at the different image preprocessing steps required for the practical implementation of a CNN
- Learning to formulate a cost function that is appropriate for the problem at hand
- Defining the appropriate metrics for measuring the performance of a trained model
- Generating additional data using affine transformations
- Training intricacies related to the appropriate learning rate, the selection of the optimizer, and so on
- Going over an end-to-end Python implementation