Transfer Learning
Esplora il transfer learning per addestrare un'IA ad alta precisione con meno dati. Impara come sfruttare i pesi pre-addestrati di Ultralytics YOLO26 per accelerare i tuoi progetti di computer vision.
Il transfer learning è una tecnica potente nel machine learning (ML) in cui un modello sviluppato per un compito specifico viene riutilizzato come punto di partenza per un modello su un secondo compito correlato. Invece di addestrare una rete neurale da zero — operazione che richiede dataset enormi e una potenza computazionale significativa — gli sviluppatori sfruttano le conoscenze che un'IA ha già acquisito. Questo approccio imita il modo in cui apprendono gli esseri umani; ad esempio, sapere come suonare il pianoforte rende molto più facile imparare l'organo, poiché la comprensione fondamentale della teoria musicale e la destrezza delle dita si trasferiscono. Nel contesto del deep learning, ciò significa che un modello può raggiungere un'elevata precisione su un nuovo problema con significativamente meno dati e tempo.
Link to this sectionCome funziona il Transfer Learning#
L'efficacia del transfer learning risiede nella natura gerarchica dell'estrazione di caratteristiche. I modelli di deep learning, in particolare quelli utilizzati nella computer vision, imparano a riconoscere schemi in livelli. I livelli iniziali del backbone rilevano caratteristiche semplici e universali come bordi, curve e texture. Queste caratteristiche di basso livello sono applicabili a quasi tutti i compiti visivi.
Il processo coinvolge solitamente due fasi principali:
-
Pre-training: Un modello viene addestrato su un dataset di benchmark su larga scala, come ImageNet, per apprendere rappresentazioni visive generali. Ciò si traduce in una serie di pesi del modello che comprendono già la struttura visiva.
-
Adattamento: Il modello pre-addestrato viene quindi adattato a uno specifico compito di nicchia. Spesso ciò viene fatto "congelando" i primi livelli (mantenendo i pesi fissi) e riaddestrando solo i livelli finali, o la detection head, su un dataset personalizzato più piccolo.
Link to this sectionApplicazioni nel mondo reale#
Il transfer learning ha democratizzato l'IA consentendo di costruire soluzioni specializzate senza le risorse delle Big Tech.
- IA nell'assistenza sanitaria: È difficile raccogliere milioni di immagini mediche annotate per ogni specifica malattia. Tuttavia, i ricercatori possono prendere un modello pre-addestrato su oggetti quotidiani e applicarlo all'analisi delle immagini mediche. Il modello trasferisce la sua capacità di rilevare forme e anomalie per identificare tumori in radiografie o scansioni MRI con alta precisione.
- IA nella produzione: In ambienti industriali, i sistemi di ispezione visiva devono adattarsi rapidamente a nuove linee di prodotti. Un modello generalizzato di rilevamento dei difetti può essere aggiornato rapidamente per individuare difetti in un nuovo componente specifico, come un microchip, utilizzando flussi di lavoro di smart manufacturing per ridurre al minimo i tempi di inattività.
Link to this sectionRelazione con altri concetti#
È utile distinguere il transfer learning da termini strettamente correlati:
- vs. Fine-Tuning: Il fine-tuning è un metodo specifico di implementazione del transfer learning. Mentre il transfer learning è il concetto generale di riutilizzo della conoscenza, il fine-tuning si riferisce al processo meccanico di scongelamento di parti del modello e del loro addestramento su nuovi dati con un learning rate più basso.
- vs. Zero-Shot Learning: Il transfer learning richiede una fase di addestramento con alcuni dati etichettati per il nuovo compito. Al contrario, lo zero-shot learning tenta di classificare oggetti che il modello non ha mai visto prima, affidandosi spesso a descrizioni semantiche piuttosto che a esempi visivi.
Link to this sectionEsempio Pratico#
Il seguente snippet Python dimostra il transfer learning utilizzando la libreria ultralytics. Carichiamo il modello YOLO26, che viene fornito con pesi pre-addestrati derivati dal dataset COCO. Quando avviamo l'addestramento su un nuovo dataset, il modello trasferisce automaticamente le sue caratteristiche pre-apprese al nuovo compito.
from ultralytics import YOLO
# Load a pre-trained YOLO26 model (transferring weights from COCO)
model = YOLO("yolo26n.pt")
# Train the model on a new, smaller dataset to adapt its knowledge
# This leverages the pre-learned backbone for faster convergence
results = model.train(data="coco8.yaml", epochs=5)Per gestire i dataset ed eseguire questi addestramenti nel cloud, strumenti come l'Ultralytics Platform semplificano il processo, consentendo ai team di collaborare sull'annotazione dei dati e sul dispiegamento efficiente di modelli basati su transfer learning.
Per un approfondimento sulla teoria accademica, gli appunti di Stanford CS231n offrono un'eccellente panoramica, mentre il tutorial sul Transfer Learning di PyTorch fornisce dettagli tecnici estesi per l'implementazione.






