Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

Transfer Learning

Sblocca la potenza del transfer learning per risparmiare tempo, migliorare le prestazioni dell'AI e affrontare nuove attività con dati limitati utilizzando modelli pre-addestrati.

L'apprendimento per trasferimento è una tecnica di apprendimento automatico in cui un modello sviluppato per un compito viene riutilizzato come punto di partenza per un modello su un secondo compito correlato. per un modello su un secondo compito correlato. Invece di addestrare un modello da zero, che richiede grandi quantità di dati di addestramento e di risorse di dati di addestramento e di risorse computazionali, l'apprendimento l'apprendimento per trasferimento sfrutta la conoscenza, come le mappe di caratteristiche, i pesi e i modelli appresi da un compito di partenza. Questo approccio è una pietra miliare del moderno deep learning, in particolare nella computer vision (CV), consentendo agli di ottenere un'elevata accuratezza con un numero dati e tempi di addestramento più brevi.

Come funziona il Transfer Learning

Il processo si basa sulla capacità delle reti neurali di apprendere rappresentazioni gerarchiche di gerarchiche. Negli strati iniziali di un modello, spesso chiamati "spina dorsale", la rete apprende caratteristiche visive universali. dorsale, la rete apprende le caratteristiche visive universali come bordi, texture e forme. Queste caratteristiche sono applicabili a quasi tutti i compiti visivi.

L'apprendimento per trasferimento comporta in genere due fasi principali:

  1. Pre-addestramento: Un modello viene addestrato su un enorme di riferimento, come ad esempio ImageNet (per la classificazione) o COCO (per il rilevamento). Il modello preaddestrato modello pre-addestrato possiede una solida comprensione delle strutture visive generali.
  2. Messa a punto: Il modello pre-addestrato viene adattato a un nuovo compito specifico. Durante la fine-tuning, il modello viene addestrato su un set di dati più piccolo, specifico compito. Spesso, i pesi degli strati iniziali sono "congelati" (mantenuti statici) per preservare le caratteristiche apprese, mentre solo gli strati finali (i pesi) sono "congelati" (mantenuti statici). caratteristiche apprese, mentre solo gli strati finali (la testa di rilevamento o il classificatore) vengono testa di rilevamento o classificatore) vengono aggiornati.

Per un'immersione teorica più approfondita, gli appunti di Stanford CS231n sull'apprendimento per trasferimento è una eccellente risorsa.

Vantaggi e rilevanza

L'apprendimento per trasferimento affronta la sfida comune della scarsità di dati. Partendo da caratteristiche pre-apprese, i modelli evitano di di overfitting su insiemi di dati di piccole dimensioni e convergono molto più velocemente molto più velocemente rispetto ai modelli inizializzati con pesi casuali.

  • Efficienza: Riduce il tempo di formazione da giorni o settimane a ore.
  • Prestazioni: Spesso produce rendimenti più elevati precisione e Recall perché il modello parte da una comprensione di "senso comune" delle immagini. senso comune" delle immagini.
  • Accessibilità: Consente agli utenti di creare potenti applicazioni di IA senza dover ricorrere ai massicci cluster di calcolo utilizzati dai giganti della tecnologia. cluster di calcolo utilizzati dai giganti della tecnologia.

Applicazioni nel mondo reale

L'apprendimento per trasferimento alimenta soluzioni di IA ampiamente utilizzate in vari settori:

Transfer Learning e concetti correlati

È utile distinguere l'apprendimento per trasferimento da termini simili:

  • rispetto all'apprendimento a zero colpi: L'apprendimento per trasferimento richiede alcuni dati etichettati per il nuovo compito per mettere a punto il modello. Al contrario, apprendimento a zero colpi tenta di classify oggetti che il modello non ha mai visto prima, basandosi solo su descrizioni semantiche o attributi senza esempi di addestramento. semantica o sugli attributi senza alcun esempio di addestramento.
  • vs. Distillazione della conoscenza: La distillazione della conoscenza si concentra sulla compressione del modello, trasferendo la conoscenza da un modello "insegnante" di grandi dimensioni a un modello "studente" più piccolo per migliorare l'efficienza. modello "insegnante" a un modello "studente" più piccolo per migliorare l'efficienza. L'apprendimento per trasferimento si concentra sull'adattamento al dominio, trasferendo le conoscenze da un compito generale a uno specifico.

Esempio pratico

Il seguente Python L'esempio dimostra come applicare l'apprendimento per trasferimento utilizzando il ultralytics biblioteca. Carichiamo un modello YOLO11 pre-addestrato su COCO e lo mettiamo a punto su un set di dati campione.

from ultralytics import YOLO

# Load a pre-trained model (weights derived from the COCO dataset)
# This acts as our starting point for transfer learning
model = YOLO("yolo11n.pt")

# Fine-tune the model on a new dataset (e.g., COCO8)
# The model adapts its pre-learned features to the specific data
model.train(data="coco8.yaml", epochs=5)

# The updated model can now be used for inference on the new task
model.predict("path/to/image.jpg")

Per maggiori dettagli sull'implementazione, consultare il tutorial ufficiale di Tutorial sull'apprendimento per trasferimento diPyTorch o alla Guida all'apprendimento per trasferimento diTensorFlow .

Unitevi alla comunità di Ultralytics

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

Iscriviti ora