Few-shot learning: cos’è e a cosa serve?

·

·

Il few-shot learning è una tecnica di machine learning che permette ai modelli di AI di apprendere nuovi compiti fornendo loro solo pochi esempi, da uno a cinque per categoria.

Il few-shot learning è una tecnica di machine learning che permette ai modelli di AI di apprendere nuovi compiti fornendo loro solo pochi esempi, da uno a cinque per categoria. A differenza del deep learning tradizionale che richiede migliaia di dati etichettati, il FSL replica la capacità umana di generalizzare rapidamente partendo da informazioni limitate. Si applica in contesti dove raccogliere dati è costoso o impossibile: dalla classificazione di immagini al riconoscimento di specie rare, dal natural language processing alla diagnostica medica.

Few-shot learning, di cosa si tratta?

Il few-shot learning è un sottocampo del machine learning e si ha quando un modello impara a riconoscere nuove categorie o eseguire compiti inediti usando un numero molto ridotto di esempi etichettati. Da uno a cinque esempi, di solito.

Questa tecnologia rappresenta un cambio di paradigma rispetto al deep learning classico, che necessita di dataset massicci per raggiungere buone performance. Mentre un modello tradizionale potrebbe richiedere decine di migliaia di immagini di gatti per riconoscerne uno, un sistema FSL può farlo con tre o quattro fotografie.

L’idea alla base è emulare la capacità umana di generalizzare rapidamente. Quando vediamo per la prima volta un animale esotico, non abbiamo bisogno di osservarne centinaia di esemplari per riconoscerne un altro in futuro: bastano pochi secondi di osservazione attenta. I modelli FSL cercano di replicare questa efficienza cognitiva.

La sigla FSL indica proprio questo approccio, in cui il termine ‘shot’ indica il numero di esempi forniti per classe. Si parla quindi di one-shot learning quando ne viene fornito uno solo, di few-shot quando ne vengono dati da due a cinque. Il modello non viene addestrato da zero ogni volta, ma sfrutta conoscenza pregressa acquisita su enormi quantità di dati per estrapolare pattern da informazioni minimali.

Come funziona il few-shot learning?

Il few-shot learning funziona attraverso un processo di addestramento preventivo su dataset ampi seguito da una fase di adattamento veloce su pochi esempi del compito specifico da risolvere.

Durante la fase di addestramento, il modello impara a identificare pattern generali, relazioni di somiglianza e differenza tra oggetti, concetti o dati. Non memorizza migliaia di esempi specifici, ma sviluppa una comprensione astratta di come distinguere elementi in base a caratteristiche chiave.

Il meccanismo si basa su due set di dati distinti:

  • support set: il piccolo gruppo di esempi etichettati forniti al modello per spiegare il nuovo compito. Contiene gli ‘shot’ veri e propri
  • query set: i nuovi dati che il modello deve classificare o elaborare basandosi sulla comprensione derivata dal support set.

La terminologia standard per descrivere questi compiti è N-way K-shot, dove N rappresenta il numero di classi da distinguere e K indica quanti esempi vengono forniti per ciascuna classe. Un task 5-way 3-shot significa che il modello deve imparare a riconoscere cinque categorie diverse avendo a disposizione tre esempi per ognuna, per un totale di quindici campioni.

In ambito visione artificiale, ad esempio, il modello impara caratteristiche generali come forma, texture, colore e rapporti spaziali durante l’addestramento su milioni di immagini. Quando poi gli vengono mostrate tre foto di una specie di farfalla mai vista prima, non deve ricominciare da zero: applica la conoscenza pregressa per individuare i tratti distintivi di quella specie specifica.

Meta-learning e in-context learning: i meccanismi dietro FSL

Il few-shot learning si appoggia principalmente su due meccanismi avanzati: il meta-learning, che insegna al modello come apprendere velocemente, e l’in-context learning, usato dai LLM per adattarsi a nuovi compiti senza modifica dei parametri.

Il meta-learning, spesso descritto come ‘imparare a imparare’, è il pilastro del FSL. Durante l’addestramento, il modello viene esposto non a un singolo compito ma a centinaia di task diversi, ciascuno con il proprio support set ridotto. L’obiettivo non è diventare bravissimo su quei task specifici, ma sviluppare una strategia generale per adattarsi rapidamente a qualsiasi nuovo problema.

Immagina di allenarti non risolvendo sempre lo stesso tipo di equazione matematica, ma affrontando ogni giorno problemi di natura diversa con indicazioni minimali. Non impari formule specifiche a memoria, ma acquisisci un metodo per identificare rapidamente quale approccio funziona meglio in base a pochi indizi. È esattamente quello che fa un modello FSL tramite meta-learning.

L’in-context learning è invece il meccanismo con cui i large language model come GPT o Claude applicano il few-shot learning. A differenza di altri approcci, qui il modello non viene riaddestrato né modificato: riceve semplicemente alcuni esempi direttamente nel prompt, nel contesto della conversazione.

Se chiedi a un LLM di classificare recensioni come positive o negative e gli fornisci due o tre esempi nel prompt stesso, il modello comprende il pattern al volo e applica la stessa logica alle nuove recensioni. Questo è few-shot prompting, una forma di in-context learning che sfrutta la capacità degli 

LLM di estrarre istruzioni implicite da esempi forniti in fase di inferenza, senza bisogno di ulteriore addestramento.

In quali ambiti si applica il few-shot learning?

Il few-shot learning trova applicazione in tutti i contesti in cui i dati sono rari, costosi da etichettare o impossibili da raccogliere in grandi quantità, dalla medicina alla computer vision fino all’elaborazione del linguaggio naturale.

In ambito medico, il FSL viene usato per analizzare immagini diagnostiche di malattie rare. Patologie con pochi casi documentati al mondo non permettono di costruire dataset con decine di migliaia di esempi, rendendo inutilizzabili le tecniche tradizionali. Qui un modello FSL può imparare a riconoscere anomalie specifiche da una manciata di radiografie o TAC, supportando i medici nelle diagnosi.

Nel campo della visione artificiale, il few-shot learning permette di identificare specie animali o vegetali rare, riconoscere difetti di produzione unici su linee industriali, o classificare oggetti mai visti prima da un sistema di sorveglianza. Un esempio concreto: addestrare un modello a rilevare crepe specifiche in componenti aerospaziali dove ogni tipologia di difetto compare raramente.

L’applicazione più diffusa oggi è nel natural language processing. Grazie al few-shot prompting, gli LLM possono essere istruiti a eseguire task specifici fornendo solo due o tre esempi direttamente nel prompt. Vuoi che l’AI estragga informazioni da documenti legali in un formato preciso? Gli mostri un paio di esempi di input-output e il modello replica la struttura sui nuovi documenti. Questo è particolarmente utile per chi lavora nel copywriting e deve generare contenuti seguendo linee guida editoriali specifiche. Anche chi lavora nella SEO ha nel few-shot learning una possibilità di addestramento per l’LLM utilizzato.

Anche la sicurezza informatica beneficia del FSL: i sistemi di rilevamento anomalie possono identificare nuove tipologie di attacchi informatici analizzando pochi esempi di traffico sospetto, prima che si diffondano su larga scala. Infine, nel riconoscimento facciale personalizzato, il FSL consente di aggiungere nuove identità al sistema fornendo solo due o tre foto della persona, senza dover riaddestrareil modello da zero su migliaia di volti.

Esempi concreti di few-shot learning

Gli esempi pratici di few-shot learning spaziano dal riconoscimento di specie biologiche rare alla generazione di testi strutturati, dimostrando come pochi campioni ben scelti permettano di addestrare sistemi AI performanti:

  • Caso 1: classificazione di specie botaniche rare. Un ricercatore deve catalogare piante endemiche di una foresta remota. Raccoglie tre fotografie di una specie mai classificata prima e le fornisce a un modello FSL addestrato su milioni di immagini botaniche generiche. Il sistema impara a riconoscere quella specie specifica dalle tre foto e può poi identificarla automaticamente in migliaia di immagini raccolte sul campo, risparmiando settimane di lavoro manuale
  • Caso 2: sentiment analysis personalizzata per un brand. Un’azienda vuole analizzare commenti sui social classificandoli in ‘entusiasta’, ‘neutro’, ‘critico costruttivo’, ‘lamentela’. Invece di etichettare manualmente migliaia di commenti, fornisce a un LLM tre esempi per ciascuna categoria nel prompt. Il modello comprende le sfumature richieste e classifica correttamente migliaia di nuovi commenti con precisione superiore all’85%, grazie al few-shot prompting
  • Caso 3: controllo qualità in produzione industriale. Una fabbrica di componenti elettronici deve identificare un nuovo tipo di difetto comparso su circuiti stampati. Gli ingegneri hanno solo cinque esempi fotografici del difetto. Un sistema FSL di computer vision viene istruito con queste cinque immagini e riesce a ispezionare automaticamente i lotti successivi, segnalando il difetto con accuratezza del 92% fin dal primo giorno.

Caso 4: estrazione dati da fatture. Uno studio commercialista riceve fatture da centinaia di fornitori diversi, ciascuno con layout proprietario. Con il few-shot learning, fornisce a un LLM tre esempi di fatture già processate mostrando il formato di  output desiderato. Il modello estrae automaticamente importi, date, codici fiscali e altri campi dalle nuove fatture, indipendentemente dal loro formato grafico originale.

Few-shot learning vs zero-shot learning vs supervised learning

Il few-shot learning si distingue dallo zero-shot learning e dal supervised learning tradizionale per il numero di esempi richiesti e per le modalità di addestramento, coprendo un’area intermedia tra inferenza pura e apprendimento da grandi dataset.

Lo zero-shot learning rappresenta l’estremo opposto: il modello esegue un compito senza aver mai visto nemmeno un esempio specifico. Si basa esclusivamente su descrizioni semantiche, attributi o conoscenza generale. Se chiedi a un LLM di tradurre un testo in una lingua che non ha mai visto durante l’addestramento ma di cui conosce le regole grammaticali, sta facendo zero-shot learning.

Il supervised learning classico richiede migliaia o milioni di esempi etichettati per ogni categoria che il modello deve riconoscere. È l’approccio tradizionale del deep learning: addestri una rete neurale su 50.000 immagini di cani per farle imparare a distinguere un cane da altri animali. Funziona benissimo quando i dati abbondano, ma diventa impraticabile quando etichettare è costoso.

La tabella seguente sintetizza le differenze principali.

CaratteristicaZero-shotFew-shot
Esempi richiesti.Nessuno.1-5 per classe.
Base di conoscenza.Descrizioni semantiche e conoscenza generale.Addestramento pregresso su grandi dataset + esempi specifici.
Caso d’uso ideale.Compiti nuovi ma concettualmente simili a quelli già noti.Dati scarsi ma necessità di alta precisione.
Precisione attesa.Media-bassa.Media-alta, dipende dalla qualità degli esempi.

Il supervised learning tradizionale non compare nella tabella perché opera su scala completamente diversa: richiede migliaia di esempi per classe e garantisce la massima precisione quando i dati sono abbondanti. Il FSL si posiziona come compromesso strategico: offre performance accettabili anche quando raccogliere dati su larga scala è impossibile o antieconomico.

In sintesi, zero-shot learning funziona senza esempi diretti ma con precisione limitata, few-shot learning richiede pochi esempi ben scelti e bilancia efficienza e accuratezza, mentre il supervised learning classico domina quando i dati abbondano ma fallisce quando sono scarsi.

Vantaggi e limiti del few-shot learning

Il few-shot learning offre vantaggi decisivi in scenari con dati limitati ma presenta anche criticità legate alla qualità degli esempi, al rischio di overfitting e alla necessità di supervisione umana per casi complessi.

Vantaggi principali

I vantaggi principali sono:

  • riduzione drastica dei costi di etichettatura: annotare manualmente migliaia di dati è costoso e richiede tempo. Il FSL riduce questo sforzo a pochi esempi per categoria
  • applicabilità a domini con dati rari: in medicina, biologia, sicurezza, dove certi fenomeni sono intrinsecamente poco frequenti, il FSL è spesso l’unica opzione praticabile
  • adattamento rapido a nuovi task: un modello FSL può essere operativo su un compito inedito in pochi minuti, senza mesi di raccolta dati e riaddestramento
  • scalabilità a lungo termine: aggiungere nuove categorie non richiede ricostruire l’intero dataset, basta fornire pochi nuovi esempi.

Limiti e criticità

I limiti e le criticità sono invece:

  • dipendenza dalla qualità degli esempi: con così pochi campioni, scegliere esempi poco rappresentativi o ambigui compromette l’intero  addestramento. Un singolo esempio fuorviante può distorcere completamente la comprensione del modello
  • rischio di overfitting: con pochi dati, il modello può memorizzare caratteristiche superficiali degli esempi invece di generalizzare pattern sottostanti. Se addestri un FSL a riconoscere gatti con tre foto tutte scattate su sfondo bianco, potrebbe associare erroneamente lo sfondo bianco alla categoria ‘gatto’
  • performance inferiori al supervised learning quando i dati abbondano: se hai accesso a decine di migliaia di esempi etichettati, il deep learning tradizionale supererà sempre il FSL in termini di accuratezza. Un fenomeno per certi aspetti simile all’essere lost-in-the-middle
  • necessità di human in the loop per validazione: nei contesti critici, l’output di un modello FSL richiede spesso supervisione umana per verificare che non si siano verificati errori dovuti alla scarsità di dati di addestramento
  • complessità nella selezione degli esempi: capire quali esempi fornire al modello richiede competenza specifica. Non basta scegliere a caso: servono campioni rappresentativi della variabilità reale del fenomeno.

Il concetto di human in the loop diventa particolarmente rilevante nel FSL: poiché il modello apprende da informazioni minimali, l’intervento umano per validare, correggere o integrare i risultati è spesso indispensabile, soprattutto in ambiti ad alto rischio come medicina o finanza.

In definitiva, il few-shot learning è una tecnologia potente ma non universale: funziona eccellentemente dove i dati sono scarsi per natura, ma non sostituisce approcci più consolidati quando le risorse lo permettono. La chiave è usarlo nei contesti giusti, con consapevolezza dei suoi limiti.

FAQ

Quanti esempi servono per il few-shot learning?

Tipicamente da uno a cinque esempi per categoria. Con un solo esempio si parla di one-shot learning, con due-cinque di few-shot vero e proprio. Oltre i dieci esempi si esce dal perimetro FSL e si entra nel supervised learning a bassa intensità di dati.

Il few-shot learning funziona meglio dello zero-shot?

Sì, nella maggior parte dei casi. Fornire anche solo due o tre esempi concreti migliora significativamente la precisione rispetto a descrizioni semantiche pure. Lo zero-shot è utile quando è impossibile ottenere anche un singolo esempio, ma il few-shot bilancia meglio accuratezza ed efficienza.

Posso usare il few-shot learning con ChatGPT o Claude?

Assolutamente. Gli LLM supportano nativamente il few-shot prompting: basta includere nel prompt alcuni esempi di input-output desiderati e il modello replicherà il pattern sui nuovi input. È uno degli usi più comuni del FSL in ambito NLP.

Il few-shot learning richiede GPU potenti?

Dipende. L’addestramento del modello base richiede risorse considerevoli, ma una volta addestrato, l’adattamento few-shot è veloce e può girare anche su hardware consumer. Per il few-shot prompting con LLM, non serve alcun addestramento: tutto avviene in fase di inferenza.

Quali settori beneficiano maggiormente del FSL?

Medicina, biologia, controllo qualità industriale, sicurezza informatica, robotica e NLP. In generale, qualsiasi ambito dove etichettare grandi quantità di dati è impossibile, costoso o dove i fenomeni da riconoscere sono intrinsecamente rari.



Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Are you human? Please solve:Captcha