La ricerca multimodale, che combina testo e immagini in un'esperienza di ricerca integrata, ha acquisito slancio grazie a modelli come CLIP di OpenAI. Questi modelli colmano efficacemente il divario tra dati visivi e testuali, permettendoci di collegare immagini con testi pertinenti e viceversa.
Mentre CLIP e modelli simili sono potenti, hanno notevoli limitazioni, in particolare quando elaborano testi più lunghi o gestiscono relazioni testuali complesse. È qui che entra in gioco jina-clip-v1.
Progettato per affrontare queste sfide, jina-clip-v1 offre una migliore comprensione del testo mantenendo robuste capacità di abbinamento testo-immagine. Fornisce una soluzione più snella per le applicazioni che utilizzano entrambe le modalità, semplificando il processo di ricerca e eliminando la necessità di gestire modelli separati per testo e immagini.
In questo post, esploreremo cosa porta jina-clip-v1 alle applicazioni di ricerca multimodale, mostrando esperimenti che dimostrano come migliora sia l'accuratezza che la varietà dei risultati attraverso embedding integrati di testo e immagini.
tagChe cos'è CLIP?
CLIP (Contrastive Language–Image Pretraining) è un'architettura di modello AI sviluppata da OpenAI che collega testo e immagini apprendendo rappresentazioni congiunte. CLIP è essenzialmente un modello di testo e un modello di immagine saldati insieme — trasforma entrambi i tipi di input in uno spazio di embedding condiviso, dove testi e immagini simili sono posizionati vicini tra loro. CLIP è stato addestrato su un vasto dataset di coppie immagine-testo, permettendogli di comprendere la relazione tra contenuto visivo e testuale. Questo gli permette di generalizzare bene attraverso domini diversi, rendendolo altamente efficace in scenari di apprendimento zero-shot, come la generazione di didascalie o il recupero di immagini.
Dalla pubblicazione di CLIP, altri modelli come SigLiP, LiT, e EvaCLIP hanno ampliato le sue basi, migliorando aspetti come l'efficienza dell'addestramento, la scalabilità e la comprensione multimodale. Questi modelli spesso sfruttano dataset più grandi, architetture migliorate e tecniche di addestramento più sofisticate per spingere i limiti dell'allineamento testo-immagine, facendo progredire ulteriormente il campo dei modelli immagine-linguaggio.
Mentre CLIP può funzionare con il solo testo, ha significative limitazioni. Primo, è stato addestrato solo su brevi didascalie, non su testi lunghi, gestendo un massimo di circa 77 parole. Secondo, CLIP eccelle nel collegare testo a immagini ma fatica quando confronta testo con altro testo, come riconoscere che le stringhe a crimson fruit e a red apple possono riferirsi alla stessa cosa. È qui che brillano i modelli di testo specializzati, come jina-embeddings-v3.
Queste limitazioni complicano le attività di ricerca che coinvolgono sia testo che immagini, per esempio, un negozio online "shop the look" dove un utente può cercare prodotti di moda usando sia una stringa di testo che un'immagine. Quando si indicizzano i prodotti, è necessario elaborare ciascuno più volte - una volta per l'immagine, una volta per il testo e un'altra volta con un modello specifico per il testo. Allo stesso modo, quando un utente cerca un prodotto, il sistema deve cercare almeno due volte per trovare sia gli obiettivi testuali che quelli visivi:

tagCome jina-clip-v1 Risolve le Carenze di CLIP
Per superare le limitazioni di CLIP, abbiamo creato jina-clip-v1 per comprendere testi più lunghi e abbinare più efficacemente le query testuali sia ai testi che alle immagini. Cosa rende jina-clip-v1 così speciale? Innanzitutto, utilizza un modello di comprensione del testo più intelligente (JinaBERT), aiutandolo a comprendere pezzi di testo più lunghi e complicati (come le descrizioni dei prodotti), non solo brevi didascalie (come i nomi dei prodotti). In secondo luogo, abbiamo addestrato jina-clip-v1 per essere bravo in due cose contemporaneamente: sia nell'abbinare testo a immagini che nell'abbinare testo ad altri pezzi di testo.
Con OpenAI CLIP, questo non è il caso: sia per l'indicizzazione che per le query, è necessario invocare due modelli (CLIP per immagini e testi brevi come didascalie, un altro embedding di testo per testi più lunghi come descrizioni). Questo non solo aggiunge overhead, ma rallenta la ricerca, un'operazione che dovrebbe essere molto veloce. jina-clip-v1 fa tutto questo in un unico modello, senza sacrifici in termini di velocità:

Questo approccio unificato apre nuove possibilità che erano difficili con i modelli precedenti, potenzialmente ridefinendo il modo in cui affrontiamo la ricerca. In questo post, abbiamo condotto due esperimenti:
- Migliorare i risultati di ricerca combinando la ricerca di testo e immagini: Possiamo combinare ciò che jina-clip-v1 comprende dal testo con ciò che comprende dalle immagini? Cosa succede quando mescoliamo questi due tipi di comprensione? L'aggiunta di informazioni visive cambia i nostri risultati di ricerca? In breve, possiamo ottenere risultati migliori se cerchiamo con testo e immagini contemporaneamente?
- Usare le immagini per diversificare i risultati di ricerca: La maggior parte dei motori di ricerca massimizza le corrispondenze testuali. Ma possiamo usare la comprensione delle immagini di jina-clip-v1 come un "visual shuffle"? Invece di mostrare solo i risultati più rilevanti, potremmo includere quelli visivamente diversi. Non si tratta di trovare più risultati correlati – si tratta di mostrare una gamma più ampia di prospettive, anche se sono meno strettamente correlate. Facendo questo, potremmo scoprire aspetti di un argomento che non avevamo considerato prima. Per esempio, nel contesto della ricerca di moda, se un utente cerca "vestito da cocktail multicolore", vuole che i primi risultati siano tutti uguali (cioè corrispondenze molto strette), o una più ampia varietà tra cui scegliere (tramite visual shuffle)?
Entrambi gli approcci sono preziosi in una varietà di casi d'uso in cui gli utenti potrebbero cercare con testo o immagini, come nell'e-commerce, nei media, nell'arte e design, nell'imaging medico e oltre.
tagCalcolare la Media degli Embedding di Testo e Immagine per Prestazioni Superiori alla Media
Quando un utente invia una query (solitamente come stringa di testo), possiamo usare la torre di testo di jina-clip-v1 per codificare la query in un embedding di testo. La forza di jina-clip-v1 risiede nella sua capacità di comprendere sia testo che immagini allineando i segnali testo-testo e testo-immagine nello stesso spazio semantico.
Possiamo migliorare i risultati di recupero se combiniamo gli embedding pre-indicizzati di testo e immagini di ciascun prodotto calcolandone la media?

Questo crea una singola rappresentazione che include sia informazioni testuali (es. descrizione del prodotto) che visive (es. immagine del prodotto). Possiamo quindi usare l'embedding della query testuale per cercare queste rappresentazioni combinate. Come influisce questo sui nostri risultati di ricerca?
Per scoprirlo, abbiamo utilizzato il dataset Fashion200k, un dataset su larga scala creato specificamente per compiti relativi al recupero di immagini di moda e alla comprensione cross-modale. Consiste in oltre 200.000 immagini di articoli di moda, come vestiti, scarpe e accessori, insieme alle corrispondenti descrizioni dei prodotti e metadati.
Abbiamo ulteriormente categorizzato ogni elemento in una categoria ampia (per esempio, dress) e una categoria dettagliata (come knit midi dress).
tagAnalisi di Tre Metodi di Recupero
Per verificare se la media degli embedding di testo e immagini producesse risultati migliori, abbiamo sperimentato tre tipi di ricerca, ciascuno dei quali utilizza una stringa di testo (es. red dress) come query:
- Query to Description usando embedding testuali: Ricerca nelle descrizioni dei prodotti basata su embedding testuali.
- Query to Image usando ricerca cross-modale: Ricerca nelle immagini dei prodotti basata su embedding di immagini.
- Query to Average Embedding: Ricerca negli embedding mediati di descrizioni e immagini dei prodotti.
Abbiamo prima indicizzato l'intero dataset, e poi generato casualmente 1.000 query per valutare le prestazioni. Abbiamo codificato ogni query in un embedding testuale e fatto il matching dell'embedding separatamente, in base ai metodi descritti sopra. Abbiamo misurato l'accuratezza in base a quanto le categorie dei prodotti restituiti corrispondevano alla query di input.
Quando abbiamo usato la query multicolor henley t-shirt dress, la ricerca Query-to-Description ha ottenuto la precisione top-5 più alta, ma gli ultimi tre vestiti in classifica erano visivamente identici. Questo è meno che ideale, poiché una ricerca efficace dovrebbe bilanciare rilevanza e diversità per catturare meglio l'attenzione dell'utente.

La ricerca cross-modale Query-to-Image ha utilizzato la stessa query e ha preso l'approccio opposto, presentando una collezione altamente diversificata di vestiti. Mentre ha abbinato due risultati su cinque con la categoria ampia corretta, nessuno corrispondeva alla categoria dettagliata.

La ricerca con embedding medi di testo e immagini ha prodotto il miglior risultato: tutti e cinque i risultati corrispondevano alla categoria ampia, e due su cinque corrispondevano alla categoria dettagliata. Inoltre, gli elementi visivamente duplicati sono stati eliminati, fornendo una selezione più varia. L'utilizzo degli embedding di testo per cercare negli embedding medi di testo e immagini sembra mantenere la qualità della ricerca incorporando al contempo indizi visivi, portando a risultati più diversificati e completi.

tagAumentare la Scala: Valutazione con Più Query
Per vedere se questo avrebbe funzionato su scala più ampia, abbiamo continuato l'esperimento su ulteriori categorie ampie e dettagliate. Abbiamo eseguito diverse iterazioni, recuperando un numero diverso di risultati ("k-values") ogni volta.
Sia per le categorie ampie che per quelle dettagliate, la Query to Average Embedding ha costantemente ottenuto la precisione più alta per tutti i k-values (10, 20, 50, 100). Questo dimostra che combinare gli embedding di testo e immagini fornisce i risultati più accurati per recuperare elementi rilevanti, indipendentemente dal fatto che la categoria sia ampia o specifica:

| k | Search Type | Broad Category Precision (cosine similarity) | Fine-grained Category Precision (cosine similarity) |
|---|---|---|---|
| 10 | Query to Description | 0.9026 | 0.2314 |
| 10 | Query to Image | 0.7614 | 0.2037 |
| 10 | Query to Avg Embedding | 0.9230 | 0.2711 |
| 20 | Query to Description | 0.9150 | 0.2316 |
| 20 | Query to Image | 0.7523 | 0.1964 |
| 20 | Query to Avg Embedding | 0.9229 | 0.2631 |
| 50 | Query to Description | 0.9134 | 0.2254 |
| 50 | Query to Image | 0.7418 | 0.1750 |
| 50 | Query to Avg Embedding | 0.9226 | 0.2390 |
| 100 | Query to Description | 0.9092 | 0.2139 |
| 100 | Query to Image | 0.7258 | 0.1675 |
| 100 | Query to Avg Embedding | 0.9150 | 0.2286 |
- Query to Description usando embedding testuali ha funzionato bene in entrambe le categorie ma è rimasto leggermente indietro rispetto all'approccio con embedding medi. Questo suggerisce che le descrizioni testuali da sole forniscono informazioni preziose, in particolare per categorie più ampie come "dress", ma potrebbero mancare della sottigliezza necessaria per una classificazione dettagliata precisa (es. distinguere tra diversi tipi di vestiti).
- Query to Image usando ricerca cross-modale ha costantemente avuto la precisione più bassa in entrambe le categorie. Questo suggerisce che mentre le caratteristiche visive possono aiutare a identificare categorie ampie, sono meno efficaci nel catturare le distinzioni dettagliate di specifici capi di moda. La sfida di distinguere categorie dettagliate puramente da caratteristiche visive è particolarmente evidente, dove le differenze visive possono essere sottili e richiedere un contesto aggiuntivo fornito dal testo.
- Nel complesso, combinare informazioni testuali e visive (tramite embedding medi) ha ottenuto un'alta precisione sia nelle attività di recupero di moda ampie che dettagliate. Le descrizioni testuali giocano un ruolo importante, specialmente nell'identificare categorie ampie, mentre le immagini da sole sono meno efficaci in entrambi i casi.
In generale, la precisione è stata molto più alta per le categorie ampie rispetto alle categorie dettagliate, principalmente perché gli elementi nelle categorie ampie (es. dress) sono più rappresentati nel dataset rispetto alle categorie dettagliate (es. henley dress), semplicemente perché quest'ultime sono un sottoinsieme delle prime. Per sua stessa natura, una categoria ampia è più facile da generalizzare rispetto a una categoria dettagliata. Al di fuori dell'esempio della moda, è semplice identificare che qualcosa, in generale, è un uccello. È molto più difficile identificarlo come un Vogelkop Superb Bird of Paradise.
Un'altra cosa da notare è che l'informazione in una query testuale si abbina più facilmente ad altri testi (come nomi di prodotti o descrizioni), piuttosto che a caratteristiche visive. Pertanto, se un testo viene utilizzato come input, i testi sono un output più probabile rispetto alle immagini. Otteniamo i migliori risultati combinando sia immagini che testo (tramite la media degli embedding) nel nostro indice.
tagRecuperare Risultati con il Testo; Diversificarli con le Immagini
Nella sezione precedente, abbiamo toccato la questione dei risultati di ricerca visivamente duplicati. Nella ricerca, la precisione da sola non è sempre sufficiente. In molti casi, mantenere una lista ordinata concisa ma altamente rilevante e diversificata è più efficace, specialmente quando la query dell'utente è ambigua (per esempio, se un utente cercablack jacket — intendono una giacca da motociclista nera, un bomber, un blazer o qualche altro tipo?)
Ora, invece di sfruttare la capacità cross-modale di jina-clip-v1, useremo gli embedding testuali dalla sua torre di testo per la ricerca testuale iniziale, poi applicheremo gli embedding delle immagini dalla torre delle immagini come "riordinatore visuale" per diversificare i risultati della ricerca. Questo è illustrato nel diagramma qui sotto:

- Prima, recuperare i primi k risultati della ricerca basati sugli embedding testuali.
- Per ogni risultato di ricerca principale, estrarre le caratteristiche visive e raggrupparle usando gli embedding delle immagini.
- Riordinare i risultati della ricerca selezionando un elemento da ogni cluster e presentare una lista diversificata all'utente.
Dopo aver recuperato i primi cinquanta risultati, abbiamo applicato un clustering k-means leggero (k=5) agli embedding delle immagini, poi selezionato elementi da ogni cluster. La precisione delle categorie è rimasta coerente con le prestazioni Query-to-Description, poiché abbiamo usato la query-to-product category come metrica di misurazione. Tuttavia, i risultati ordinati hanno iniziato a coprire più aspetti diversi (come tessuto, taglio e motivo) con la diversificazione basata sulle immagini. Come riferimento, ecco l'esempio della t-shirt dress henley multicolore di prima:

Ora vediamo come la diversificazione influenza i risultati della ricerca utilizzando la ricerca con embedding testuali combinata con l'embedding delle immagini come riordinatore di diversificazione:

I risultati ordinati provengono dalla ricerca basata sul testo ma iniziano a coprire "aspetti" più diversificati nei primi cinque esempi. Questo ottiene un effetto simile alla media degli embedding senza effettivamente mediarli.
Tuttavia, questo ha un costo: dobbiamo applicare un ulteriore passaggio di clustering dopo aver recuperato i primi k risultati, che aggiunge alcuni millisecondi extra, a seconda della dimensione del ranking iniziale. Inoltre, determinare il valore di k per il clustering k-means implica alcune ipotesi euristiche. Questo è il prezzo che paghiamo per una migliore diversificazione dei risultati!
tagConclusione
jina-clip-v1 colma efficacemente il divario tra ricerca testuale e per immagini unificando entrambe le modalità in un unico modello efficiente. I nostri esperimenti hanno dimostrato che la sua capacità di elaborare input testuali più lunghi e complessi insieme alle immagini offre prestazioni di ricerca superiori rispetto ai modelli tradizionali come CLIP.
I nostri test hanno coperto vari metodi, incluso il matching di testo con descrizioni, immagini ed embedding mediati. I risultati hanno costantemente mostrato che la combinazione di embedding testuali e di immagini ha prodotto i migliori risultati, migliorando sia l'accuratezza che la diversità dei risultati di ricerca. Abbiamo anche scoperto che l'utilizzo degli embedding delle immagini come "riordinatore visuale" ha migliorato la varietà dei risultati mantenendo la rilevanza.
Questi progressi hanno implicazioni significative per le applicazioni del mondo reale in cui gli utenti cercano usando sia descrizioni testuali che immagini. Comprendendo simultaneamente entrambi i tipi di dati, jina-clip-v1 semplifica il processo di ricerca, fornendo risultati più rilevanti e consentendo raccomandazioni di prodotti più diversificate. Questa capacità di ricerca unificata si estende oltre l'e-commerce per beneficiare la gestione degli asset multimediali, le biblioteche digitali e la curazione dei contenuti visivi, rendendo più facile scoprire contenuti rilevanti attraverso diversi formati.
Mentre jina-clip-v1 supporta attualmente solo l'inglese, stiamo lavorando a jina-clip-v2. Seguendo le orme di jina-embeddings-v3 e jina-colbert-v2, questa nuova versione sarà un recuperatore multimodale multilingue all'avanguardia che supporta 89 lingue. Questo aggiornamento aprirà nuove possibilità per attività di ricerca e recupero attraverso diversi mercati e industrie, rendendolo un modello di embedding più potente per applicazioni globali nell'e-commerce, nei media e oltre.








