Jump to content

Connect Leeroopedia MCP: Equip your AI agents to search best practices, build plans, verify code, diagnose failures, and look up hyperparameter defaults.

Principle:Tensorflow Tfjs Fine Tuning

From Leeroopedia


Metadata

Field Value
Principle Name Tensorflow Tfjs Fine Tuning
Library TensorFlow.js
Domains Transfer_Learning, Optimization
Type Principle
Implemented By Implementation:Tensorflow_Tfjs_LayersModel_Compile_And_Fit_For_Transfer
Source TensorFlow.js
Last Updated 2026-02-10 00:00 GMT

Overview

Fine-tuning is the process of compiling and training a transfer learning model on task-specific data. It adapts the pretrained representations to the new task by training the task head (and optionally unfrozen base layers) on the target dataset. Fine-tuning requires careful hyperparameter selection -- particularly learning rate, number of epochs, and regularization strategies -- to balance between leveraging pretrained knowledge and adapting to the new task.

Description

Fine-tuning in transfer learning differs fundamentally from training a model from scratch. The pretrained weights provide a strong initialization that must be preserved and gently adapted rather than overwritten. This requires:

  • Lower learning rates -- Typically 10x to 100x smaller than training from scratch (e.g., 0.0001 instead of 0.01).
  • Fewer epochs -- The pretrained features provide a strong starting point, so the model converges faster.
  • Early stopping -- Monitoring validation metrics and stopping training when performance plateaus or degrades prevents overfitting.
  • Careful optimizer selection -- Adam with a low learning rate is the most common choice for fine-tuning.

Two-Phase Fine-Tuning

The most robust fine-tuning strategy involves two phases:

Phase Description Learning Rate Layers Trained
Phase 1: Head training Train only the new task head with all base layers frozen. This allows the randomly initialized head to learn reasonable weights without disrupting the pretrained base. Moderate (e.g., 0.001) Task head only
Phase 2: Full fine-tuning Unfreeze some or all base layers and continue training with a much lower learning rate. The task head now provides stable gradients that gently adapt the pretrained features. Very low (e.g., 0.00001) Task head + unfrozen base layers

Theoretical Basis

Why Lower Learning Rates?

Pretrained weights occupy a region of the loss landscape that represents a good solution for the source task. A large learning rate would cause large weight updates that move the model far from this region, potentially destroying the pretrained representations. A small learning rate ensures the model stays near the pretrained solution while gradually adapting to the new task.

Early Stopping

Early stopping is a form of regularization that prevents overfitting by monitoring a validation metric (typically val_loss) and halting training when it stops improving. The key parameters are:

  • monitor -- Which metric to watch (val_loss for regression/classification, val_accuracy for classification).
  • patience -- Number of epochs to wait for improvement before stopping. Higher patience allows the model to recover from temporary performance dips.
  • restoreBestWeights -- Whether to roll back to the weights from the epoch with the best monitored metric. This is critical because the final epoch may not have the best performance.
  • minDelta -- Minimum change in the monitored metric to qualify as an improvement. Prevents stopping due to insignificant fluctuations.

Overfitting in Transfer Learning

Transfer learning models are particularly susceptible to overfitting because:

  1. The target dataset is often small (the whole point of transfer learning is to work with limited data).
  2. The model has high capacity (pretrained models are typically large).
  3. The pretrained features may be too specific to the source domain if too many layers are unfrozen.

Countermeasures include:

  • Aggressive dropout in the task head (0.3-0.5).
  • Data augmentation on the target dataset.
  • Early stopping to halt training before overfitting occurs.
  • Minimal unfreezing -- only unfreeze base layers if head-only training is insufficient.

Compilation Configuration

Compiling the model associates it with:

  • Optimizer -- Defines the weight update rule and learning rate. Adam is preferred for fine-tuning due to its adaptive learning rate per parameter.
  • Loss function -- Measures the discrepancy between predictions and targets. Must match the task (categoricalCrossentropy for multi-class, binaryCrossentropy for binary, meanSquaredError for regression).
  • Metrics -- Quantities monitored during training for evaluation purposes but not used for optimization.

Usage

Fine-tuning is the training step in the transfer learning pipeline:

  • Small dataset, similar domain -- Head-only training (Phase 1) may be sufficient. Use early stopping with patience of 3-5 epochs.
  • Small dataset, different domain -- Head-only training first, then cautious fine-tuning of late base layers. Use high dropout and early stopping.
  • Large dataset, similar domain -- Fine-tune more aggressively with more epochs and more unfrozen layers.
  • Large dataset, different domain -- May benefit from unfreezing most or all layers with a low learning rate.

Hyperparameter Guidelines

Hyperparameter Recommended Range Notes
Learning rate (head training) 0.0001 - 0.001 Standard Adam default (0.001) is often a good starting point
Learning rate (fine-tuning) 0.000001 - 0.0001 10x-100x lower than head training
Batch size 16 - 64 Smaller batches act as regularization; limited by GPU memory
Epochs 10 - 50 Use early stopping to determine the actual number
Early stopping patience 3 - 10 Higher for noisier or larger datasets
Dropout rate 0.3 - 0.5 Higher for smaller datasets

Related Pages

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment