GLIP Introduzione alla pre-elaborazione linguaggio-immagine per la rilevazione degli oggetti

GLIP Introduzione alla pre-elaborazione linguaggio-immagine per la rilevazione oggetti

Riassunto dell’articolo: Pre-training del linguaggio-immagine basato su concetti concreti

Oggi ci immergeremo in un articolo che si basa sul grande successo di CLIP nel pre-training del linguaggio-immagine e lo estende al compito della rilevazione degli oggetti: GLIP — Pre-training del linguaggio-immagine basato su concetti concreti. Copriremo i concetti chiave e le scoperte dell’articolo e li renderemo facili da comprendere fornendo ulteriore contesto e aggiungendo annotazioni alle immagini e ai risultati degli esperimenti. Iniziamo!

source

Articolo: Pre-training del linguaggio-immagine basato su concetti concreti

Codice: https://github.com/microsoft/GLIP

Prima pubblicazione: 7 dic. 2021

Autori: Liunian Harold Li, Pengchuan Zhang, Haotian Zhang, Jianwei Yang, Chunyuan Li, Yiwu Zhong, Lijuan Wang, Lu Yuan, Lei Zhang, Jenq-Neng Hwang, Kai-Wei Chang, Jianfeng Gao

Categoria: apprendimento di rappresentazioni, rilevazione degli oggetti, ancoraggio delle frasi, apprendimento profondo multimodale, visione artificiale, elaborazione del linguaggio naturale, modelli di base

Indice

  1. Contesto e background
  2. Contributi dichiarati
  3. Metodo
  4. Esperimenti
  5. Ulteriori letture e risorse

Contesto e background

GLIP (Pre-training del linguaggio-immagine basato su concetti concreti) è un modello linguaggio-immagine multimodale. Simile a CLIP (Pre-training contrastivo del linguaggio-immagine), esegue un pre-training contrastivo per apprendere rappresentazioni semanticamente ricche e allinearle tra le sue modalità. Mentre CLIP apprende queste rappresentazioni a livello di immagine, il che significa che una frase descrive l’intera immagine, GLIP mira a estendere questo approccio alle rappresentazioni a livello di oggetto, il che significa che una frase potrebbe corrispondere a più oggetti all’interno dell’immagine. Il compito di identificare le corrispondenze tra singoli token in un prompt di testo e oggetti o regioni in un’immagine è chiamato ancoraggio delle frasi. Da qui la parola “Basato su concetti concreti” in GLIP.

Pertanto, GLIP mira a:

  1. Unificare l’ancoraggio delle frasi e la rilevazione degli oggetti per il pre-training su larga scala.
  2. Fornire un framework flessibile per la rilevazione degli oggetti senza utilizzare esempi, dove flessibile significa che non è limitato a un insieme fisso di classi.
  3. Costruire un modello pre-addestrato che si trasferisca senza soluzione di continuità a vari compiti e domini, in modo senza esempi o con pochi esempi.

Cosa puoi fare con un tale modello? Potresti utilizzare prompt di testo per trovare oggetti o regioni di interesse all’interno di un’immagine di input specifica. E la cosa migliore: non sei limitato a classi predefinite.

Fig. 1: Output di GLIP per diverse immagini e formati di prompt. Fonte dell'immagine + annotazioni dell'autore

Potresti elaborare ulteriormente queste rilevazioni (ad esempio, inserendole in un sistema di tracciamento) o creare un dataset personalizzato con determinate classi di interesse e utilizzarle per addestrare il tuo sistema di rilevazione supervisionato. Non solo potresti coprire classi rare o molto specifiche, ma potresti anche risparmiare molto tempo e denaro per la creazione di etichette manuali. Come vedremo in seguito, gli autori di GLIP hanno avuto un’idea simile per aumentare ulteriormente le prestazioni introducendo un framework insegnante-studente.

GLIP è stato adottato da molti altri progetti e domini nell’apprendimento profondo. Ad esempio, GLIGEN (Generazione di immagini basata su linguaggio ancorato) utilizza GLIP per condizionare la generazione di immagini di un modello di diffusione latente per aumentare la controllabilità. Inoltre, GLIP è stato combinato con altri modelli di base come DINO (Auto-distillazione senza etichette) e SAM (Segmenta qualsiasi cosa) per creare GroundingDINO e Grounded-Segment-Anything rispettivamente. GLIPv2 estende il modello GLIP iniziale con comprensione del linguaggio-visione per migliorare non solo l’ancoraggio delle frasi, ma anche consentire compiti di risposta a domande visive.

Contributi Rivendicati

  1. Pre-training su larga scala per la combinazione di grounding delle frasi e rilevamento degli oggetti
  2. Fornire una visione unificata sul rilevamento degli oggetti e il grounding delle frasi
  3. Fusione profonda della cross-modalità per apprendere rappresentazioni visive linguisticamente consapevoli di alta qualità e ottenere prestazioni superiori di apprendimento trasferito.
  4. Dimostrazione che il prompt-tuning è più efficace nella fusione profonda visione-linguaggio (es. GLIP) rispetto alle reti fuse superficialmente (es. CLIP)

Metodo

Avere un’idea generale di cosa si può fare con GLIP, diamo uno sguardo più approfondito ai dettagli del paper.

Panoramica Architetturale

Su un livello più elevato, l’architettura di GLIP è abbastanza simile a quella di CLIP nel senso che è composta anche da un codificatore di testo, un codificatore di immagini e una sorta di apprendimento contrastivo sulla similarità delle caratteristiche di testo e immagine. L’architettura di GLIP è mostrata nella Fig. 2.

Fig. 2: Architettura del framework. Fonte dell'immagine + annotazioni dell'autore

GLIP aggiunge un modulo di fusione profonda consapevole della lingua e dell’immagine dopo il codificatore di testo e immagine. Questo modulo esegue l’attenzione cross-modale ed estrae ulteriori caratteristiche. Viene calcolata una similarità coseno sulle caratteristiche di regione risultanti e sulle caratteristiche delle parole. Durante l’addestramento, la similarità delle coppie corrispondenti viene massimizzata, mentre viene minimizzata per le coppie non corrette. A differenza di CLIP, dove le coppie corrispondenti si trovano sulla diagonale della matrice di similarità, in GLIP la corrispondenza non viene eseguita a livello di frase, ma a livello di (sotto)parola, risultando di solito in posizioni fuori diagonale.

Grounding delle Frasi Formulato come Problema di Rilevamento degli Oggetti

Gli autori hanno notato che il problema del grounding delle frasi (cioè associare parole a oggetti/regioni in un’immagine) può essere formulato come Obiettivo di Rilevamento degli Oggetti, in cui l’obiettivo di perdita standard è:

La perdita di localizzazione è legata alla qualità della bounding box predetta, che a seconda del formato potrebbe essere la dimensione e la posizione della box. La perdita di classificazione è la parte chiave dell’unificazione. Calcolando i logit sulla similarità delle caratteristiche testo-immagine anziché sui logit di un classificatore di immagini, lo stesso obiettivo di perdita può essere utilizzato per l’addestramento.

Diverse Varianti del Modello

Vengono addestrati cinque modelli diversi per mostrare l’effetto delle scelte di progettazione degli autori e della scala del modello:

Fig. 3: Varianti del modello. Fonte dell'immagine + annotazioni dell'autore

Pre-Training Insegnante-Studente

Per migliorare le prestazioni di GLIP, gli autori addestrano il modello GLIP-T (C) (vedi Fig.3) su dati annotati dall’uomo, chiamati GoldG, per generare dati di grounding da coppie testo-immagine prese da Internet. Questo modello viene chiamato modello insegnante e successivamente viene addestrato un modello studente alimentandolo con i dati utilizzati per addestrare l’insegnante più i dati generati dall’insegnante. Vedi Fig. 4 per un’illustrazione.

Nota: Anche se vengono utilizzati i termini insegnante e studente, non si tratta dello stesso processo della distillazione della conoscenza, in cui viene addestrato un modello studente più piccolo per adattarsi all’output di un modello insegnante più grande.

Fig. 4. Pre-Training Insegnante-Studente. Immagine dell'autore

Curiosamente, come vedremo negli esperimenti, lo studente supera l’insegnante su molti (ma non tutti) set di dati sia per la rilevazione zero-shot che per la rilevazione few-shot. Perché succede? Il paper ipotizza che anche se l’insegnante fornisce una previsione con bassa confidenza (lo chiamano “ipotesi educata”), diventa la verità fondamentale (lo chiamano “segnale supervisionato”) nel dataset generato consumato dallo studente.

Esperimenti

Il paper GLIP presenta vari esperimenti e studi di ablazione, principalmente riguardanti:

  1. Trasferimento di Dominio Zero-Shot
  2. Efficienza dei Dati
  3. Creazione di Prompt

Ho alcuni dubbi per alcuni dei risultati e il modo in cui vengono presentati, e li evidenzierò nelle annotazioni. Non voglio diminuire i successi di GLIP e preferisco guardarli con un occhio critico.

Ora passiamo ai dettagli!

Trasferimento di Dominio Zero-Shot

Prima di tutto, daremo un’occhiata ai risultati del trasferimento di dominio zero-shot. In questo compito l’obiettivo è analizzare quanto bene i modelli GLIP pre-addestrati si comportano su un dataset diverso (cioè COCO e LVIS) rispetto a quello utilizzato durante il pre-addestramento e confrontarlo con una baseline con modelli addestrati in modo supervisionato. Successivamente, il modello GLIP pre-addestrato viene ulteriormente raffinato e valutato sul dataset in fase di test.

Nella Fig.5 vediamo i risultati del trasferimento di dominio zero-shot su COCO. Vediamo che tutti i modelli GLIP presentano una migliore performance zero-shot rispetto a un Faster RCNN supervisionato. Ci viene anche presentato il risultato che GLIP-L supera il precedente SOTA (al momento della pubblicazione del paper). Vediamo che il modello studente più grande, GLIP-L, supera il modello insegnante GLIP-T (C).

Fig. 5: Trasferimento di dominio zero-shot e raffinamento su COCO. Fonte dell'immagine + annotazioni dell'autore

Di seguito elenco i miei dubbi leggendo questi risultati e le affermazioni fatte nel paper, dove si dice che GLIP-L supera il miglior modello supervisionato SoftTeacher.

  1. Il modello che ha metriche migliori rispetto a SoftTeacher è GLIP-L, che è migliore di 0,2 punti. Questo piccolo margine potrebbe non essere il risultato del nuovo metodo di GLIP ma potrebbe essere dovuto a qualche differenza negli iperparametri di addestramento.
  2. GLIP-L non utilizza nemmeno i dati (Cap4M o Cap24M) generati dal modello insegnante che hanno presentato come una buona soluzione.
  3. GLIP-L è stato addestrato su un corpus di dati di addestramento molto più grande rispetto a SoftTeacher.

A mio parere i risultati che confrontano i diversi modelli GLIP e il DyHead-T che hanno addestrato sono completamente validi, ho solo dei dubbi in generale quando diversi metodi e modelli vengono confrontati in condizioni poco chiare o diverse.

Nella Fig.6, vediamo la performance del trasferimento di dominio zero-shot sul dataset LVIS. Possiamo vedere che il modello GLIP più grande, GLIP-L, supera tutti gli altri modelli supervisionati presentati.

Fig. 6: Trasferimento di dominio zero-shot su LVIS. Fonte dell'immagine + annotazioni dell'autore

Infine, GLIP è stato confrontato per la sua performance di grounding delle frasi sulle entità di Flickr30K rispetto a MDETR (vedi Fig.7). Entrambi i modelli studente, GLIP-T e GLIP-L, superano le baselines di MDETR.

Fig. 7: Performance di grounding delle frasi sulle entità di Flickr30K. Fonte dell'immagine + annotazioni dell'autore

Efficienza dei dati

Un altro esperimento riguarda l’efficienza dei dati. Questo esperimento mira a mostrare come le prestazioni (in termini di precisione media) cambiano quando si affina un modello pre-addestrato su un certo numero di dati specifici del compito. Nella Fig.8, i modelli vengono valutati su 13 diversi set di dati e le loro prestazioni vengono riportate come precisione media calcolata su 13 set di dati. I risultati vengono riportati per 0-shot, 1-shot, 3-shot, 5-shot, 10-shot e “all”-shot (dubito che sia un termine ufficiale per il fine-tuning completo, ma penso tu abbia capito 😅).

Fig. 8: Efficienza dei dati. Fonte dell'immagine + annotazioni dell'autore

Ingegneria dei prompt

Similmente a CLIP, gli autori riportano anche una correlazione tra le prestazioni del modello e la formulazione del prompt del testo di input. Propongono due tecniche per migliorare le prestazioni di un modello pre-addestrato, senza la necessità di riallenare i pesi del modello:

  1. Tuning manuale del prompt
  2. Tuning del prompt

L’idea del tuning manuale del prompt è quella di fornire ulteriore contesto sotto forma di parole descrittive aggiuntive, vedere Fig. 9:

Fig. 9: Esempio di tuning manuale del prompt. Fonte dell'immagine + annotazioni dell'autore

Il tuning manuale del prompt può sempre essere utilizzato per migliorare le prestazioni, indipendentemente se il modello è completamente addestrato o se il modello è utilizzato in uno scenario zero-shot o few-shot.

Il secondo approccio, tuning del prompt, richiede l’accesso alle etichette ground truth di un compito secondario ed è particolarmente adatto per scenari in cui ogni compito di rilevamento ha un unico prompt (ad esempio “Rileva auto”). In tale scenario, questo prompt verrebbe prima tradotto in un embedding delle caratteristiche utilizzando l’encoder di testo. Successivamente, l’encoder di immagini e il modulo di fusione profonda vengono congelati e solo l’embedding di input viene ottimizzato utilizzando le etichette ground truth. Gli embedding ottimizzati verrebbero quindi utilizzati come input per il modello e l’encoder di testo potrebbe essere rimosso.

La Fig. 10 mostra il risultato di questo tuning del prompt per vari modelli GLIP. Quando applicato a modelli che hanno un modulo di fusione profonda, il tuning del prompt raggiunge prestazioni quasi uguali al fine-tuning dei pesi del modello.

Fig. 10: Efficacia del tuning del prompt. Fonte dell'immagine + annotazioni dell'autore

Ulteriori letture e risorse

Come accennato all’inizio di questo articolo, GLIP è stato ampiamente adottato da un vasto numero di progetti.

Ecco una lista di articoli che si basano su GLIP:

  1. GLIPv2: Unificazione di localizzazione e comprensione visione-linguaggio
  2. GLIGEN: Generazione di testo-immagine aperta a insiemi di dati
  3. Grounding DINO: Unione di DINO con pre-addestramento basato su contesto per la rilevazione oggetti open-set

Ecco una lista di repository se desideri approfondire l’implementazione di GLIP e altri progetti interessanti basati su GLIP:

  • Implementazione ufficiale di GLIP
  • Notebook Python per sperimentare con GLIP
  • GroundingDINO: combinazione di GLIP e DINO
  • Grounded-Segment-Anything: combinazione di GroundingDINO e SAM

Ecco uno dei miei articoli sul modello fondamentale CLIP, seguendo lo stesso approccio di sintesi di questo articolo:

Il modello fondamentale CLIP

Riassunto dell’articolo – Apprendimento di modelli visivi trasferibili dalla supervisione del linguaggio naturale

towardsdatascience.com