Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

Transfer Learning

Esplora il transfer learning per addestrare un'IA altamente accurata con meno dati. Scopri come sfruttare i pesi pre-addestrati Ultralytics per accelerare i tuoi progetti di visione artificiale.

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, cosa che richiede enormi set di dati e una notevole potenza di calcolo, gli sviluppatori sfruttano le conoscenze già acquisite dall'IA. Questo approccio imita il modo in cui imparano gli esseri umani; ad esempio, sapere come suonare il pianoforte rende molto più facile imparare a suonare l'organo perché la comprensione di base della teoria musicale e la destrezza delle dita vengono trasferite. Nel contesto del deep learning, ciò significa che un modello può raggiungere un'elevata precisione su un nuovo problema con una quantità di dati e un tempo significativamente inferiori.

Come funziona il Transfer Learning

L'efficacia del transfer learning risiede nella natura gerarchica dell' estrazione delle caratteristiche. I modelli di deep learning, in particolare quelli utilizzati nella visione artificiale, imparano a riconoscere i modelli in strati. Gli strati iniziali della struttura portante detect caratteristiche detect e universali come bordi, curve e texture. Queste caratteristiche di basso livello sono applicabili a quasi tutte le attività visive.

Il processo prevede in genere due fasi principali:

  1. Pre-addestramento: un modello viene addestrato su un set di dati di riferimento su larga scala, come ImageNet, per apprendere rappresentazioni visive generali. Ciò si traduce in una serie di pesi del modello che già comprendono la struttura visiva .
  2. Adattamento: il modello pre-addestrato viene quindi adattato a un compito di nicchia specifico. Questo viene spesso fatto "congelando" i primi livelli (mantenendo fissi i loro pesi) e riaddestrando solo i livelli finali, o la testa di rilevamento, su un set di dati personalizzato più piccolo.

Applicazioni nel mondo reale

Il transfer learning ha democratizzato l'intelligenza artificiale consentendo la creazione di soluzioni specializzate senza ricorrere alle risorse delle grandi aziende tecnologiche.

  • L'intelligenza artificiale nella sanità: è difficile raccogliere milioni di immagini mediche annotate per ogni specifica malattia. Tuttavia, i ricercatori possono prendere un modello pre-addestrato su oggetti di uso quotidiano e applicarlo all' analisi delle immagini mediche. Il modello trasferisce la sua capacità di detect e anomalie per identificare tumori nelle radiografie o nelle risonanze magnetiche con elevata precisione.
  • L'intelligenza artificiale nella produzione: In contesti industriali, i sistemi di ispezione visiva devono adattarsi rapidamente alle nuove linee di prodotti. Un modello generalizzato di rilevamento dei difetti può essere rapidamente aggiornato per individuare i difetti in un nuovo componente specifico, come un microchip, utilizzando flussi di lavoro di produzione intelligenti per ridurre al minimo i tempi di inattività.

Relazione 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 delle conoscenze, il fine-tuning si riferisce al processo meccanico di sbloccare parti del modello e addestrarle su nuovi dati con un tasso di apprendimento inferiore.
  • vs. Apprendimento zero-shot: L'apprendimento trasferito richiede una fase di addestramento con alcuni dati etichettati per la nuova attività. Al contrario, l'apprendimento zero-shot cerca di classify che il modello non ha mai visto prima, spesso basandosi su descrizioni semantiche piuttosto che su esempi visivi.

Esempio pratico

Il seguente Python Questo frammento di codice mostra l'apprendimento trasferito utilizzando il ultralytics libreria. Carichiamo il YOLO26 modello, che viene fornito con pesi pre-addestrati derivati dal COCO . Quando iniziamo l'addestramento su un nuovo set di dati, il modello trasferisce automaticamente le sue caratteristiche pre-apprendite 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 set di dati ed eseguire questi cicli di formazione nel cloud, strumenti come la Ultralytics semplificano il processo, consentendo ai team di collaborare all'annotazione dei dati e all'implementazione efficiente dei modelli appresi tramite trasferimento.

Per approfondire la teoria accademica, le note di Stanford CS231n offrono un'eccellente panoramica, mentre il tutorialPyTorch Learning fornisce dettagli tecnici approfonditi per l'implementazione.

Unitevi alla comunità di Ultralytics

Entra nel futuro dell'AI. Connettiti, collabora e cresci con innovatori globali

Iscriviti ora