The most cost-effective trick in computer vision
Training a strong vision model from scratch needs millions of labeled images. Almost no real project has that. Transfer learning solves this by starting from a model pretrained on ImageNet (1.28M images, 1000 classes) and adapting it to your task with a fraction of the data.
Two phases, in this order:
- Feature extraction — freeze the backbone, train only a new classifier head on your data. The pretrained features are good enough to give 80–90% of the eventual accuracy with very little compute.
- Fine-tuning — unfreeze the backbone (or the last few blocks), use a much smaller learning rate (e.g., 1/10), and continue training. This nudges the pretrained features toward your specific task.
Always freeze before unfreezing. If you start with all weights trainable, the random classifier head produces huge gradients that destroy the pretrained backbone weights in a few steps. Always do feature extraction first, then fine-tune.