Glossario

Apprendimento per trasferimento

Sfrutta la potenza dell'apprendimento per trasferimento per risparmiare tempo, aumentare le prestazioni dell'intelligenza artificiale e affrontare nuovi compiti con dati limitati grazie a modelli pre-addestrati.

Addestra i modelli YOLO semplicemente
con Ultralytics HUB

Per saperne di più

L'apprendimento per trasferimento è una tecnica di apprendimento automatico (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 costruire un modello da zero, che richiede notevoli risorse di dati e di calcolo, l'apprendimento per trasferimento sfrutta la conoscenza (caratteristiche, modelli e pesi) appresa da un compito di partenza per migliorare l'apprendimento di un compito di arrivo. Questo approccio è particolarmente vantaggioso quando il compito di destinazione ha un numero limitato di dati etichettati, in quanto accelera significativamente il processo di formazione e spesso porta a prestazioni migliori rispetto alla formazione solo sul set di dati di destinazione.

Come funziona l'apprendimento per trasferimento

L'idea alla base dell'apprendimento per trasferimento è che un modello addestrato su un set di dati ampio e generale, come ImageNet per i compiti di immagine o un corpus di testo massiccio per l'elaborazione del linguaggio naturale (NLP), impara caratteristiche generali che sono utili per molti altri compiti correlati. Ad esempio, nella computer vision (CV), gli strati iniziali di una rete neurale convoluzionale (CNN) potrebbero imparare a rilevare bordi, texture e forme semplici, elementi visivi fondamentali applicabili a diversi problemi di riconoscimento delle immagini.

Quando si applica l'apprendimento per trasferimento, in genere si parte da un modello pre-addestrato. A seconda della somiglianza tra i compiti di partenza e di arrivo e delle dimensioni del set di dati di arrivo, potresti:

  1. Usa il modello pre-addestrato come estrattore di caratteristiche: Congelare i pesi dei livelli iniziali (la struttura portante) e addestrare solo i livelli finali di classificazione o rilevamento sul nuovo set di dati. Questo è comune quando il dataset di destinazione è piccolo. Un esempio è l'utilizzo di YOLOv5 per congelare i livelli.
  2. Messa a punto del modello pre-addestrato: Scongelare alcuni o tutti gli strati pre-addestrati e continuare ad addestrarli sul nuovo set di dati, in genere con un tasso di apprendimento inferiore. Questo permette al modello di adattare le caratteristiche apprese in modo più specifico alle sfumature dell'attività target. Questa è una strategia comune quando il dataset di destinazione è più grande. Il fine-tuning è spesso considerato un tipo specifico di apprendimento per trasferimento.

Apprendimento per trasferimento e concetti correlati

  • Fine-tuning: Sebbene sia strettamente correlato e spesso usato in modo intercambiabile in alcuni contesti, il fine-tuning si riferisce specificamente al processo di scongelamento e di ulteriore addestramento dei pesi di un modello pre-addestrato su un nuovo compito. Si tratta di un metodo comunemente utilizzato nell'ambito della più ampia strategia dell'apprendimento per trasferimento.
  • Formazione da zero: Si tratta di inizializzare i pesi del modello in modo casuale e di addestrare l'intero modello solo sul set di dati di destinazione. Richiede una grande quantità di dati e di potenza di calcolo, che l'apprendimento per trasferimento mira a ridurre.
  • Apprendimento a zero colpi e apprendimento a pochi colpi: Queste tecniche mirano a consentire ai modelli di svolgere compiti con pochissimi o nessun esempio delle classi di destinazione, spesso sfruttando le conoscenze apprese durante il pre-addestramento in modi più complessi rispetto all'apprendimento di trasferimento standard o al fine-tuning. Modelli come CLIP sono esempi utilizzati in questi scenari.

Applicazioni del mondo reale

L'apprendimento per trasferimento è ampiamente applicato in diversi ambiti:

Strumenti e strutture

Piattaforme come Ultralytics HUB semplificano il processo di applicazione dell'apprendimento per trasferimento fornendo modelli pre-addestrati (come Ultralytics YOLOv8 e YOLO11) e strumenti per una facile formazione personalizzata su set di dati specifici dell'utente. Framework come PyTorch e TensorFlow offrono anche un ampio supporto e tutorial per implementare i flussi di lavoro dell'apprendimento per trasferimento. Per una comprensione teorica più approfondita, risorse come la panoramica di Stanford CS231n sull'apprendimento per trasferimento o indagini accademiche come"A Survey on Deep Transfer Learning" offrono spunti preziosi.

Leggi tutto