Fine tuning is the process of taking a model that has been trained for one task and refining it so that it can perform another task.
Understanding fine tuning
Deep learning is an effective way for models to learn from unstructured or unlabeled data without human intervention. But since the algorithms that underpin deep learning require vast amounts of data, the process can be extremely resource-intensive.
To make deep learning more efficient, small adjustments are made to a process to achieve the desired performance or output. This involves unfreezing some of the top layers of the model library for feature extraction and then training the newly added part of the model with these layers in tandem.
If the initial task and new task are similar, fine-tuning an existing neural network enables the practitioner to take advantage of what the model knows and can avoid having to create one from scratch.
How fine-tuning works in practice
Suppose we want to fine-tune a model used in autonomous vehicles. At the moment, the model only recognizes cars, but we want to train it to also recognize trucks.
For the sake of simplicity, weโll remove the first layer of the model whose task is to classify whether an image is a car or not. Once this layer has been removed, we need to add a new layer to perform the same classification task for trucks.
Fine-tuning may require that multiple layers be removed or added, but it depends on how similar the task is for each of the models. Layers near the end of the model may have features specific to the original task. Layers at the start of the model, on the other hand, usually learn more basic features such as shape and texture.
Freezing weights
Once the structure of the existing model has been modified, we then have to freeze the layers in the new model. Freezing ensures the weights for each layer in the neural network do not update whenever the model is trained on new data.
In more simple terms, we want to ensure the weights are kept the same as they were once trained to classify cars. To enable the model to learn how to classify trucks, we only want the weights in the new or modified layer to update.
Then, itโs a matter of training the model with the new data.
Limitations of fine-tuning
While fine-tuning is an effective way to refine a model, it is not a panacea. The most obvious limitation is that it cannot be used for models with vastly different tasks and datasets.
It is also important to note that fine-tuning will not be able to alter a single layer of the architecture โ especially if the existing weights need to be preserved. By the same token, the fine-tuning approach is unsuitable if a practitioner wants to use their own architecture.
If the practitioner chooses the wrong layer to freeze or an inappropriate learning rate, fine-tuning may produce a low-quality model that never acquires the ability to learn.
Key takeaways:
- Fine-tuning is the process of taking a model that has been trained for one task and refining it so that it can perform another task.
- If the initial task and new task are similar, fine-tuning a neural network that has already been designed and trained enables the practitioner to take advantage of what the model knows and avoids having to create one from scratch.
- Fine-tuning is an effective way to refine a model but should never be viewed as a panacea. It cannot be used for models with vastly different tasks or datasets, and a poor choice of learning rate or which layers to freeze can result in a low-quality model.
Connected AI Concepts

Deep Learning vs. Machine Learning




OpenAI Organizational Structure




Stability AI Ecosystem

Main Free Guides: