Siete assetati di ulteriori approfondimenti da parte di esperti?

Iscriviti alla nostra newsletter Tea O'Clock!

Abbonati

I molti modi diversi di utilizzare i modelli linguistici di grandi dimensioni nella classificazione delle immagini

Arthur Bastide
Pubblicato su
28/11/2024
Questo articolo esplora vari metodi derivati da articoli di ricerca che mirano a migliorare la classificazione delle immagini integrando i Large Language Models (LLM) in modi diversi. Questi metodi non sono progettati per far sì che gli LLM svolgano l'intero compito di classificazione, ma per "potenziare" i metodi esistenti. Sebbene gli approcci qui discussi non coprano l'intero potenziale degli LLM per questi casi d'uso, essi consentono di evidenziare tre "famiglie" di classificazione emergenti.

È 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.

Classificazione delle immagini

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.

Classificazione delle immagini a zero scatti

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:

  1. Incorporiamo tutte le etichette di interesse utilizzando CLIP (ad esempio, 10 etichette).
  2. Per farlo, utilizziamo un prompt del tipo "una foto di {label}" per generare 10 incorporazioni.
  3. Incorporiamo l'immagine da etichettare utilizzando CLIP.
  4. Misuriamo la somiglianza del coseno tra l'incorporazione dell'immagine e l'incorporazione di ciascuna etichetta.
  5. Selezioniamo l'etichetta con la maggiore somiglianza (o la maggiore probabilità se le somiglianze sono passate attraverso una funzione softmax).

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".

"Classificazione delle immagini "Enhanced zero-shot

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:

  1. L'incorporazione dell'immagine stessa.
  2. L'incorporazione della descrizione dell'immagine generata da un LLM multimodale.
  3. L'incorporazione dell'etichetta prevista da parte di un LLM multimodale, a cui vengono fornite tutte le etichette possibili.

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.

"Classificazione delle immagini "low-shot

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:

  1. I LLM, essendo addestrati solo su dati testuali, a volte mancano di sfumature nella comprensione degli aspetti visivi.
  2. Quando si cerca di generare descrizioni di etichette tramite un singolo prompt generico progettato per qualsiasi compito di classificazione, i risultati possono talvolta essere molto generici (ad esempio, "l'etichetta {label} può avere più colori").

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:

  1. Inizializzazione: Le descrizioni iniziali delle etichette D0 sono generate da un LLM (come descritto nei metodi precedenti). L'obiettivo è ottimizzare queste descrizioni.
  2. Feedback visivo: L'idea è quella di fornire a un LLM una conoscenza visiva da un modello come CLIP:un testo
    • Per ogni etichetta viene selezionato un piccolo insieme di immagini (ad esempio, un insieme "di addestramento", anche se questa terminologia verrà sfumata).
    • Per ogni immagine viene eseguita una previsione a colpo zero utilizzando le descrizioni iniziali D0.
    • Vengono calcolate metriche come l'accuratezza e una matrice di confusione personalizzata (i dettagli delle equazioni sono presentati di seguito):alcuni testi
      • Invece di incrementare di +1 solo la categoria prevista, viene aggiunto +1 a tutte le etichette la cui somiglianza di coseno supera λ volte la somiglianza di coseno della descrizione della classe di riferimento (equazione 3).
      • Una volta costruita la matrice, si calcola la somma per ogni etichetta (Equazione 4) e si seleziona la top-m (Equazione 5). Queste corrispondono alle etichette top-m le cui descrizioni sono meno chiare per CLIP.
      • Instead of using argmax or softmax, this matrix highlights labels for which the prediction is incorrect. The parameter λ represents the level of strictness (or leniency if λ<1, penalizing label descriptions with cosine similarities slightly below the ground-truth description’s similarity).
    • Il feedback visivo V(D) viene poi convertito in approfondimenti testuali utilizzando un LLM:some text
      • "Per l'etichetta ..., con descrizioni ..., le etichette con più confusione sono ..., le cui descrizioni sono ...".
  3. Ottimizzazione iterativa: Per ogni etichetta, vengono eseguite tre sotto-fasi: un testo
    • Mutazione: Utilizzando il feedback visivo V(D), un LLM genera K nuove serie di descrizioni (per garantire la diversità per l'ottimizzazione). Le descrizioni irrilevanti - quelle che sono molto vicine a quelle di altre etichette più ambigue (top-m) - vengono rimosse e sostituite con altre nuove.
    • Crossover: Vengono generate tutte le possibili combinazioni di nuove descrizioni tra gli insiemi, viene valutato il loro feedback visivo e la descrizione migliore viene mantenuta per l'iterazione successiva. In questo modo si garantisce che l'iterazione successiva inizi con le migliori descrizioni della fase precedente.
    • Aggiornamento del banco di memoria:testo
      • Le descrizioni sono classificate come "invariate", "eliminate" o "aggiunte".
      • Le descrizioni "aggiunte" vengono memorizzate come "positive", assicurando che la precisione di D(i) > D(i-1) (lo stesso avviene anche per le descrizioni "cancellate").
      • Questi banchi di memoria vengono forniti al LLM in ogni iterazione, insieme a un feedback visivo, per produrre nuovi set di descrizioni. In questo modo si garantisce che vengano sempre generate nuove descrizioni e che quelle cancellate non vengano riutilizzate.

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".

"Classificazione delle immagini "standard migliorata

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:

  • Quali sono gli elementi visivi che meglio distinguono le etichette di una classe?
  • Quali sono le caratteristiche più o meno significative per ogni etichetta?
  • Perché il mio modello ha fatto questa previsione?
  • Perché il mio modello ha sbagliato a classificare questa etichetta?

Il metodo, schematizzato sopra, può essere descritto come segue (utilizzando come esempio la classe "cane", con etichette corrispondenti a razze diverse):

  1. Determiniamo tutte le caratteristiche visive della categoria "cane" attraverso richieste successivecostruendo un albero visivo della categoria :un testo
    • Identifichiamo le "parti visive": Si tratta delle componenti visive primarie della categoria (ad esempio, testa, occhi, pelo, coda, zampe). Se possibile, chiediamo al LLM di suddividere le parti visive in componenti più granulari (ad esempio, all'interno della testa, c'è la bocca; all'interno della bocca, ci sono i denti, e così via). Viene definita una soglia di granularità (o profondità massima dell'albero).
    • Identifichiamo gli "attributi visivi": Questi caratterizzano le parti visive (ad esempio, dimensione, forma, colore, consistenza). In questo caso, il prompt fornisce esempi, poiché ogni parte visiva ha attributi specifici (ad esempio, l'attributo "opacità" non caratterizza la parte visiva "naso").
    • We identify "attribute values": For each combination of visual part and visual attribute, we determine all possible values for the category. For instance, for the visual part "tail" and the visual attribute "length," possible values could be {"short," "medium," "long"} or {"<10 cm," "10-20 cm," ">20 cm"}. To identify these attribute values, the LLM considers all labels in the class (e.g., all dog breeds provided), and redundant values are removed to retain only unique ones (since some labels may have similar attribute values). These values form the leaves of the tree, and we name "visual clues" the branches, that’s to say all the combinations of visual parts, visual attributes, and attribute values.
    • Ogni "indizio visivo" viene convertito in linguaggio naturale (frasi descrittive) e incorporato utilizzando il sistema CLIP : 

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":

  1. Ogni immagine del set di dati viene incorporata nello stesso spazio utilizzando il modello CLIP.
  2. Per ogni immagine, viene calcolato un punteggio di somiglianza del coseno per ogni indizio visivo. Di conseguenza, ci sono tanti punteggi di somiglianza quante sono le foglie dell'albero.
  3. Questi punteggi di somiglianza vengono utilizzati come caratteristiche per un modello di classificazione. Le caratteristiche sono quindi interpretabili.
  1. Per ogni "parte visiva" principale viene addestrato un modello e l'etichetta prevista più spesso tra i modelli viene selezionata come etichetta finale prevista.

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:

  • Abbiamo testato questo modello sul noto Stanford Dogs Dataset, che contiene oltre 20.000 immagini di più di 120 razze di cani. Una specificità di questo set di dati è l'inclusione di file .xml che specificano i confini delle colture per concentrarsi sull'elemento chiave di ogni immagine, migliorando le prestazioni del modello.
  • Per i risultati riportati di seguito, il modello è stato addestrato solo su 10 razze di cani (1.715 immagini) per semplificare l'analisi dei risultati.
  • A differenza del metodo originale, non abbiamo suddiviso il modello in sottomodelli dedicati a parti visive specifiche. Il nostro modello conteneva invece un numero significativo di caratteristiche (194), che abbiamo ridotto a 110 attraverso una ricerca a griglia sulla soglia di importanza delle caratteristiche (calcolata con la tecnica della permutazione delle caratteristiche, applicabile ai modelli ad albero).

L'approccio consente di interpretare il modello a tre livelli:

  1. Livello della classe:

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:

  1. Livello dell'etichetta:

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: 

  1. Livello di previsione: 

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:

  • Essi calcolano il valore intrinseco delle caratteristiche calcolando modelli basati su tutte le possibili combinazioni di caratteristiche. Con l'analisi dei pesi dei coefficienti per i modelli lineari o dei coefficienti GINI per i modelli ad albero, non possiamo valutare che l'importanza delle caratteristiche non sia correlata all'utilizzo di altre variabili indipendenti nel modello.
  • Assegnano pesi specifici a una determinata previsione. Ad esempio, se il peso di una caratteristica è elevato per il modello complessivo, ma il valore della variabile è basso per un ingresso specifico, il suo valore SHAP per la previsione sarà minimo.

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).

Tutti gli articoli

Articoli correlati

Creare un ciclo di feedback tra i test di incrementalità e i modelli di marketing mix con modelli basati su agenti

02 min
Romain Warlop

Approfondite le simulazioni della vostra strategia di marketing con i modelli basati su agenti

02 min
Romain Warlop

Volete saperne di più? Iscrivetevi alla nostra newsletter mensile.

Scoprite tutte le ultime notizie, articoli, repliche di webinar e cinquantacinque eventi nella nostra newsletter mensile, Tea O'Clock.

Nome*
Cognome*
Azienda*
Lingua preferita*
Email*
 Grazie!

La tua richiesta di abbonamento è stata presa in considerazione con successo.
Oops! Qualcosa è andato storto durante l'invio del modulo.