Home topics few shot learning Che cos'è il few-shot learning?
Esplora la nostra piattaforma AI Abbonati per ricevere gli aggiornamenti sull'AI
Illustrazione con collage di pittogrammi di nuvole, grafico a torta, pittogrammi grafici
Che cos'è il few-shot learning?

Few-shot learning è un framework di machine learning in cui un modello AI impara a fare previsioni accurate addestrando un numero molto ridotto di esempi etichettati. In genere viene utilizzato per addestrare modelli per attività di classificazione quando i dati di addestramento idonei sono scarsi.

Il few-shot learning (FSL) è un sottoinsieme di quello che a volte viene indicato più in generale come n-shot learning, una categoria di intelligenza artificiale che include anche il one-shot learning (in cui c'è solo un esempio etichettato di ogni classe che deve essere appreso) e lo zero-shot learning (in cui non ci sono esempi etichettati). Mentre il one-shot learning è fondamentalmente solo una variante impegnativa dell'FSL, lo zero-shot learning è un problema di apprendimento distinto che richiede metodologie specifiche.

 In linea di principio, l'FSL mira a emulare la capacità umana di apprendere da un numero ridotto di esempi. Ciò è in contrasto con l'apprendimento supervisionato convenzionale, che in genere utilizza centinaia (o migliaia) di punti dati etichettati in molte fasi dell'addestramento per insegnare ai modelli AI a riconoscere le classi di dati. Pur essendo potente, l'apprendimento supervisionato è irrealizzabile in alcuni contesti del mondo reale: ottenere esempi etichettati spesso è difficile a causa dei costi proibitivi, delle competenze specifiche del dominio necessarie per annotare correttamente i dati o, in scenari come calligrafia unica, malattie rare o specie in via di estinzione o appena scoperte, della scarsità di campioni esistenti.

Sebbene alcuni algoritmi specifici e architetture di reti neurali abbiano ottenuto un notevole successo nelle attività FSL, il few-shot learning è definito dalla natura del problema di apprendimento piuttosto che dall'uso di un metodo o di una struttura del modello specifici. I metodi di few-shot learning sono profondamente diversi, dall'adattamento di modelli pre-addestrati per l'uso in attività simili, all'uso di modelli generativi per creare nuovi campioni, dai metodi di meta learning che addestrano i modelli a generalizzarsi correttamente su nuovi problemi di classificazione e diverse classi di dati, anziché svolgere un'attività specifica.

Perché la governance dell'AI è un imperativo aziendale per scalare l'AI aziendale

Scopri gli ostacoli all'adozione dell'AI, in particolare la mancanza di soluzioni di governance e gestione del rischio dell'AI.

Contenuti correlati

Registrati per leggere la guida sui foundation model

Come funziona la classificazione few-shot?

Sebbene il few-shot learning possa utilizzare un'ampia varietà di algoritmi o architetture di reti neurali, la maggior parte dei metodi è costruita intorno al transfer learning o al meta learning (o una combinazione di entrambi).

Anche se il few-shot learning può essere applicato anche alle attività di regressione (o anche al reinforcement learning), la maggior parte della letteratura FSL si concentra sui casi d'uso di classificazione. Alcuni metodi FSL possono essere utilizzati insieme ad altre soluzioni per affrontare la scarsità di dati etichettati: ad esempio, nei metodi di apprendimento semi-supervisionato che incorporano informazioni provenienti da grandi quantità di dati non etichettati insieme alle informazioni ricavate dal few-shot learning sui campioni etichettati limitati disponibili.1

Apprendimento per trasferimento

I metodi basati sul transfer learning si concentrano sull'adattamento di un modello pre-addestrato per apprendere nuove attività o classi di dati precedentemente non visualizzate.

Quando sono disponibili pochi campioni etichettati, utilizzando l'apprendimento supervisionato per addestrare un modello da zero, specialmente uno con un numero elevato di parametri, come le reti neurali convoluzionali (CNN) utilizzate tipicamente nella computer vision o le reti basate sul trasformatore utilizzate nell'elaborazione del linguaggio naturale (NLP), spesso si traduce in un overfitting: il modello potrebbe funzionare bene sui dati di test, ma meno bene sui dati reali. Ma la raccolta di una quantità di dati sufficientemente ampia per evitare l'overfitting è spesso un collo di bottiglia nell'addestramento dei modelli.

Il transfer learning offre una soluzione pratica: sfruttare le caratteristiche e le rappresentazioni utili che un modello addestrato ha già appreso. Un approccio semplice consiste nell'adattare un modello di classificazione per eseguire la stessa attività per una nuova classe attraverso l'apprendimento supervisionato su un numero ridotto di esempi etichettati. Gli approcci più complessi insegnano nuove skill attraverso la progettazione di attività a vallepertinenti, spesso attività di meta learning–, per un modello pre-addestrato attraverso attività pretesto : questo è sempre più comune in NLP, in particolare nel contesto dei foundation model.

Gli approcci di transfer learning più complessi adattano una rete neurale addestrata attraverso i cambiamenti all'architettura di rete: ad esempio, sostituendo o riaddestrando i livelli esterni di una rete neurale, dove ha luogo la classificazione finale, mantenendo al contempo i livelli interni dove si verifica l'estrazione delle funzione. Bloccando (o regolarizzando in altro modo le modifiche) i pesi del modello per tutti i livelli ad eccezione di quelli più esterni, è possibile garantire che gli aggiornamenti successivi non si traducano in una "dimenticanza catastrofica" di una conoscenza già appresa. Ciò consente un apprendimento notevolmente accelerato in un contesto few-shot.

Il transfer learning ha più successo quando l'addestramento iniziale del modello è pertinente per la nuova attività. Ad esempio, un modello addestrato su determinate specie di uccelli verrà generalizzato correttamente su una specie di uccelli mai vista dopo una messa a punto con pochi campioni etichettati, in quanto i pesi appresi dei filtri utilizzati dal CNN per le convoluzioni sono già ottimizzati per acquisire le funzioni pertinenti per la classificazione degli uccelli (come il piumaggio, i becchi, le dimensioni delle ali e così via).

Approccio a livello di dati

Una soluzione alternativa al problema dei campioni di dati etichettati limitati consiste nel generare campioni di addestramento aggiuntivi. Ciò è particolarmente utile quando gli esempi reali di una determinata classe di dati sono estremamente scarsi, come potrebbe accadere quando si ha a che fare con malattie rare o specie esotiche.

La generazione di dati attraverso modelli generativi come le reti generative antagoniste (GAN) o gli autoencoder variazionali (VAE), potenzialmente può produrre un numero sufficiente di campioni simili ai campioni originali etichettati per eseguire l'apprendimento supervisionato convenzionale, a condizione che i campioni originali abbiano una diversità sufficiente per evitare l'overfitting.

L'aumento dei dati, il processo di creazione di nuovi campioni applicando trasformazioni diverse ai campioni originali, può essere combinato con altri metodi: ad esempio, può essere utilizzato per creare campioni corrispondenti da utilizzare nel meta learning metrico in un processo simile all'apprendimento auto-supervisionato contrastivo.

meta apprendimento

A differenza della messa a punto o dell'apprendimento supervisionato, in cui un classificatore viene addestrato sulle attività esatte per le quali verrà utilizzato e il set di addestramento contiene le stesse classi su cui verrà testato il modello, il meta learning adotta un approccio più ampio e indiretto. Mentre gli approcci basati sul transfer learning adattano modelli pre-addestrati, i metodi di meta learning spesso addestrano i sistemi end-to-end da zero. 

Secondo Santoro, et al, il "meta learning" si riferisce a scenari in cui vengono utilizzate più attività per addestrare un modello sia a breve sia a lungo termine. All'interno di ogni attività, il modello impara rapidamente a fare previsioni pertinenti per l'ambito limitato di quella specifica attività; attraverso le attività, il modello accumula gradualmente conoscenze acquisendo il modo in cui i modelli e la struttura delle attività variano nei domini target. Questo processo a due livelli viene spesso descritto come il modello "apprendimento da imparare." 2

Ad esempio, l'obiettivo di numerosi e importanti metodi di meta learning è quello di addestrare la funzione di un modello, attraverso più episodi di addestramento, per produrre una previsione del grado di somiglianza tra i punti dati di qualsiasi classe, comprese le classi che il modello non ha ancora visto, per poi utilizzare gli apprendimenti di questo processo per risolvere attività a valle (come problemi di classificazione specificamente definiti).

Alcuni approcci di meta learning funzionano a un livello più astratto, addestrando i modelli in modo che siano facili da addestrare. Nell'apprendimento supervisionato tradizionale, i parametri di un modello (come pesi e distorsioni) sono ciò che viene "appreso", mentre gli hyperparametri del modello, come la velocità di apprendimento o il modo in cui i parametri vengono inizializzati, vengono configurati prima dell'addestramento e non fanno parte del processo di apprendimento. Il meta learning può avvicinarsi ai vantaggi del transfer learning apprendendo punti di partenza ideali: inizializzazioni di parametri o altre scelte di iperparametri che si generalizzeranno correttamente su set di dati diversi in un numero minimo di fasi di addestramento.

Classificazione N-way-K-shot

Sebbene sia possibile utilizzare un'ampia varietà di architetture di modelli di machine learning per il few-shot learning, la struttura dell'addestramento e valutazione FSL in genere segue un framework N-way-K-shot, in cui N rappresenta il numero di classi e K rappresenta il numero di esempi (o "shot") forniti per ciascuna classe.

 Nella classificazione N-way-K-shot, il modello viene sottoposto a più episodi di addestramento. Ogni episodio di addestramento è composto da una o più attività di addestramento. I modelli vengono valutati attraverso attività di test, la cui struttura rispecchia quella delle attività di addestramento. Ogni attività di addestramento (e attività di test) comprende due set di dati:

  • Il set di supporto contiene campioni di addestramento etichettati con K per ciascuna delle classi N. Il modello utilizza questi campioni di supporto per apprendere rappresentazioni generalizzate per ciascuna classe. Ad esempio, il set di dati per un'attività di classificazione 3-way-2-shot contiene 3 classi di immagini e fornisce 2 esempi per ciascuno. Quando K=1, l'attività è one-shot learning. Quando K=0, il problema è zero-shot learning, che in genere richiede soluzioni uniche.
  • Il set di query contiene uno o più nuovi esempi per ciascuna delle classi N. Utilizzando le rappresentazioni apprese dal set di supporto, il modello prevede la classificazione per ogni esempio nel set di query. Una funzione di perdita misura la divergenza ("perdita") tra le previsioni del modello e le previsioni "corrette"; dopo ogni episodio di addestramento, i parametri del modello vengono regolati, ottimizzati, per ridurre al minimo le perdite. 

Dal momento che l'obiettivo del meta learning è addestrare i modelli per generalizzarli correttamente su dati non visti, anziché riconoscere classi di dati specifiche, ogni attività di addestramento di solito comprende classi di dati diverse rispetto a quelle utilizzate in qualsiasi attività di addestramento precedente.

Per testare la capacità del modello di effettuare previsioni di somiglianza accurate per classi mai viste prima, il set di supporto e il set di query utilizzati per il test devono contenere classi di dati completamente nuove a cui il modello non è stato ancora esposto nelle attività di addestramento.

Meta learning basato su metriche

Gli algoritmi di meta learning basati su metriche funzionano su un principio simile a quello dei K-nearest neighbor: anziché prevedere la classificazione modellando direttamente il limite decisionale tra le classi, gli approcci basati su metriche generano un valore continuo (come l'incorporamento di un vettore) per rappresentare uno specifico campione di dati e fanno inferenze imparando una funzione che misura una metrica di distanza che rappresenta la somiglianza tra questo valore e il valore di classi o campioni diversi oggetto di confronto.

Algoritmi FSL basati su metriche
Reti siamesi

Uno sviluppo relativamente precoce degli algoritmi basati sulle metriche, le reti siamesi risolvono i problemi di classificazione binaria utilizzando l'apprendimento contrastivo: mostrando due campioni, le reti siamesi predicono se si tratta di una coppia positiva (corrispondente) o negativa (non corrispondente). La funzione di perdita del modello viene utilizzata per ridurre al minimo la distanza tra incorporamenti vettoriali di coppie positive e massimizzare la distanza tra incorporamenti di coppie negative. I modelli di perdita tripletta sono abbastanza simili: dato un campione "di riferimento" e due campioni aggiuntivi, uno corrispondente e uno non corrispondente, il modello prevede quale sarà la corrispondenza positiva e quale quella negativa.

In entrambi i metodi, è importante che i campioni di addestramento siano relativamente difficili da distinguere l'uno dall'altro. In caso contrario, il modello non sarà costretto ad apprendere parametri che producono incorporamenti più efficaci. L'aumento dei dati viene spesso utilizzato quando i campioni corrispondenti sono scarsi.

Leggi l'articolo: "Siamese Neural Networks for One-shot Image Recognition"
Reti corrispondenti

Mentre le reti siamesi possono risolvere solo le attività di classificazione binaria, le reti corrispondenti possono eseguire la classificazione a più vie. Pertanto, è considerato uno dei primi algoritmi dedicati di few-shot learning. 

Le reti corrispondenti producono un incorporamento per ciascun campione nei set di query e supporto utilizzando una rete neurale appropriata (ad esempio un CNN per le attività di immagine o LLM per le attività linguistiche naturali) e prevedono la classificazione misurando la distanza del coseno tra l'incorporamento dell'esempio di query e quello degli esempi di supporto disponibili.

Leggi l'articolo: "Matching Networks for One Shot Learning"
Reti prototipiche

Le reti prototipiche calcolano le caratteristiche medie di tutti i campioni disponibili per ogni classe al fine di calcolare un prototipo per ogni classe. La classificazione di uno specifico punto dati viene quindi determinata dalla sua relativa vicinanza ai prototipi di ciascuna classe. A differenza delle reti corrispondenti, le reti prototipiche utilizzano la distanza euclidea piuttosto che la distanza del coseno.

Sono stati proposti molti affinamenti a questo approccio: ad esempio, Zhu e Koniusz hanno proposto di utilizzare la propagazione di etichette per migliorare il processo di prototipazione.3

Leggi il documento: "Prototypical Networks for Few-shot Learning"
Reti di relazioni

Una rete di relazioni (RN) funziona sullo stesso principio generale della corrispondenza e delle reti prototipiche. Anche le RN utilizzano un modulo di incorporamento che impara a calcolare gli incorporamenti per le immagini di input e i prototipi di classe ma, a differenza di questi due algoritmi, che predefiniscono la funzione di distanza utilizzata per confrontare gli incorporamenti, le RN aggiungono un modulo di relazione che apprende una funzione di distanza non lineare che si adatta meglio agli specifici problemi di classificazione.

Leggi il documento: "Learning to Compare: Relation Network for Few-Shot Learning"
Meta learning basato sull'ottimizzazione

Il deep learning tradizionalmente richiede numerosi aggiornamenti iterativi dei parametri del modello attraverso la retropropagazione e la discesa del gradiente che, a sua volta, dipendono da un'elevata quantità di esempi etichettati per popolare i batch di addestramento. Per addestrare in modo efficiente una rete neurale da zero per il few-shot learning è necessario ottimizzare i pesi dei modelli in pochi passaggi di aggiornamento.

Metodi FSL basati sull'ottimizzazione

Gli approcci di meta learning basati sull'ottimizzazione, noti anche come meta learning basato sul gradiente (GMBL), mirano ad apprendere i parametri iniziali del modello o gli iperparametri per una rete neurale che possono essere messi a punto in modo efficiente per le attività pertinenti. Si ottengono ottimizzando il processo di discesa del gradiente, ovvero meta-ottimizzando il processo di ottimizzazione stesso.

Meta learning indipendente dal modello (MAML)

MAML è tra gli approcci basati sull'ottimizzazione più importanti ed è servito come base per una serie di approcci derivati dalla sua metodologia principale. Come suggerisce il nome, il meta learning indipendente dal modello non si concentra su un'attività specifica o sull'architettura del modello AI: può essere utilizzato su qualsiasi modello che apprende attraverso la discesa del gradiente.

MAML comporta due diversi livelli di aggiornamento dei parametri in una serie di varie attività di addestramento FSL, p(T). In ogni episodio di addestramento, una nuova attività Ti viene campionata in modo casuale da p(T); la discesa del gradiente, eseguita in K passi di dimensione α, viene utilizzata per ottimizzare un vettore di parametri del modello specifico dell'attività (θ'i) dopo ogni attività di addestramento. In diversi episodi di formazione, un set di meta-parametri (θ) viene ottimizzato applicando la discesa del gradiente, in meta-passi di dimensione β, su quei parametri specifici dell'attività θ'i. In altre parole, mentre la discesa ordinaria del gradiente calcola le derivate al fine di ottimizzare i parametri di un modello per un determinato compito, MAML calcola le derivate delle derivate (o le "derivate del secondo ordine") per ottimizzare i parametri iniziali di un modello per una successiva ottimizzazione specifica dell'attività.

Secondo il documento originale, l'obiettivo è quello di "trovare i parametri del modello che sono sensibili ai cambiamenti nell'attività, in modo tale che piccoli cambiamenti nei parametri producano grandi miglioramenti sulla funzione di perdita di qualsiasi attività tratta da p(T)". In questo modo si ottengono vantaggi simili a quelli del transfer learning, aggirando al contempo la necessità di elevate quantità di dati etichettati per il pre-addestramento.

Gli adattamenti proposti per MAML includono:

  • First Order MAML (FOMAML): la dipendenza di MAML dai derivati di secondo ordine è computazionalmente costosa e richiede una quantità di memoria elevata. FOMAML semplifica il processo attraverso una serie di assunzioni che consentono la meta-ottimizzazione utilizzando solo derivate del primo ordine.

  • Reptile: Reptile presenta il punto di mezzo tra la sofisticazione di MAML e la semplicità di FOMAML: utilizza le derivate del primo ordine, ma implementa regole uniche per l'aggiornamento dei parametri.4

  • Ottimizzazione delle dimensioni delle fasi: le varianti come Meta-SGD5 e Alpha MAML6 consentono di ottimizzare le dimensioni e la direzione delle fasi per 1234567 e 1234567. Analogamente, MAML++7 introduce una serie di modifiche per aumentare la stabilità e l'efficienza computazionale.

Leggi l'articolo: "Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks"
LTSM meta-learner

Gli approcci di meta learning possono utilizzare reti di memoria a lungo termine (LSTM) basate su RNN per addestrare un modello meta-learner per acquisire conoscenze a breve termine da ogni attività di addestramento e conoscenze a lungo termine comuni a ogni attività. Questo meta-learner viene quindi utilizzato per addestrare un classificatore di reti neurali.

Leggi l'articolo: "Optimization as a Model for Few-Shot Learning"
Ottimizzazione di incorporamento latente (LEO)

Anziché istanziare e aggiornare in modo esplicito un insieme unico di meta-parametri di modello θ, l'ottimizzazione di incorporamento latente apprende una distribuzione generativa di parametri di modello specifici per ogni attività in modo simile agli autorencoder variazionali (VE) che hanno lo stesso scopo. L'ottimizzazione del gradiente può quindi essere eseguita all'interno di quello spazio di incorporamento appreso e a bassa dimensionalità.

Leggi l'articolo: "Meta-Learning with Latent Embedding Optimization"
Casi d'uso di few-shot learning

Le tecniche di few-shot learning hanno un'ampia varietà di applicazioni, poiché molti settori e campi di ricerca possono trarre vantaggio dalla capacità di apprendere in modo rapido ed efficace da relativamente pochi esempi.

Computer vision

Sebbene numerosi e importanti algoritmi FSL siano stati originariamente sviluppati per (o testati) attività di classificazione delle immagini, FSL può essere utilizzato anche per problemi di computer vision più complessi.

Sebbene il rilevamento degli oggetti sia un problema significativamente più complesso della classificazione delle immagini, poiché gli oggetti non devono solo essere classificati ma anche localizzati accuratamente, di solito la classificazione delle immagini è un prerequisito. Di conseguenza, molte idee utilizzate per la classificazione possono essere adottate per il rilevamento degli oggetti di tipo few-shot.8

Analogamente, sono state proposte diverse architetture di modelli per lasegmentazione semantica.9

Robotica

L'FSL può consentire ai robot di adattarsi rapidamente ai nuovi ambienti e alle nuove attività, sia attraverso attività di classificazione di livello few-shot10, sia tramite reinforcement learning.11

Elaborazione del linguaggio naturale

L'FSL ha mostrato risultati promettenti per l'elaborazione del linguaggio naturale (NLP), in particolare attraverso il transfer learning: si tratta di un modo intuitivo che consente di adattare modelli linguistici di grandi dimensioni (LLM), pre-addestrati su un corpus massiccio di dati non etichettati, per compiti specifici come la classificazione dei testi e l'analisi del sentiment che possono richiedere una comprensione contestuale specifica.

Assistenza sanitaria

Il potenziale di FSL di acclimatare rapidamente un modello a classi di dati rari e sconosciuti è particolarmente promettente per i settori medici, in cui la rarità di certe condizioni o la competenza necessaria per annotare accuratamente i dati medici (come le risonanze magnetiche o le ecocardiografie) possono rendere proibitiva l'acquisizione di un gran numero di campioni etichettati.

Soluzioni correlate
Servizi di consulenza AI

Ripensa il modo in cui lavori con l'AI: il nostro team globale e diversificato, composto da oltre 20.000 esperti di AI, può aiutarti a progettare e scalare l'AI e l'automazione in tutta l'azienda in modo rapido e sicuro, lavorando con la nostra tecnologia IBM watsonx e  con un ecosistema aperto di partner, per fornire qualsiasi modello AI, su qualsiasi cloud, guidato da etica e fiducia.

Esplora i servizi di consulenza AI di IBM
IBM watsonx Assistant

Offri un servizio clienti intelligente e coerente in tutti i canali e i touchpoint con i conversational AI chatbot.

Esplora IBM watsonx Assistant

IBM watsonx.ai

Addestra, convalida, adatta e distribuisci AI generativa, foundation model e funzionalità di machine learning con facilità e crea applicazioni AI in un tempo brevissimo con pochissimi dati.

Esplora watsonx.ai
Risorse di few-shot learning Few-shot learning e AI generativa

Scopri di più sull'ascesa e sul futuro dell'AI generativa e su come il few-shot learning si inserisce in un quadro più ampio.

Few-shot learning con semantica multipla

Basandosi sui recenti progressi nel few-shot learning con informazioni semantiche aggiuntive, dimostriamo che ulteriori miglioramenti sono possibili combinando una semantica multipla e più ricca (etichette di categoria, attributi e descrizioni in linguaggio naturale).

Suggerimenti per scrivere i prompt dei Foundation model

Una rapida panoramica dei suggerimenti di prompt engineering per i modelli few-shot learning e generazione di prompt one-shot per i foundation model.

Fai il passo successivo

Addestra, convalida, adatta e implementa le funzionalità di AI generativa, foundation model e machine learning con IBM watsonx.ai, uno studio aziendale di nuova generazione per builder AI. Crea applicazioni AI in tempi ridotti e una minima quantità di dati.

Esplora watsonx.ai Prenota una demo live
Note a piè di pagina

Tutti i link sono esterni a ibm.com

1 "An Embarrassingly Simple Approach to Semi-Supervised Few-Shot Learning," arXiv, 28 settembre 2022
2 "Meta-Learning with Memory-Augmented Neural Networks," Proceedings of the 33rd International Conference on Machine Learning, 19 giugno 2016
3 "Transductive Few-shot Learning with Prototype-based Label Propagation by Iterative Graph Refinement," Computer Vision Foundation, 23 aprile 2023
4 "Reptile: A scalable meta-learning algorithm," OpenAI, 7 marzo 2018
5 "Meta-SGD: Learning to Learn Quickly for Few-Shot Learning," arXiv, 28 settembre 2017
6 "Alpha MAML: Adaptive Model-Agnostic Meta-Learning," arXiv, 17 maggio 2019
7 "How to train your MAML," arXiv, 5 March 2019
8 "Few-Shot Object Detection: A Comprehensive Survey," arXiv, 15 settembre 2022
9 "Leaderboard: Few-Shot Semantic Segmentation on PASCAL-5i (1-Shot)," PapersWithCode, accessed 3 gennaio 2024
10 "Few-Shot Continual Active Learning by a Robot," arXiv, 12 ottobre 2022
11 "Few-Shot Preference Learning for Human-in-the-Loop RL," Proceedings of the 6th Conference on Robot Learning, 2023