Few-shot e Zero-shot (IT)
L'apprendimento con pochi esempi (Few-shot Learning, FSL) e l'apprendimento senza esempi (Zero-shot Learning, ZSL) sono paradigmi di Machine Learning volti a risolvere il problema della scarsità di dati etichettati. Consentono ai modelli di apprendere e generalizzare le conoscenze sulla base di informazioni estremamente limitate, il che è fondamentale per l'applicazione dell'intelligenza artificiale in scenari reali in cui la raccolta di grandi dataset è impossibile o impraticabile.
Il problema pervasivo della scarsità di dati
I moderni modelli di deep learning mostrano risultati impressionanti, ma la loro efficacia dipende generalmente da enormi volumi di dati etichettati. La raccolta e l'annotazione di tali dati è un processo costoso, laborioso e spesso impossibile. Questo problema, noto come «carenza di informazioni», è particolarmente acuto in aree come:
- La diagnosi di malattie rare.
- La produzione industriale specializzata.
- La robotica e l'interazione con nuovi oggetti.
- La categorizzazione di nuovi prodotti o argomenti in continua comparsa.
FSL e ZSL offrono una soluzione spostando l'accento dai «big data» ai «dati intelligenti», concentrandosi sul trasferimento efficiente e sulla generalizzazione delle conoscenze.
Apprendimento con pochi esempi (Few-shot Learning)
Few-shot Learning (FSL) è un paradigma in cui il modello impara a riconoscere nuove classi sulla base di un numero molto ridotto di esempi etichettati (solitamente da 1 a 5), denominati support set (insieme di supporto).
Idea chiave
L'idea fondamentale dell'FSL non è semplicemente apprendere le caratteristiche di classi specifiche, ma imparare il processo di apprendimento (learning to learn). Il modello deve adattarsi rapidamente a nuovi compiti sconosciuti utilizzando un numero minimo di esempi. Questo si ottiene sfruttando conoscenze acquisite in precedenza e strategie di adattamento.
Approcci principali nell'FSL
- Meta-apprendimento («Imparare ad imparare»): È il paradigma dominante nell'FSL. Il modello viene addestrato su una moltitudine di compiti diversificati per imparare ad adattarsi efficacemente a nuovi compiti.
- Basato su metriche: I modelli (ad esempio, reti siamesi o reti prototipiche) imparano a costruire uno spazio di embedding in cui la distanza tra i vettori riflette la vicinanza semantica. La classificazione di un nuovo esempio avviene confrontando il suo embedding con quelli del support set.
- Basato sull'ottimizzazione: I modelli (ad esempio, MAML) imparano a trovare un'inizializzazione dei parametri che consenta un rapido fine-tuning (in pochi passi di discesa del gradiente) per un nuovo compito.
- In-Context Learning: Con l'avvento dei Large Language Model (LLM), è diventato popolare un approccio in cui gli esempi del support set vengono forniti al modello direttamente nel prompt. Il modello esegue un «meta-apprendimento implicito» durante l'inferenza, adattandosi al compito senza aggiornare i pesi.
Approcci avanzati nell'FSL
- One-shot Learning: È un caso particolare dell'FSL in cui il numero di esempi per ciascuna classe è pari a uno (K=1 nella notazione "N-way K-shot"). Esempi classici di architetture sono Matching Networks e Siamese Networks.
- Metodi generativi e data augmentation: L'FSL utilizza attivamente modelli generativi (GAN, VAE, modelli di diffusione) per sintetizzare esempi di dati aggiuntivi. Ciò consente di espandere artificialmente il support set e migliorare la qualità della classificazione, in particolare per classi rare o insolite.
- FSL Transduttivo: A differenza dell'approccio standard (induttivo), qui il modello durante l'adattamento tiene conto non solo del support set etichettato, ma anche dell'insieme completo degli esempi di test non etichettati (query). Ciò consente di cogliere la struttura dei dati nelle query, ad esempio tramite tecniche di label propagation, e di migliorare la robustezza della classificazione.
Apprendimento senza esempi (Zero-shot Learning)
Zero-shot Learning (ZSL) è un paradigma in cui il modello è in grado di riconoscere classi di cui non ha visto nemmeno un esempio durante la fase di addestramento.
Idea chiave
Ciò si ottiene sfruttando informazioni semantiche ausiliarie che descrivono sia le classi viste che quelle non viste. Il modello impara una mappatura dallo spazio delle caratteristiche di input (ad esempio, immagini) a uno spazio semantico comune.
Meccanismi dell'informazione semantica
- Attributi semantici: Le classi sono descritte da un insieme di attributi definiti dall'uomo (ad esempio, per la classe «zebra»: [ha_strisce, ha_zoccoli, è_mammifero]).
- Rappresentazioni vettoriali delle parole (Word Embedding): I nomi delle classi o le loro descrizioni testuali vengono convertiti in embedding tramite modelli linguistici pre-addestrati (ad esempio, Word2Vec, BERT).
- Prompting negli LLM: Con l'avvento di modelli multimodali come CLIP, lo ZSL può essere eseguito confrontando l'embedding di un'immagine con gli embedding delle descrizioni testuali delle classi (ad esempio, «una fotografia di un cane», «una fotografia di un gatto»).
Tipi di ZSL: Tradizionale, Generalizzato, Induttivo e Transduttivo
- ZSL Tradizionale: Nella fase di test, il modello deve classificare esempi appartenenti esclusivamente a classi non viste.
- ZSL Generalizzato (Generalized ZSL, GZSL): Uno scenario più realistico e complesso in cui il modello deve classificare esempi sia di classi viste che di classi non viste. Ciò richiede al modello non solo di riconoscere il nuovo, ma anche di distinguerlo dal già noto, contrastando la tendenza a favorire le classi viste.
- ZSL Induttivo: L'impostazione standard in cui il modello viene addestrato esclusivamente sui dati e sulle descrizioni semantiche delle classi viste, senza alcun accesso a informazioni sulle classi non viste.
- ZSL Transduttivo: Uno schema più avanzato in cui il modello, durante l'addestramento, può utilizzare esempi non etichettati delle classi non viste. Ciò consente di adattare anticipatamente lo spazio semantico e migliorare la qualità finale.
Approcci generativi nello ZSL
- Generazione di caratteristiche delle classi non viste: Per risolvere il problema della distorsione nel GZSL vengono ampiamente utilizzati modelli generativi (VAE, GAN). Essi sintetizzano non le immagini stesse, ma i loro vettori di caratteristiche (embedding) per le classi non viste sulla base delle loro descrizioni semantiche. Ciò consente di bilanciare il dataset per l'addestramento del classificatore finale.
Analisi comparativa e sinergia
| Aspetto | Apprendimento con pochi esempi (FSL) | Apprendimento senza esempi (ZSL) |
|---|---|---|
| Idea principale | Imparare ad adattarsi rapidamente a nuove classi sulla base di pochi esempi. | Imparare a riconoscere nuove classi sulla base delle loro descrizioni semantiche. |
| Requisiti sui dati per un nuovo compito/classe | Pochi esempi etichettati (1-5) per ciascuna nuova classe. | Zero esempi etichettati; è richiesta una descrizione semantica. |
| Trasferimento delle conoscenze | Apprendimento di conoscenze procedurali («come adattarsi») o di un buon spazio delle caratteristiche. | Apprendimento di relazioni semantiche e attributi, trasferimento delle conoscenze attraverso uno spazio semantico comune. |
| Casi d'uso tipici | Prototipazione rapida, personalizzazione, riconoscimento di oggetti rari, robotica. | Scoperta di nuove specie, categorizzazione di argomenti emergenti, gestione di tipologie di prodotti completamente nuove. |
Sfumature chiave e tendenze attuali
- Distinzione tra Zero-shot Learning e Zero-shot Prompting: È importante distinguere questi concetti. Lo ZSL è un paradigma architetturale di Machine Learning che richiede un modello specifico e informazioni semantiche. Lo Zero-shot Prompting è una tecnica applicata di prompt engineering in cui un Large Language Model (ad esempio, GPT-4) risolve un compito senza esempi nel prompt, basandosi esclusivamente sulle proprie conoscenze interne.
- Il ruolo del pre-addestramento su larga scala: Il successo moderno di FSL e ZSL è in gran parte attribuibile a potenti modelli fondazionali (BERT, CLIP, GPT-4). Il loro pre-addestramento su enormi masse di dati crea un embedding frontend universale e ricco di semantica, che costituisce un'eccellente base per la rapida adattamento e l'inferenza semantica in condizioni di scarsità di dati.
FSL e ZSL rappresentano punti diversi sullo spettro dell'efficienza nell'utilizzo dei dati e vengono spesso usati congiuntamente. Ad esempio, lo ZSL può essere utilizzato per inizializzare le rappresentazioni, che vengono poi affinate tramite FSL quando compaiono i primi esempi di una nuova classe.
Principali istituti di ricerca e partecipanti
La ricerca nel campo di FSL e ZSL è condotta attivamente sia in ambito accademico che nei laboratori industriali.
- Università: Università di Stanford, Università di Pechino, National University of Singapore.
- Laboratori industriali: Google AI, Meta AI, OpenAI.
Con l'avvento di potenti modelli fondazionali, il focus della ricerca si è spostato dallo sviluppo di architetture specializzate per FSL/ZSL verso metodi di adattamento efficiente di tali modelli.
Vedi anche
- Modelli linguistici di grandi dimensioni
Bibliografia
- Finn, C. et al. (2017). Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks. arXiv:1703.03400.
- Koch, G. et al. (2015). Siamese Neural Networks for One-Shot Image Recognition. PDF.
- Vinyals, O. et al. (2016). Matching Networks for One Shot Learning. arXiv:1606.04080.
- Snell, J. et al. (2017). Prototypical Networks for Few-Shot Learning. arXiv:1703.05175.
- Sung, F. et al. (2018). Learning to Compare: Relation Network for Few-Shot Learning. arXiv:1711.06025.
- Chen, Y. et al. (2021). Meta-Baseline: Exploring Simple Meta-Learning for Few-Shot Learning. arXiv:2003.04390.
- Wang, Y. et al. (2020). Generalizing from a Few Examples: A Survey on Few-Shot Learning. arXiv:1904.05046.
- Xian, Y. et al. (2018). Zero-Shot Learning — A Comprehensive Evaluation of the State of the Art. arXiv:1707.00600.
- Verma, V. K. et al. (2018). Generalized Zero-Shot Learning via Synthesized Examples. arXiv:1712.03878.
- Radford, A. et al. (2021). Learning Transferable Visual Models from Natural Language Supervision. arXiv:2103.00020.
- Xian, Y. et al. (2019). Zero-Shot Learning via Simultaneous Generating and Learning. arXiv:1910.09446.
- Verma, V. K. et al. (2017). Zero-Shot Learning via Generative Adversarial Training of Class-Conditional Feature Vectors. arXiv:1712.00981.