Iscriviti alla nostra newsletter Tea O'Clock!
È possibile trovare una proposta di implementazione per l'ultimo metodo discusso in questo articolo sul mio repository GitHub → qui ←.
Prima di immergerci nella discussione principale, rivediamo alcuni concetti chiave.
La classificazione delle immagini nell'apprendimento automatico prevede l'assegnazione di un'etichetta specifica (o "classe" o "tag") a un'immagine da un insieme finito di etichette. Questo può essere fatto all'interno di una singola famiglia (ad esempio, identificare la razza di un cane tra tutte le razze possibili) o per distinguere famiglie distinte (ad esempio, determinare se un'immagine mostra un'auto, una casa, una barca o un animale).
L'obiettivo è addestrare un modello che utilizzi le caratteristiche delle immagini (forme, colori, texture, ecc.) per prevedere le loro etichette. Poiché l'elaborazione di tutti gli input di un'immagine è impraticabile (ad esempio, un'immagine a colori con 224x224 pixel ha 224 x 224 x 3 input, il che significa oltre 150.000 caratteristiche), le reti neurali convoluzionali (CNN) estraggono e riducono le caratteristiche dell'immagine senza perdere le informazioni chiave. Sebbene questo metodo sia molto efficace per le previsioni, rende impossibile l'interpretazione dei coefficienti del modello perché le caratteristiche non sono informazioni interpretabili. Questa è una limitazione che i LLM possono aiutare a risolvere.
Un altro concetto chiave è la classificazione a zero scatti, che consente di classificare le immagini in categorie mai viste esplicitamente durante l'addestramento del modello. Questo è possibile grazie a modelli come CLIP (Contrastive Language-Image Pre-Training), un modello di incorporazione testo-immagine in grado di vettorializzare immagini e testo nello stesso spazio di incorporazione. CLIP è stato addestrato su 400 milioni di immagini etichettate. Ad esempio, l'embedding della foto di un cane e la frase "un'immagine di un cane" saranno molto vicini in questo spazio.
Il processo di classificazione a colpo zero è il seguente:
Questo metodo può essere rappresentato matematicamente come:
Dove x è l'immagine da classificare, C={c1,c2,...,cn} è un insieme predefinito di etichette, ϕI / ϕT sono i codificatori di immagini e di testo (ad esempio, CLIP), e f(c) è la richiesta "una foto di {c}".
Questo è il metodo di classificazione di base a zero scatti, spesso chiamato "Vanilla CLIP".
In primo luogo, gli LLM migliorano facilmente la classificazione a scatto zero grazie alle descrizioni delle etichette che possono fornire. Infatti, invece di incorporare "Una foto di {label}", incorporiamo la descrizione dell'etichetta fornita dall'LLM, affinando il suo posizionamento nello spazio di incorporazione.
Questo approccio è rappresentato dall'equazione:
Dove D(c) è la descrizione dell'etichetta c.
Si noti che in questo caso viene calcolata una media delle somiglianze del coseno delle descrizioni delle classi. Questa tecnica, chiamata "prompt ensembling" (che di solito prevede la media delle incorporazioni), migliora l'accuratezza della classificazione.
Questo metodo è particolarmente efficace perché le diverse tecniche di prompting (DCLIP, WaffleCLIP, CuPL) danno risultati diversi a seconda dei dataset. Pertanto, consente un posizionamento più robusto delle etichette nello spazio di incorporazione.
Altri metodi vanno oltre l'ottimizzazione delle descrizioni delle etichette di destinazione. Ad esempio, nel loro studio "Enhancing Zero-Shot Image Classification with Multimodal Large Language Modelsi team di ricerca di Google si sono concentrati sull'ottimizzazione dell'incorporazione dell'immagine in ingresso, combinando tre incorporazioni distinte:
Di seguito troverete una rappresentazione visiva di questo approccio:
L'esempio seguente evidenzia due dei tre input derivati dall'immagine da classificare: la descrizione dell'immagine dal LLM e l'etichetta prevista dal LLM ("matita").
Anche se la previsione fornita come input non è corretta, l'inclusione di questo input migliora significativamente le prestazioni del modello in tutti i set di dati testati (ad esempio, per ImageNet, l'accuratezza è aumentata da 70,7 a 73,4).
Abbiamo appena introdotto il ruolo centrale degli LLM nella classificazione delle immagini: la loro capacità di affinare il posizionamento delle etichette di destinazione e delle immagini di input in uno spazio di incorporazione condiviso.
I metodi discussi in precedenza funzionano bene solo se le descrizioni testuali delle etichette (generate dall'LLM) sono rilevanti. Tuttavia, per alcuni insiemi di dati, come il noto Iris Flower Dataset, i risultati possono essere piuttosto scarsi. Ciò è dovuto a due ragioni principali:
Il metodo WaffleCLIP (Roth et al., 2023) evidenzia questo problema: in molti casi, la sostituzione di parole casuali nelle descrizioni delle etichette con termini vaghi e soprattutto non correlati ha un impatto minimo sull'accuratezza.
Il metodo "Iterative Optimization with Visual Feedback" introduce il concetto di classificazione delle immagini "low-shot" proponendo un approccio per ottimizzare le descrizioni delle etichette. Esso incorpora due aspetti chiave della vita reale: l'interazione con l'ambiente e l'ottimizzazione iterativa. Il riconoscimento umano di nuovi oggetti comporta un processo dinamico: aggiorniamo gradualmente le nostre conoscenze in base all'ambiente dell'oggetto, mantenendo solo le informazioni utili e scartando i dettagli irrilevanti.
La metodologia, di cui potete trovare il diagramma visivo qui sopra, consiste in tre fasi principali:
Dove d′ rappresenta le descrizioni di un'etichetta e d rappresenta le descrizioni dell'etichetta di verità.
Di seguito è riportato un esempio dei risultati ottenuti sul dataset Flowers102, confrontati con il metodo CuPL (uno dei metodi a zero colpi con tecniche di prompting specifiche). I grafici a barre evidenziano le tre descrizioni migliori e le tre peggiori per l'etichetta "Piume del Principe di Galles".
Perché si chiama classificazione delle immagini "a colpo basso"? Questo metodo si discosta dalla classificazione a zero scatti perché utilizza un numero ridotto di immagini etichettate per ottimizzare le descrizioni delle etichette di destinazione. Tuttavia, l'obiettivo finale rimane quello di migliorare le previsioni a zero scatti. Non si tratta quindi di un addestramento di Machine Learning tradizionale, poiché non c'è il rischio di overfitting. Questo è il motivo per cui viene utilizzato il termine "low-shot".
I LLM potrebbero anche migliorare i modelli tradizionali di classificazione delle immagini (quelli citati nell'introduzione)? Un approccio che affronta questa domanda è presentato nel documento di ricerca "Decomposizione concettuale gerarchica basata su LLM per la classificazione di immagini a grana fine interpretabile." L'obiettivo primario di questo approccio è quello di superare una limitazione precedentemente menzionata - la mancanza di interpretabilità nei modelli CNN - consentendoci di rispondere a domande quali:
Il metodo, schematizzato sopra, può essere descritto come segue (utilizzando come esempio la classe "cane", con etichette corrispondenti a razze diverse):
Utilizzando la conoscenza del LLM, generiamo quindi un insieme di frasi descrittive ("indizi visivi") per una determinata classe. Di seguito è riportato un esempio di una porzione dell'albero (visualizzato con la libreria pydot Python) per l'etichetta "Bulldog francese":
Poiché questo metodo potrebbe essere rilevante per alcuni casi d'uso di Fifty-five (in particolare quelli legati all'ottimizzazione delle creatività pubblicitarie) e per illustrare i suoi punti di forza rispetto alla classificazione tradizionale delle immagini, abbiamo implementato una versione codificata di questo approccio, disponibile sul mio repository GitHub. Prima di condividere alcuni esempi di output, alcune note preliminari:
L'approccio consente di interpretare il modello a tre livelli:
Possiamo analizzare quali indizi visivi sono più (o meno) efficaci per distinguere le razze di cani. L'importanza delle caratteristiche viene calcolata utilizzando la tecnica della permutazione delle caratteristiche applicata al nostro modello Random Forest:
Sfruttando la nostra distinzione tra "parti visive" e "attributi visivi", possiamo indagare ulteriormente su quali di questi siano più efficaci nel differenziare le etichette:
Analisi simili possono essere eseguite per le etichette. Ad esempio, di seguito sono riportate le tre caratteristiche più e meno importanti per ogni etichetta (calcolate questa volta utilizzando i coefficienti di Gini, motivo per cui le caratteristiche meno importanti hanno valori positivi):
La matrice di confusione evidenzia le razze di cani che il modello ha classificato più frequentemente in modo errato:
La confusione più frequente si verifica tra le etichette "Lhasa" e "Scotch Terrier". Esaminando le prime 30 caratteristiche con la massima importanza per ciascuna etichetta, scopriamo che 10 caratteristiche sono condivise tra le due etichette, il che spiega la confusione:
Per approfondire, possiamo esaminare una previsione specifica in cui il modello ha sbagliato a classificare le etichette:
Sebbene vicina, la probabilità di "Lhasa" (etichetta vera) per questa immagine è inferiore a quella di "Scotch Terrier" (etichetta prevista). Per comprendere meglio le previsioni del modello, i valori SHAP (SHapley Additive exPlanations) forniscono una visione più approfondita delle probabilità di una specifica previsione, principalmente per due motivi:
Nel nostro esempio, poiché gli Scotch Terrier sono principalmente neri, soprattutto nel nostro set di dati, comprendiamo l'importanza di indizi visivi come "il colore della pancia è nero" o "il colore della pelliccia della schiena è nero". Pertanto, è molto probabile che la pelliccia nera che il cane Lhasa indossa nell'immagine spieghi l'errore del modello.
Questi esempi mostrano il potenziale dei LLM per migliorare la classificazione delle immagini. I miglioramenti non sono direttamente legati alle prestazioni (i modelli CNN in genere raggiungono un'accuratezza maggiore), ma piuttosto all'interpretabilità del modello.
Tutti questi metodi hanno una somiglianza: forniscono informazioni descrittive su una classe e sulle sue etichette, attraverso un processo iterativo che coinvolge poche immagini e un modello di incorporazione multimodale (metodo "low-shot") o attraverso una decomposizione gerarchica ad albero (metodo "enhanced standard"). Pertanto, la dipendenza dalla conoscenza dell'LLM è una limitazione degna di nota.
Anche se abbiamo classificato questi metodi in tre "famiglie" di classificazione, essi non si escludono a vicenda. Per esempio, potremmo pensare di utilizzare le descrizioni del metodo "low-shot" come caratteristiche per il modello "enhanced standard" (anche se dobbiamo assicurarci di avere abbastanza immagini per entrambi i processi di addestramento specifici).
Scoprite tutte le ultime notizie, articoli, repliche di webinar e cinquantacinque eventi nella nostra newsletter mensile, Tea O'Clock.