Pubblicato: 24 gennaio 2024
Collaboratori: Dave Bergmann
Lo zero-shot learning (ZSL) è uno scenario di machine learning in cui un modello AI viene addestrato a riconoscere e categorizzare oggetti o concetti senza aver visto prima alcun esempio di tali categorie o concetti.
I modelli di deep learning più all'avanguardia per la classificazione o la regressione sono addestrati tramite l'apprendimento supervisionato, che richiede molti esempi etichettati di classi di dati pertinenti. I modelli "apprendono" facendo previsioni su un set di dati di addestramento etichettati; le etichette dei dati forniscono sia la gamma di risposte possibili sia le risposte corrette (o la verità di base) per ogni esempio di addestramento. "Imparare", in questo caso, significa regolare le ponderazioni del modello per ridurre al minimo la differenza tra le previsioni del modello e la verità di base. Questo processo richiede un numero sufficiente di campioni etichettati per molti cicli di addestramento e aggiornamenti. 00
Sebbene potente, l'apprendimento supervisionato non è pratico in alcuni scenari del mondo reale. Annotare grandi quantità di campioni di dati è costoso e richiede molto tempo e, in casi come quelli delle malattie rare e delle specie appena scoperte, gli esempi possono essere pochi oppure possono non esserci. Consideriamo attività di riconoscimento delle immagini: secondo uno studio, gli esseri umani sono in grado di riconoscere circa 30.000 categorie di oggetti distinguibili singolarmente.1 In termini di tempo, costi e risorse computazionali, i modelli di intelligenza artificiale si avvicinano nemmeno lontanamente alle capacità umane, se devono essere addestrati esplicitamente su dati etichettati per ciascuna classe.
L'esigenza che i modelli di machine learning riuscissero a ricondurre rapidamente oggetti a un gran numero di categorie semantiche con costi di addestramento minimi ha dato luogo allo n-shot learning: un sottoinsieme di machine learning che include anche few-shot learning (FSL) e one-shot learning. Il few-shot learning utilizza in genere metodi basati sull'apprendimento di trasferimento e sul meta-apprendimentoper addestrare i modelli a riconoscere rapidamente le nuove classi con solo pochi esempi di addestramento etichettati o, nel one-shot learning, un singolo esempio etichettato.
Lo zero-shot learning, come tutto l'apprendimento n-shot, non si riferisce a un algoritmo specifico o a un'architettura di rete neurale, ma alle caratteristiche del problema di apprendimento stesso: in ZSL, il modello non viene addestrato su alcun esempio etichettato delle classi non viste su cui viene chiesto di fare previsioni post-addestramento.
Questa configurazione del problema non tiene conto della presenza di tale classe (anche se senza etichetta) nei dati di addestramento. Ad esempio, alcuni grandi modelli linguistici (LLS) sono adatti alle attività ZSL, in quanto sono pre-addestrati tramite l'apprendimento autovalutato su un massiccio corpus di testo che può contenere riferimenti o conoscenze accidentali sulle classi di dati non viste. Senza esempi etichettati a cui attingere, i metodi ZSL si basano tutti sull'uso di tali conoscenze ausiliarie per fare previsioni.
Considerata la sua versatilità e l'ampia gamma di casi d'uso, lo zero-shot learning è diventato un'area di ricerca sempre più importante nella data science, in particolare nei campi della computer vision e dell'elaborazione del linguaggio naturale (NLP).
In un'impostazione ZSL tradizionale, il modello viene testato su un set di dati contenente campioni provenienti da classi di dati non viste. Sebbene utile per lo sviluppo e la convalida di metodologie zero-shot, non riflette le condizioni più comuni del mondo reale: lo zero-shot learning generalizzato (GSZL) si riferisce allo specifico problema di zero-shot learning in cui i punti dati che il modello ha il compito di classificare potrebbero appartenere a classi non viste o classi viste: classi che il modello ha già "appreso" da esempi etichettati.
Il GSZL deve superare un'ulteriore sfida: la tendenza dei classificatori a orientare le previsioni verso le classi viste durante l'addestramento rispetto alle classi non viste a cui non sono ancora stati esposti. Pertanto, il GSZL spesso richiede ulteriori tecniche per ridurre l'impatto di tale pregiudizio.
Scopri gli ostacoli all'adozione dell'AI, in particolare la mancanza di soluzioni di governance e gestione del rischio dell'AI.
Registrati per leggere la guida sui foundation model
In assenza di esempi etichettati delle categorie che il modello viene addestrato ad apprendere, i problemi dello zero-shot learning utilizzano informazioni ausiliarie: descrizioni testuali, attributi, rappresentazioni incorporate o altre informazioni semantiche pertinenti all'attività da svolgere.
Piuttosto che modellare direttamente i confini decisionali tra le classi, le tecniche di zero-shot learning normalmente producono un vettore di probabilità che rappresenta la probabilità che un dato input appartenga a determinate classi. I metodi GSZL possono aggiungere un discriminatore preliminare che determina innanzitutto se il campione appartiene a una classe vista o a una nuova classe, quindi procedere di conseguenza.
Nell'apprendimento supervisionato, nonché nel few-shot learning (FSL), il modello impara a riconoscere diverse classi osservando direttamente uno o più esempi etichettati di ciascuna classe. Senza queste annotazioni esplicite per guidarle, lo zero-shot learning richiede una comprensione più fondamentale del significato dell'etichetta.
Per una semplice analogia, immaginiamo che un bambino voglia imparare com'è un uccello. In un processo simile all'apprendimento supervisionato o FSL, il bambino impara guardando le immagini etichettate "uccello" in un libro di immagini di animali. Progredendo, riconoscerà un uccello perché assomiglia alle immagini degli uccelli che ha già visto. Ma in uno scenario ZSL non sono disponibili esempi di questo tipo. Il bambino potrebbe invece leggere una voce dell'enciclopedia sugli uccelli e apprendere che sono animali di piccola o media taglia con piume, becchi e ali che possono volare. Riuscirà quindi a riconoscere un uccello nel mondo reale, anche se non ne ha mai visto uno, perché ha imparato il concetto di uccello.
Come accennato in precedenza, gli LLM hanno dimostrato un potenziale naturale per lo ZSL, che deriva dalla loro capacità di comprendere fondamentalmente il significato delle parole usate per denominare le classi di dati.
Per ridurre al minimo il tempo e le risorse necessari per l'addestramento e la quantità di informazioni ausiliarie necessarie per identificare le classi non viste, lo ZSL spesso utilizza il transfer learning, il riutilizzo di un modello addestrato per una nuova attività, invece di addestrare modelli da zero.
Il transfer learning è utilizzato in modo preponderante nei metodi ZSL che rappresentano classi e campioni come incorporamenti semantici. Ad esempio, un modello che esegue la classificazione di testi zero-shot potrebbe utilizzare un modello basato su trasformatori come BERT, già pre-addestrato su un corpus massiccio di dati linguistici, per convertire le parole in incorporamenti vettoriali. Analogamente, un modello di classificazione delle immagini zero-shot potrebbe riutilizzare una rete neurale convoluzionale (CNN) pre-addestrata, come una ResNet o una U-Net, in quanto avrà già appreso i pesi dei filtri adatti a identificare importanti caratteristiche dell'immagine che potrebbero informare la classificazione.
Il transfer learning è particolarmente importante per il GSZL, in cui la conoscenza del modello delle classi viste può essere utilizzata come informazione ausiliaria sulle classi non viste.Ad esempio, immaginiamo che un modello di rilevamento di oggetti abbia già imparato a riconoscere gli orsi grizzly. Invece di addestrarlo a riconoscere anche gli orsi polari fornendogli esempi etichettati di orsi polari, può essere addestrato a capire che gli orsi polari sembrano orsi grizzly dal pelo bianco.
Questo processo di trasferimento delle conoscenze apprese a nuove attività e a classi diverse viene definito anche adattamento al dominio.
I metodi di zero-shot learning basati sugli attributi utilizzano una logica simile a quella dell'apprendimento supervisionato convenzionale. Anziché addestrare direttamente un classificatore su esempi etichettati di ciascuna classe di dati, i classificatori vengono addestrati sulle caratteristiche etichettate di determinate classi di dati, come colore, forma o altre caratteristiche chiave.
Anche se le classi di destinazione non vengono viste direttamente durante l'addestramento, l'etichetta di una classe non vista può essere dedotta se i suoi attributi assomigliano alle classi di attributi presenti nei dati di addestramento.
Dopo che il classificatore ha appreso tutte le caratteristiche pertinenti, può utilizzare le descrizioni semantiche di classi diverse. Questo approccio è particolarmente utile quando gli esempi etichettati di una classe di destinazione non sono disponibili, ma gli esempi etichettati delle sue caratteristiche sono relativamente abbondanti. Ad esempio, un modello può imparare "strisce" dalle immagini di tigri e zebre; può imparare "giallo" dalle immagini di canarini e "insetto volante" dalle immagini di mosche. Il modello può ora eseguire una classificazione zero-shot delle api, nonostante l'assenza di immagini delle api nel set di addestramento, perché può comprenderle come una combinazione di caratteristiche apprese: "insetti volanti a strisce, gialli".
Sebbene versatili e utili nelle circostanze adeguate, i metodi ZSL basati sugli attributi presentano notevoli inconvenienti:
Molti metodi ZSL rappresentano sia classi che campioni come incorporamenti semantici: rappresentazioni vettoriali che possono essere utilizzate per riflettere le caratteristiche o il significato di (e la relazione tra) diversi punti dati. La classificazione viene quindi determinata misurando la somiglianza tra l'incorporamento semantico di un determinato campione e gli incorporamenti delle diverse classi in cui potrebbe essere classificato.
Una volta che i punti dati sono stati rappresentati come incorporamenti, la classificazione viene determinata utilizzando principi simili a quelli degli algoritmi dei K-nearest neighbours: alcune metriche di distanza, come la similarità del coseno, la distanza euclidea o la distanza di Wasserstein, vengono utilizzate per misurare la vicinanza dell'incorporamento dei dati di input negli incorporamenti per ciascuna classe potenziale. Più l'incorporamento di quel campione di dati è vicino (o più è simile) a quello di una determinata classe, più è probabile che appartenga a quella classe.
Questi incorporamenti possono essere generati in diversi modi. Ad esempio:
Modelli e algoritmi pre-addestrati come BERT, word2vec o GloVe (vettori globali) possono generare facilmente incorporamenti vettoriali per parole (come i nomi delle etichette di classe).
Analogamente, le reti di codificatori di CNN pre-addestrate come ResNet (o codificatori di immagini basati su trasformatori come ViT) possono fare lo stesso per le immagini.
Gli autoencoder possono apprendere rappresentazioni latenti, ovvero codifiche compresse a bassa dimensione che isolano le variabili più distintive di un determinato input di dati, di campioni o classi.
Al posto del transfer learning, una varietà di architetture di reti neurali può essere addestrata da zero su dati di addestramento pertinenti, ad esempio campioni di classi di dati pertinenti per le quali sono disponibili esempi etichettati, per produrre incorporamenti efficaci.
Spazio di incorporamento congiunto
Poiché i metodi basati sull'incorporamento in genere elaborano informazioni ausiliarie e incorporamenti nello spazio vettoriale di diverse forme (o modalità) di dati, ad esempio l'incorporamento di parole che descrivono un'etichetta di classe e l'incorporamento di immagini di una fotografia che potrebbe appartenere a tale classe, necessitano di un modo per facilitare il confronto tra incorporamenti di diversi tipi di dati.
Per essere confrontati, gli incorporamenti vettoriali di diversi tipi e dimensioni devono essere normalizzati e proiettati in uno spazio semantico condiviso ad alta dimensionalità, denominato spazio di incorporamento congiunto, dove possono essere confrontati in un'impostazione di confronto con elementi simili. Parlando in modo astratto, questo funziona in modo analogo al concetto di formulare il minimo comune denominatore per confrontare frazioni dissimili. Una mappatura solida e correlativa tra diverse fonti di incorporazione è essenziale per le prestazioni di generalizzazione di un modello.3
Alcuni modelli di zero-shot learning utilizzano anche l'apprendimento contrastivo per allineare meglio gli incorporamenti semantici di diversi modelli o algoritmi: utilizzando coppie di incorporamenti semantici, l'apprendimento contrastivo addestra i modelli per ridurre al minimo la distanza tra coppie "positive" (come l'incorporamento di un'immagine di un cane e quella della parola "cane") e massimizzare la distanza tra coppie "negative" (non corrispondenti).
Addestramento end-to-end congiunto
Un modo efficace per garantire l'allineamento tra gli incorporamenti di modelli diversi è addestrare congiuntamente tali modelli uno accanto all'altro. Ad esempio, il modello Contrastive Language-Image Pre-training (CLIP) di OpenAI è stato addestrato su un enorme set di dati non etichettato di oltre 4 milioni di coppie di didascalie di immagini ricavate da Internet.4
Questi accoppiamenti sono stati utilizzati per addestrare congiuntamente un codificatore di immagini e un codificatore di testo da zero, utilizzando la perdita di contrasto per massimizzare la somiglianza del coseno tra gli incorporamenti di immagini e gli incorporamenti per le didascalie corrispondenti. Ciò ha prodotto una capacità naturale per la classificazione zero-shot: senza alcuna messa a punto, CLIP ha dimostrato ottime prestazioni di classificazione su 27 diversi set di dati di classificazione delle immagini.
L'AI generativa offre una soluzione alternativa al problema dello zero-shot learning: utilizzare le informazioni ausiliarie per generare dati di esempio.
I metodi generativi possono sfruttare le rappresentazioni semantiche di classi invisibili per generare campioni che, una volta etichettati, possono essere utilizzati per convertire il problema di apprendimento in apprendimento supervisionato standard. Sebbene i campioni senza etichetta (o le rappresentazioni di classi viste strettamente correlate) possano aiutare nella sintesi dei campioni, in un'impostazione zero-shot questo processo spesso si basa principalmente sulle descrizioni semantiche.
Gli LLM possono ridurre la manodopera necessaria per produrre descrizioni di alta qualità: nel documento di rilascio per il suo modello di generazione da testo a immagine DALL-E 3, OpenAI ha osservato che i sottotitoli sintetici hanno persino migliorato le prestazioni del modello rispetto ai sottotitoli della "verità di base".5
Autoencoder variazionali
Gli autoencoder variazionali (VAE) sono modelli generativi autosupervisionati che apprendono le rappresentazioni latenti dei dati di addestramento come distribuzione parametrizzata di variabili latenti. In pratica, imparano a codificare una classe di dati non come incorporamento semantico statico, ma come distribuzione di probabilità nello spazio latente. Il decodificatore può quindi essere utilizzato per generare un campione casuale da quello spazio latente. I VAE condizionali (CVAE) possono vincolare le proprietà dei campioni sintetizzati massimizzando la probabilità delle variabili scelte.
Reti antagoniste generative (GANS)
Le GAN sono costituite da due reti neurali, addestrate congiuntamente in un gioco antagonista a somma zero: un generatore che utilizza attributi semantici e rumore gaussiano per sintetizzare i campioni e un discriminatore che determina se i campioni sono reali o "falsi" (cioè sintetizzati dal generatore). Il feedback del discriminatore viene utilizzato per addestrare il generatore fino a quando il discriminatore non è più in grado di distinguere tra campioni reali e falsi. Dal momento che la ricerca GAN originale è stata sviluppata nel 2014, sono state apportate numerose modifiche per perfezionare e stabilizzare questo processo.
VAEGAN
Sia i VAE che i GAN presentano inconvenienti:
I VAE sono stabili, ma tendono a generare immagini sfocate a causa della natura del processo in base al quale i campioni vengono ricostruiti dallo spazio latente.
I GAN imparano a generare immagini di alta qualità, ma sono inclini alla destabilizzazione, perché devono far convergere due processi di addestramento separati e distinti.
Sebbene siano state sviluppate numerose modifiche per perfezionare e stabilizzare entrambi i processi, la combinazione delle due architetture del modello ha prodotto risultati promettenti in un contesto zero-shot.6
Modelli linguistici di grandi dimensioni (LLM)
Gli LLM possono essere utilizzati anche per sintetizzare campioni etichettati: ad esempio, utilizzando un modello autoregressivo come Llama 2 per generare campioni che possono essere utilizzati per addestrare un modello bidirezionale come Sentence-BERT per le attività di classificazione del testo.
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.
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.
Scala analytics e AI con tutti i dati, ovunque risiedano, con formati aperti per accedere a tutti i dati tramite un unico punto di ingresso e un'interfaccia conversazionale con tecnologia AI generativa per trovare, aumentare e visualizzare facilmente i dati e sbloccare nuovi insight sui dati.
Non esiste un modo giusto per dare suggerimenti ai foundation model. Ma modelli affidabili sono stati individuati nel mondo accademico e nei settori industriali. Usa gli esempi in questa esercitazione per sviluppare le tue competenze e la tua intuizione sul prompt engineering, anche per le attività zero-shot, attraverso la sperimentazione.
L'apprendimento autosupervisionato viene utilizzato nell'addestramento di una vasta gamma di sofisticate architetture di deep learning per diversi tipi di attività, dagli LLM basati su trasformatori come BERT e GPT ai modelli di sintesi dell'immagine come gli autoencoder variazionali (VE) e le reti antagoniste generative (GAN) ai modelli di computer vision come SimCLR e Momentum Contrast (MoCo).
Gli LLM dimostrano una ragionevole generalizzazione zero-shot su una serie diversificata di attività. È stato ipotizzato che questa sia una conseguenza dell'apprendimento multitasking implicito nell'addestramento. La generalizzazione zero-shot può invece essere direttamente indotta dall'apprendimento multitasking esplicito? Verifichiamo questa problematica su larga scala.
Tutti i link sono esterni a ibm.com
1 "Recognition-by-components: A theory of human image understanding," Psychological Review vol. 94 (pp. 115–147), 1987.
2 "Zero-shot Learning Using Multimodal Descriptions," Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) Workshops, 2022.
3 "Data-Efficient Language-Supervised Zero-Shot Learning with Self-Distillation," arXiv, 18 aprile 2021.
4 "CLIP: Connecting text and images," OpenAI, 5 gennaio 2021.
5 "Improving Image Generation with Better Captions," OpenAI, 2023.
6 "Zero-VAE-GAN: Generating Unseen Features for Generalized and Transductive Zero-Shot Learning," PubMed, 13 gennaio 2023.