Transfer learning is a deep learning approach in which a model trained for one task is used as a starting point for a model that performs a similar task. Updating and retraining a network with transfer learning is faster and easier than training a network from scratch. Transfer learning is used for image classification, object detection, speech recognition, and other applications.
Transfer learning is a deep learning approach in which a model trained for one task is used as a starting point for a model that performs a similar task, making it faster and easier than training a network from scratch.
Transfer learning enables you to train models with less labeled data, reduces training time and computing resources, and lets you leverage model architectures developed by the deep learning research community such as GoogLeNet and YOLO.
Transfer learning is popular in computer vision (image recognition, object detection, and image segmentation), speech and audio processing, and text analytics applications.
Consider three key tradeoffs: prediction speed, model size (memory footprint), and accuracy. A good approach is to try a variety of models to find the one that fits your application best, starting with simpler models like GoogLeNet or VGG-16 for quick iteration.
The workflow includes selecting a pretrained model, replacing the final layers to match your new classes, optionally freezing weights in earlier layers, retraining the model with your data, and then predicting and assessing network accuracy.
You can access models through the MATLAB Deep Learning Model Hub with a single function call or import models from external platforms like TensorFlow, PyTorch, or ONNX using import functions.
Yes, the Deep Network Designer app enables you to interactively complete the entire transfer learning workflow—including selecting or importing a pretrained model, modifying layers, and retraining—with little or no coding.
Freezing weights in earlier layers by setting their learning rates to zero can significantly speed up training and prevent overfitting, especially when your new dataset is small.