Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Licenza YOLO
Torna al glossario di Ultralytics

Vector Search

La ricerca vettoriale trova gli embedding memorizzati più vicini a un vettore di query, usando k-NN esatto o indici approssimati come HNSW e IVF per eseguire rapidamente ricerche su milioni di elementi.

La ricerca vettoriale recupera gli elementi i cui embedding sono più vicini a un embedding di query secondo una misura di similarità come la similarità coseno, il prodotto scalare o la distanza euclidea. Un modello di embedding colloca vicini gli elementi dal significato o dall'aspetto simile, quindi i vettori più vicini corrispondono ai documenti, alle immagini o ai prodotti più simili, anche quando non condividono parole chiave con la query. La ricerca vettoriale esatta consiste in una ricerca dei k vicini più prossimi (k-NN) su ogni vettore archiviato. Su larga scala, i sistemi usano indici dei vicini più prossimi approssimati (ANN), che confrontano la query con una piccola frazione dei vettori e restituiscono comunque quasi tutti i vicini effettivi.

Come funziona la ricerca vettoriale#

La query e gli elementi archiviati vengono trasformati in embedding dallo stesso modello o da una coppia di modelli addestrati insieme: un codificatore di frasi per il testo, CLIP per abbinare testo e immagini oppure una rete di visione per abbinare immagini tra loro. La metrica dovrebbe corrispondere al modo in cui il modello è stato addestrato. Per i vettori di lunghezza unitaria, la similarità coseno equivale al prodotto scalare e l'ordinamento per distanza euclidea dà lo stesso risultato. La ricerca esatta richiede un confronto per ogni vettore archiviato a ogni query: è rapida per decine di migliaia di vettori e troppo lenta per centinaia di milioni, quindi i sistemi di grandi dimensioni usano una delle quattro famiglie di indici ANN:

  • Indici a grafo come HNSW: collegano ogni vettore ai vicini prossimi in un grafo a livelli e rispondono a una query procedendo in modo greedy verso di essa.
  • Indici di clustering (IVF): raggruppano i vettori con k-means e analizzano soltanto i cluster i cui centroidi sono più vicini alla query.
  • Quantizzazione vettoriale: comprime ogni vettore in pochi byte, come nella quantizzazione del prodotto, così le distanze vengono approssimate a partire da codici compatti mantenuti in memoria.
  • Grafi basati su disco: mantengono un indice a grafo su SSD, come fa DiskANN, per cercare miliardi di vettori su un'unica macchina.

L'idea di base di un indice IVF si illustra con un breve esempio NumPy e scikit-learn che lo confronta con la ricerca esatta:

import numpy as np
from sklearn.cluster import KMeans

# 20,000 embeddings grouped by topic, normalized so a dot product is cosine similarity
rng = np.random.default_rng(0)
topics = rng.normal(size=(200, 64))
vectors = topics[rng.integers(200, size=20000)] + 0.5 * rng.normal(size=(20000, 64))
vectors /= np.linalg.norm(vectors, axis=1, keepdims=True)
query = vectors[0] + 0.1 * rng.normal(size=64)

# Exact search: score every stored vector
exact = np.argsort(-(vectors @ query))[:10]

# IVF index: cluster the vectors, then scan only the lists of the 5 closest centroids
kmeans = KMeans(n_clusters=100, n_init=1, random_state=0).fit(vectors)
probed = np.argsort(-(kmeans.cluster_centers_ @ query))[:5]
candidates = np.flatnonzero(np.isin(kmeans.labels_, probed))
approx = candidates[np.argsort(-(vectors[candidates] @ query))[:10]]

print(f"scanned {len(candidates) / len(vectors):.1%} of vectors")
print(f"recall@10: {len(set(exact) & set(approx)) / 10:.0%}")

Esaminare 5 dei 100 cluster analizza il 5,1% dei vettori e trova comunque tutti i 10 vicini più prossimi effettivi, con un recupero@10 del 100%. Esaminare più cluster aumenta sia il recupero sia il costo, perciò il numero di cluster esaminati è la principale impostazione da ottimizzare in un indice IVF.

  • Ricerca per parole chiave: cerca termini esatti in un indice invertito e li classifica con formule come BM25. È efficace con nomi, codici e parole rare, ma non rileva i sinonimi.
  • Ricerca semantica: ricerca per significato, l'obiettivo a cui la ricerca vettoriale risponde più spesso. I sistemi di ricerca semantica aggiungono spesso una riscrittura della query o un riordinatore.
  • Ricerca ibrida: esegue insieme la ricerca per parole chiave e quella vettoriale e unisce i due elenchi ordinati.
  • Database vettoriale: il sistema che archivia vettori con metadati e offre la ricerca vettoriale con filtri, aggiornamenti e persistenza.

Applicazioni nel mondo reale#

  • Generazione aumentata dal recupero (RAG): trova i passaggi dei documenti di cui un modello linguistico ha bisogno per rispondere a una domanda.
  • Reidentificazione degli oggetti: confronta l'embedding dell'aspetto di una persona o di un veicolo con avvistamenti precedenti per collegare lo stesso oggetto tra telecamere.
  • Riconoscimento facciale: confronta l'embedding di un volto con i volti registrati e accetta quello più vicino quando la distanza è sufficientemente ridotta.
  • Sistemi di raccomandazione: suggeriscono prodotti, canzoni o video i cui embedding sono vicini alle scelte recenti di un utente.

Ultralytics Platform usa la ricerca vettoriale per ampliare i dataset di addestramento. La sua azione Trova immagini simili prende un'immagine selezionata, cerca le immagini più vicine in base agli embedding nei dataset pubblici e nei dataset personali e di team dell'utente, e mostra fino a 24 corrispondenze con i relativi punteggi di similarità, che possono essere aggiunte al dataset come immagini di addestramento senza etichette.

Esplora le soluzioni

La visione artificiale nello sport

La visione artificiale nello sport

Scopri come Ultralytics YOLO alimenta la computer vision nello sport con il tracciamento di giocatori e palloni, l'analisi delle prestazioni, gli approfondimenti per gli allenatori e la riabilitazione degli atleti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini aeree e riprese da drone in informazioni utili in tempo reale per agricoltura, acquacoltura, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Applica la visione artificiale nel settore aerospaziale con Ultralytics YOLO per l'ispezione degli aeromobili, il rilevamento di FOD sulle piste, le operazioni di terra aeroportuali e il rilevamento di difetti nei materiali compositi.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'IA!

Inizia il tuo percorso verso il futuro del machine learning