Ricerca Vettoriale
Scopri come la ricerca vettoriale utilizza gli embedding per trovare dati simili. Impara a generare vettori di alta qualità con Ultralytics per un recupero preciso delle informazioni.
La ricerca vettoriale è un metodo sofisticato di recupero delle informazioni che identifica elementi simili all'interno di un set di dati in base alle
loro caratteristiche matematiche piuttosto che alla corrispondenza esatta delle parole chiave. A differenza della tradizionale
ricerca per parole chiave, che si basa sulla ricerca di stringhe di caratteri specifiche
, la ricerca vettoriale analizza il significato semantico sottostante dei dati. Questa tecnica è fondamentale per le moderne
applicazioni di intelligenza artificiale (AI)
, perché consente ai computer di comprendere le relazioni tra concetti astratti, elaborando
dati non strutturati come immagini, file audio e
testi in linguaggio naturale con notevole precisione.
Come funziona la ricerca vettoriale
Il nucleo della ricerca vettoriale consiste nel trasformare i dati grezzi in vettori numerici ad alta dimensionalità noti come
incorporamenti. Questo processo mappa gli elementi in punti in uno
spazio multidimensionale in cui elementi concettualmente simili si trovano vicini l'uno all'altro.
-
Vettorizzazione: un
modello di deep learning (DL) elabora i dati di input
(ad esempio, l'immagine di un cane) e produce un vettore di caratteristiche. Modelli avanzati come
YOLO26 vengono spesso utilizzati per generare in modo efficiente queste ricche rappresentazioni di caratteristiche
.
-
Indicizzazione: per eseguire ricerche rapidamente, questi vettori sono organizzati utilizzando algoritmi specializzati,
spesso memorizzati in un database vettoriale dedicato.
-
Calcolo della similarità: quando un utente invia una query, il sistema converte tale query in un vettore
e misura la distanza dai vettori memorizzati utilizzando metriche quali la
similarità coseno o la
distanza euclidea.
-
Recupero: il sistema restituisce i "vicini più prossimi", che rappresentano i risultati più
pertinenti dal punto di vista contestuale.
Esempio Python : Generazione di incorporazioni
Per implementare la ricerca vettoriale, è necessario prima convertire i dati in vettori. Il seguente frammento di codice mostra come
generare mappe delle caratteristiche e incorporamenti da un'immagine
utilizzando il ultralytics pacchetto e un modello YOLO26 pre-addestrato.
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Generate feature embeddings for an image URL
# The 'embed' method returns the high-dimensional vector representation
results = model.embed("https://ultralytics.com/images/bus.jpg")
# Print the shape of the resulting embedding vector
print(f"Embedding vector shape: {results[0].shape}")
Applicazioni nel mondo reale
La ricerca vettoriale è il motore alla base di molte funzionalità intuitive nell'ecosistema software odierno, colmando il divario tra
la visione artificiale (CV) e l'intento dell'utente.
-
Sistemi di raccomandazione visiva: nel settore dell'
intelligenza artificiale nel commercio al dettaglio, la ricerca vettoriale alimenta le funzionalità "shop the
look". Se a un cliente piace una borsa specifica, il sistema trova articoli con vettori visivi simili
(forma, consistenza e stile corrispondenti), creando un sistema di raccomandazione personalizzato
.
-
Generazione potenziata dal recupero (RAG): per migliorare i
modelli linguistici di grandi dimensioni (LLM), gli sviluppatori
utilizzano la ricerca vettoriale per recuperare documenti pertinenti da una base di conoscenza. Ciò fornisce un contesto all'IA, riducendo le
allucinazioni e migliorando l'accuratezza nelle
interazioni con i chatbot.
-
Rilevamento delle anomalie: raggruppando i vettori delle operazioni "normali", i sistemi possono identificare
i valori anomali che si discostano dal cluster. Ciò è fondamentale per il
rilevamento delle anomalie nel controllo della qualità della produzione
e nella sicurezza dei dati.
Distinguere i concetti correlati
È utile differenziare la ricerca vettoriale da termini simili per comprendere l'intera
pipeline di machine learning (ML).
-
Ricerca vettoriale vs. ricerca semantica: la ricerca semantica è l'applicazione più ampia della comprensione dell'intento dell'utente (il "cosa"). La ricerca vettoriale è
il metodo algoritmico specifico utilizzato per ottenere questo risultato calcolando la vicinanza vettoriale (il "come").
-
Ricerca vettoriale vs. Database vettoriale: un database vettoriale è l'infrastruttura progettata per archiviare e gestire incorporamenti su larga scala. La ricerca vettoriale
è il processo di interrogazione di tale database per recuperare informazioni.
-
Ricerca vettoriale vs.
Ricerca per parole chiave: la ricerca per parole chiave trova le stringhe di testo esatte (ad esempio, "mela" corrisponde a "mela"). La ricerca vettoriale
trova il significato, quindi "mela" potrebbe corrispondere a "frutto" o "rosso", anche se le parole sono diverse.
Integrazione con la Ultralytics
Per i team che sviluppano sistemi di ricerca per somiglianza, la
gestione dei set di dati e l'addestramento dei modelli di embedding rappresentano un primo passo fondamentale. Ultralytics semplifica questo flusso di lavoro fornendo strumenti per la
gestione dei dati, l'addestramento nel cloud e l'implementazione dei modelli. Garantendo che i modelli di base, sia per il
rilevamento che per la classificazione degli oggetti, siano
ad alte prestazioni, si assicura che i vettori risultanti forniscano risultati di ricerca accurati e significativi.