Gli embedding semantici sono il nucleo dei modelli di AI moderni, inclusi chatbot e modelli di arte AI. A volte sono nascosti agli utenti, ma sono sempre presenti, in agguato appena sotto la superficie.
La teoria degli embedding ha solo due parti:
- Le cose — oggetti esterni a un modello AI, come testi e immagini — sono rappresentate da vettori creati dai modelli AI a partire dai dati relativi a quelle cose.
- Le relazioni tra le cose esterne a un modello AI sono rappresentate da relazioni spaziali tra quei vettori. Addestriamo i modelli AI specificamente per creare vettori che funzionino in questo modo.
Quando creiamo un modello multimodale immagine-testo, addestriamo il modello in modo che gli embedding delle immagini e gli embedding dei testi che descrivono o sono correlati a quelle immagini siano relativamente vicini tra loro. Le similitudini semantiche tra le cose che quei due vettori rappresentano — un'immagine e un testo — si riflettono nella relazione spaziale tra i due vettori.
Per esempio, potremmo ragionevolmente aspettarci che i vettori di embedding per un'immagine di un'arancia e il testo "un'arancia fresca" siano più vicini tra loro rispetto alla stessa immagine e al testo "una mela fresca".

Questo è lo scopo di un modello di embedding: generare rappresentazioni dove le caratteristiche che ci interessano — come il tipo di frutta raffigurata in un'immagine o nominata in un testo — sono preservate nella distanza tra di loro.
Ma la multimodalità introduce qualcos'altro. Potremmo scoprire che un'immagine di un'arancia è più vicina a un'immagine di una mela di quanto non lo sia al testo "un'arancia fresca", e che il testo "una mela fresca" è più vicino a un altro testo che a un'immagine di una mela.

Si scopre che questo è esattamente ciò che accade con i modelli multimodali, incluso il modello Jina CLIP di Jina AI (jina-clip-v1).

Per verificare questo, abbiamo campionato 1.000 coppie testo-immagine dal dataset di test Flickr8k. Ogni coppia contiene cinque testi di didascalia (quindi tecnicamente non una coppia) e una singola immagine, con tutti e cinque i testi che descrivono la stessa immagine.
Per esempio, la seguente immagine (1245022983_fb329886dd.jpg nel dataset Flickr8k):

Le sue cinque didascalie:
A child in all pink is posing nearby a stroller with buildings in the distance.
A little girl in pink dances with her hands on her hips.
A small girl wearing pink dances on the sidewalk.
The girl in a bright pink skirt dances near a stroller.
The little girl in pink has her hands on her hips.
Abbiamo utilizzato Jina CLIP per incorporare le immagini e i testi e poi:
- Confrontare le similarità del coseno degli embedding delle immagini con gli embedding dei loro testi di didascalia.
- Prendere gli embedding di tutti e cinque i testi di didascalia che descrivono la stessa immagine e confrontare le loro similarità del coseno tra loro.
Il risultato è un divario sorprendentemente ampio, visibile nella Figura 1:

Con poche eccezioni, le coppie di testi corrispondenti sono molto più vicine tra loro rispetto alle coppie immagine-testo corrispondenti. Questo indica fortemente che Jina CLIP sta codificando i testi in una parte dello spazio di embedding e le immagini in una parte largamente disgiunta relativamente lontana da essa. Questo spazio tra i testi e le immagini è il gap multimodale.

I modelli di embedding multimodali stanno codificando più delle informazioni semantiche che ci interessano: stanno codificando il mezzo del loro input. Secondo Jina CLIP, un'immagine non vale, come dice il detto, mille parole. Ha un contenuto che nessuna quantità di parole può mai veramente eguagliare. Codifica il mezzo dell'input nella semantica dei suoi embedding senza che nessuno l'abbia mai addestrato a farlo.
Questo fenomeno è stato studiato nell'articolo Mind the Gap: Understanding the Modality Gap in Multi-modal Contrastive Representation Learning [Liang et al., 2022] che lo definisce come il "gap modale". Il gap modale è la separazione spaziale, nello spazio di embedding, tra input in un mezzo e input in un altro. Sebbene i modelli non siano intenzionalmente addestrati ad avere tale gap, questi sono pervasivi nei modelli multimodali.
Le nostre indagini sul gap modale in Jina CLIP si basano fortemente su Liang et al. [2022].
tagDa Dove Viene il Gap Modale?
Liang et al. [2022] identificano tre principali fonti dietro il gap modale:
- Un bias di inizializzazione che chiamano "effetto cono".
- Riduzioni della temperatura (casualità) durante l'addestramento che rendono molto difficile "disimparare" questo bias.
- Procedure di apprendimento contrastivo, ampiamente utilizzate nei modelli multimodali, che rafforzano involontariamente il gap.
Esamineremo ciascuno di questi aspetti.
tagEffetto Cono
Un modello costruito con un'architettura CLIP o simile a CLIP è in realtà composto da due modelli di embedding separati collegati tra loro. Per i modelli multimodali immagine-testo, questo significa avere un modello per la codifica dei testi e uno completamente separato per la codifica delle immagini, come nello schema seguente.

Questi due modelli vengono addestrati in modo che un embedding di un'immagine e un embedding di un testo siano relativamente vicini quando il testo descrive bene l'immagine.
È possibile addestrare un modello come questo randomizzando i pesi in entrambi i modelli, presentando coppie di immagini e testi insieme e addestrandolo da zero per minimizzare la distanza tra i due output. Il modello CLIP originale di OpenAI è stato addestrato in questo modo. Tuttavia, questo richiede molte coppie immagine-testo e un addestramento computazionalmente costoso. Per il primo modello CLIP, OpenAI ha raccolto 400 milioni di coppie immagine-testo da materiali con didascalie presenti su Internet.
I modelli più recenti in stile CLIP utilizzano componenti pre-addestrati. Questo significa addestrare separatamente ogni componente come un buon modello di embedding unimodale, uno per i testi e uno per le immagini. Questi due modelli vengono poi ulteriormente addestrati insieme usando coppie immagine-testo, un processo chiamato contrastive tuning. Le coppie allineate di immagini e testi vengono utilizzate per "spingere" gradualmente i pesi a rendere gli embedding di testo e immagine corrispondenti più vicini tra loro, e quelli non corrispondenti più distanti.
Questo approccio generalmente richiede meno dati di coppie immagine-testo, che sono difficili e costosi da ottenere, e grandi quantità di testi e immagini senza didascalie, che sono molto più facili da ottenere. Jina CLIP (jina-clip-v1) è stato addestrato usando quest'ultimo metodo. Abbiamo pre-addestrato un modello JinaBERT v2 per la codifica del testo usando dati testuali generali e utilizzato un codificatore di immagini EVA-02 pre-addestrato, per poi addestrarli ulteriormente usando diverse tecniche di training contrastivo, come descritto in Koukounas et al. [2024]

Se prendiamo questi due modelli pre-addestrati e osserviamo il loro output, prima di addestrarli con coppie immagine-testo, notiamo qualcosa di importante. La Figura 2 (sopra) è una proiezione UMAP in due dimensioni degli embedding di immagini prodotti dal codificatore EVA-02 pre-addestrato e degli embedding di testo prodotti da JinaBERT v2 pre-addestrato, con le linee grigie che indicano le coppie immagine-testo corrispondenti. Questo è prima di qualsiasi addestramento cross-modale.
Il risultato è una sorta di "cono" troncato, con gli embedding di immagini da un lato e gli embedding di testo dall'altro. Questa forma conica è difficilmente traducibile in proiezioni bidimensionali ma si può vedere in generale nell'immagine sopra. Tutti i testi si raggruppano in una parte dello spazio di embedding, e tutte le immagini in un'altra parte. Se, dopo l'addestramento, i testi sono ancora più simili ad altri testi che alle immagini corrispondenti, questo stato iniziale è una grande ragione del perché. L'obiettivo di abbinare al meglio immagini a testi, testi a testi e immagini a immagini è completamente compatibile con questa forma conica.
Il modello è pregiudicato dalla nascita e ciò che impara non cambia questo fatto. La Figura 3 (sotto) è la stessa analisi del modello Jina CLIP come rilasciato, dopo il completo addestramento usando coppie immagine-testo. Se possibile, il divario multimodale è ancora più pronunciato.

Anche dopo un estensivo addestramento, Jina CLIP continua a codificare il medium come parte del messaggio.
Usare l'approccio più costoso di OpenAI, con una pura inizializzazione casuale, non elimina questo bias. Abbiamo preso l'architettura originale di OpenAI CLIP e randomizzato completamente tutti i pesi, poi fatto la stessa analisi di sopra. Il risultato è ancora una forma di cono troncato, come si vede nella Figura 4:

Questo bias è un problema strutturale e potrebbe non avere alcuna soluzione. In tal caso, possiamo solo cercare modi per correggerlo o mitigarlo durante l'addestramento.
tagTemperatura di Addestramento
Durante l'addestramento dei modelli AI, tipicamente aggiungiamo una componente casuale al processo. Calcoliamo quanto un batch di campioni di addestramento dovrebbe modificare i pesi nel modello, poi aggiungiamo un piccolo fattore casuale a queste modifiche prima di applicarle effettivamente. Chiamiamo la quantità di casualità temperatura, per analogia con il modo in cui usiamo la casualità in termodinamica.
Temperature alte creano grandi cambiamenti nei modelli molto velocemente, mentre temperature basse riducono la quantità di cambiamento che un modello può fare ogni volta che vede alcuni dati di addestramento. Il risultato è che con temperature alte, possiamo aspettarci che i singoli embedding si muovano molto nello spazio di embedding durante l'addestramento, e con temperature basse, si muoveranno molto più lentamente.
La migliore pratica per l'addestramento dei modelli AI è iniziare con una temperatura alta e poi ridurla progressivamente. Questo aiuta il modello a fare grandi salti nell'apprendimento all'inizio quando i pesi sono casuali o lontani da dove devono essere e poi gli permette di apprendere i dettagli in modo più stabile.
L'addestramento delle coppie immagine-testo di Jina CLIP inizia con una temperatura di 0,07 (questa è una temperatura relativamente alta) e la abbassa esponenzialmente nel corso dell'addestramento fino a 0,01, come mostrato nella Figura 5 sotto, un grafico della temperatura rispetto ai passi di addestramento:

Volevamo sapere se aumentare la temperatura — aggiungendo casualità — avrebbe ridotto l'effetto cono e avvicinato complessivamente gli embedding di immagini e testi. Quindi abbiamo riaddestrato Jina CLIP con una temperatura fissa di 0,1 (un valore molto alto). Dopo ogni epoca di addestramento, abbiamo controllato la distribuzione delle distanze tra coppie immagine-testo e coppie testo-testo, proprio come nella Figura 1. I risultati sono mostrati sotto nella Figura 6:

Come si può vedere, mantenere una temperatura alta riduce drasticamente il divario multimodale. Permettere agli embedding di muoversi molto durante l'addestramento contribuisce notevolmente a superare il bias iniziale nella distribuzione degli embedding.
Tuttavia, questo ha un costo. Abbiamo anche testato le prestazioni del modello utilizzando sei diversi test di recupero: Tre test di recupero testo-testo e tre di recupero testo-immagine, dai dataset MS-COCO, Flickr8k e Flickr30k. In tutti i test, osserviamo un crollo delle prestazioni all'inizio dell'addestramento seguito da una ripresa molto lenta, come si può vedere nella Figura 7:

Sarebbe probabilmente estremamente dispendioso in termini di tempo e costoso addestrare un modello come Jina CLIP utilizzando questa temperatura costantemente alta. Sebbene teoricamente fattibile, non è una soluzione pratica.
tagApprendimento Contrastivo e il Problema dei Falsi Negativi
Liang et al. [2022] hanno anche scoperto che le pratiche standard di apprendimento contrastivo — il meccanismo che usiamo per addestrare i modelli multimodali stile CLIP — tendono a rinforzare il divario multimodale.
L'apprendimento contrastivo è fondamentalmente un concetto semplice. Abbiamo un embedding di immagine e un embedding di testo e sappiamo che dovrebbero essere più vicini tra loro, quindi modifichiamo i pesi nel modello durante l'addestramento per ottenere questo risultato. Procediamo lentamente, modificando i pesi di una piccola quantità, e li modifichiamo in proporzione a quanto i due embedding sono distanti: Più sono vicini, minore sarà il cambiamento rispetto a quando sono più lontani.
Questa tecnica funziona molto meglio se non ci limitiamo ad avvicinare gli embedding quando corrispondono, ma li allontaniamo anche quando non corrispondono. Vogliamo avere non solo coppie immagine-testo che appartengono insieme, ma anche coppie che sappiamo non appartengono insieme.

Questo pone alcuni problemi:
- Le nostre fonti di dati consistono interamente in coppie corrispondenti. Nessuno creerebbe un database di testi e immagini che un umano ha verificato essere non correlati, né si potrebbe facilmente costruirne uno estraendo dati dal web o con qualche altra tecnica non supervisionata o semi-supervisionata.
- Anche le coppie immagine-testo che superficialmente sembrano completamente disgiunte non lo sono necessariamente. Non abbiamo una teoria della semantica che ci permetta di fare oggettivamente tali giudizi negativi. Per esempio, l'immagine di un gatto sdraiato su un portico non è una corrispondenza completamente negativa per il testo "un uomo che dorme su un divano". Entrambi coinvolgono lo sdraiarsi su qualcosa.
Idealmente, vorremmo addestrare con coppie immagine-testo che sappiamo con certezza essere correlate e non correlate, ma non c'è un modo ovvio per ottenere coppie sicuramente non correlate. È possibile chiedere alle persone "Questa frase descrive questa immagine?" e aspettarsi risposte coerenti. È molto più difficile ottenere risposte coerenti chiedendo "Questa frase non ha nulla a che fare con questa immagine?"
Invece, otteniamo coppie immagine-testo non correlate selezionando casualmente immagini e testi dai nostri dati di addestramento, aspettandoci che saranno praticamente sempre corrispondenze errate. In pratica, questo funziona dividendo i nostri dati di addestramento in batch. Per addestrare Jina CLIP, abbiamo utilizzato batch contenenti 32.000 coppie immagine-testo corrispondenti, ma per questo esperimento, le dimensioni dei batch erano solo 16.
La tabella sottostante mostra 16 coppie immagine-testo campionate casualmente da Flickr8k:

Per ottenere coppie non corrispondenti, combiniamo ogni immagine del batch con ogni testo tranne quello con cui corrisponde. Per esempio, la seguente coppia è un'immagine e un testo non corrispondenti:

Didascalia: Una bambina in rosa raccoglie fiori.
Ma questa procedura assume che tutti i testi che corrispondono ad altre immagini siano ugualmente cattive corrispondenze. Questo non è sempre vero. Per esempio:

Didascalia: Il cane siede vicino a un cumulo di neve.
Sebbene il testo non descriva questa immagine, hanno in comune un cane. Trattare questa coppia come non corrispondente tenderà ad allontanare la parola "cane" da qualsiasi immagine di un cane.
Liang et al. [2022] mostrano che queste coppie non corrispondenti imperfette spingono tutte le immagini e i testi ad allontanarsi tra loro.
Ci siamo proposti di verificare la loro affermazione con un modello di immagini vit-b-32 completamente inizializzato casualmente e un modello di testo JinaBERT v2 similmente randomizzato, con la temperatura di addestramento impostata a una costante di 0.02 (una temperatura moderatamente bassa). Abbiamo costruito due set di dati di addestramento:
- Uno con batch casuali estratti da Flickr8k, con coppie non corrispondenti costruite come descritto sopra.
- Uno dove i batch sono intenzionalmente costruiti con copie multiple della stessa immagine con testi diversi in ogni batch. Questo garantisce che un numero significativo di coppie "non corrispondenti" siano in realtà corrispondenze corrette tra loro.
Abbiamo poi addestrato due modelli per un'epoca, uno con ciascun set di dati di addestramento, e misurato la distanza coseno media tra 1.000 coppie testo-immagine nel dataset Flickr8k per ciascun modello. Il modello addestrato con batch casuali aveva una distanza coseno media di 0.7521, mentre quello addestrato con molte coppie "non corrispondenti" intenzionalmente corrispondenti aveva una distanza coseno media di 0.7840. L'effetto delle coppie "non corrispondenti" errate è piuttosto significativo. Considerando che l'addestramento reale del modello è molto più lungo e utilizza molti più dati, possiamo vedere come questo effetto crescerebbe e aumenterebbe il divario tra immagini e testi nel loro complesso.
tagIl Medium è il Messaggio
Il teorico delle comunicazioni canadese Marshall McLuhan ha coniato la frase "Il medium è il messaggio" nel suo libro del 1964 Understanding Media: The Extensions of Man per enfatizzare che i messaggi non sono autonomi. Ci arrivano in un contesto che ne influenza fortemente il significato, e sostenne famosamente che una delle parti più importanti di quel contesto è la natura del medium di comunicazione.
Il divario della multimodalità ci offre un'opportunità unica per studiare una classe di fenomeni semantici emergenti nei modelli di AI. Nessuno ha detto a Jina CLIP di codificare il medium dei dati su cui è stato addestrato — lo ha fatto comunque. Anche se non abbiamo risolto il problema per i modelli multimodali, abbiamo almeno una buona comprensione teorica dell'origine del problema.
Dovremmo presumere che i nostri modelli stiano codificando altre cose che non abbiamo ancora cercato a causa dello stesso tipo di bias. Per esempio, probabilmente abbiamo lo stesso problema nei modelli di embedding multilingue. L'addestramento congiunto su due o più lingue porta probabilmente allo stesso divario tra le lingue, specialmente dato che vengono ampiamente utilizzati metodi di training simili. Le soluzioni al problema del divario potrebbero avere implicazioni molto ampie.
Anche un'indagine sul bias di inizializzazione in una gamma più ampia di modelli porterà probabilmente a nuove intuizioni. Se il medium è il messaggio per un modello di embedding, chi sa cos'altro viene codificato nei nostri modelli senza che ne siamo consapevoli?







