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 Machine Learning (ML) in cui un modello sviluppato per un compito viene riutilizzato come punto di partenza per un modello su un secondo compito correlato. Invece di costruire un modello da zero, l'apprendimento per trasferimento sfrutta le conoscenze (caratteristiche, pesi) apprese da un compito di partenza, riducendo in modo significativo il tempo di formazione, i requisiti di dati e le risorse computazionali necessarie per il compito di arrivo. Questo approccio è particolarmente vantaggioso quando il compito di destinazione ha pochi dati etichettati.

Come funziona l'apprendimento per trasferimento

Il processo inizia tipicamente con un modello pre-addestrato su un ampio set di dati generali, come ImageNet per i compiti di immagine o grandi corpora di testo per l'elaborazione del linguaggio naturale (NLP). Questo pre-addestramento permette al modello, spesso un modello di Deep Learning (DL) come una Rete Neurale Convoluzionale (CNN) o un Trasformatore, di apprendere caratteristiche generali: bordi, texture, schemi nelle immagini o grammatica e semantica nei testi.

Per il nuovo compito, questo modello pre-addestrato viene adattato. Le strategie più comuni includono:

  1. Utilizzo del modello pre-addestrato come estrattore di caratteristiche: Gli strati iniziali del modello pre-addestrato vengono mantenuti congelati (i loro pesi non vengono aggiornati) e solo il classificatore finale o gli strati specifici del compito vengono addestrati sul nuovo set di dati.
  2. Messa a punto: Si tratta di scongelare alcuni o tutti gli strati pre-addestrati e di continuare il processo di addestramento(backpropagation) sul nuovo set di dati, in genere con un tasso di apprendimento inferiore per evitare di alterare drasticamente le caratteristiche apprese. La messa a punto permette al modello di specializzare le sue conoscenze generali per le sfumature specifiche del compito da svolgere.

Vantaggi dell'apprendimento per trasferimento

L'impiego dell'apprendimento per trasferimento offre diversi vantaggi chiave:

  • Riduzione del fabbisogno di dati: Raggiunge buone prestazioni anche con set di dati di destinazione più piccoli.
  • Sviluppo più veloce: Riduce notevolmente i tempi di formazione dei modelli.
  • Miglioramento delle prestazioni: Spesso porta a un'accuratezza maggiore e a una migliore generalizzazione rispetto alla formazione da zero, soprattutto su compiti complessi.
  • Efficienza delle risorse: Risparmia i costi di calcolo (GPU tempo, energia) associati a una formazione estesa.

Apprendimento per trasferimento e concetti correlati

  • Sintonizzazione fine: Come già detto, il fine-tuning è un metodo specifico utilizzato nell'ambito dell'apprendimento per trasferimento, in cui i pesi pre-addestrati vengono aggiustati durante l'addestramento sul nuovo compito. L'apprendimento per trasferimento è il concetto più ampio di sfruttamento della conoscenza, che potrebbe anche comportare l'utilizzo del modello pre-addestrato come estrattore di caratteristiche fisse, senza messa a punto.
  • Apprendimento Zero-Shot: A differenza dell'apprendimento per trasferimento, che adatta un modello a un nuovo compito utilizzando spesso nuovi dati etichettati, l'apprendimento Zero-Shot mira a svolgere compiti (come la classificazione) su classi che il modello non ha mai visto durante l'addestramento, basandosi su informazioni ausiliarie o spazi di attributi condivisi.
  • Formazione da zero: Questo è l'approccio tradizionale in cui i pesi del modello vengono inizializzati in modo casuale e addestrati esclusivamente sul set di dati di destinazione, richiedendo un numero di dati e di tempo significativamente maggiore.

Applicazioni del mondo reale

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

  1. Computer Vision: Modelli come Ultralytics YOLO, pre-addestrati su grandi set di dati come COCO, vengono spesso adattati per compiti specializzati di rilevamento di oggetti, segmentazione di immagini o classificazione di immagini. Ad esempio, un modello pre-addestrato sugli oggetti di uso quotidiano può essere messo a punto per applicazioni specifiche come l'analisi di immagini mediche per rilevare anomalie(individuazione di tumori) o per l'intelligenza artificiale in agricoltura per identificare colture o parassiti specifici. Puoi imparare ad applicare l'apprendimento per trasferimento con YOLOv5 congelando i livelli.
  2. Elaborazione del linguaggio naturale (NLP): I modelli linguistici di grandi dimensioni (LLM) come BERT e GPT sono pre-addestrati su enormi set di dati testuali. Servono come potenti modelli di base che possono essere messi a punto per compiti specifici di NLP come l'analisi del sentimento, il riconoscimento di entità denominate (NER) o la creazione di chatbot specializzati. Librerie come Hugging Face Transformers facilitano notevolmente questo processo.

Piattaforme come Ultralytics HUB semplificano il processo di applicazione del transfer learning fornendo modelli pre-addestrati (YOLOv8YOLOv11) 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 l'apprendimento per trasferimento. Per un approfondimento, esplora risorse come la panoramica di Stanford CS231n o indagini accademiche come"A Survey on Deep Transfer Learning".

Leggi tutto