Ultralytics YOLO27: Bekleme listesine katıl.
YOLO'yu lisansla
Ultralytics Sözlüğüne dön

Vector Search

Vektör arama, depolanan gömmeler arasından sorgu vektörüne en yakın olanları bulur; milyonlarca öğeyi hızlıca aramak için kesin k-NN veya HNSW ve IVF gibi yaklaşık dizinler kullanır.

Vektör arama, gömüleri kosinüs benzerliği, nokta çarpımı veya Öklid uzaklığı gibi bir benzerlik ölçütüne göre sorgu gömmesine en yakın öğeleri getirir. Gömme modeli, benzer anlam veya görünüme sahip öğeleri birbirine yakın yerleştirir; bu nedenle en yakın vektörler, sorguyla hiçbir anahtar sözcüğü ortak olmasa bile en benzer belgeleri, görüntüleri veya ürünleri temsil eder. Kesin vektör araması, saklanan her vektör üzerinde yapılan bir k-en yakın komşu (k-NN) sorgusudur. Sistemler büyük ölçekte, vektörlerin küçük bir bölümüyle karşılaştırma yapıp gerçek komşuların neredeyse tamamını yine de döndüren yaklaşık en yakın komşu (ANN) dizinleri kullanır.

Vektör Arama Nasıl Çalışır#

Sorgu ve saklanan öğeler, aynı modelle veya birlikte eğitilmiş bir model çiftiyle gömülür: metin için bir cümle kodlayıcı, metinle görüntüleri eşleştirmek için CLIP ya da görüntüleri görüntülerle eşleştirmek için bir görme omurgası. Ölçüt, modelin eğitim biçimiyle uyumlu olmalıdır. Birim uzunluklu vektörlerde kosinüs benzerliği nokta çarpımına eşittir ve Öklid uzaklığına göre sıralama aynı sonucu verir. Kesin aramada her sorgu için saklanan her vektör bir kez karşılaştırılır; bu, on binlerce vektör için hızlı, yüz milyonlarca vektör içinse fazla yavaştır. Bu nedenle büyük sistemler dört ANN dizini ailesinden birini kullanır:

  • HNSW gibi grafik dizinleri: Her vektörü katmanlı bir grafikte yakın komşularına bağlar ve sorguyu, hedefe doğru açgözlü biçimde ilerleyerek yanıtlar.
  • Kümeleme dizinleri (IVF): Vektörleri k-means ile gruplandırır ve yalnızca merkezleri sorguya en yakın kümeleri tarar.
  • Vektör niceleme: Ürün nicelemede olduğu gibi her vektörü birkaç bayta sıkıştırır; böylece uzaklıklar bellekte tutulan kompakt kodlardan yaklaşık olarak hesaplanır.
  • Disk tabanlı grafikler: DiskANN'ın yaptığı gibi bir grafik dizinini SSD'de tutarak tek bir makinede milyarlarca vektörün aranmasını sağlar.

IVF dizininin temel fikri, kesin aramayla karşılaştıran kısa bir NumPy ve scikit-learn örneğiyle açıklanabilir:

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%}")

100 kümeden 5'ini taramak, vektörlerin %5,1'ini tarar ve yine de gerçek en yakın 10 komşunun tümünü bulur; yani duyarlılık@10 değeri %100'dür. Daha fazla küme taramak duyarlılığı ve maliyeti birlikte artırır; bu nedenle IVF dizininde ayarlanacak temel değer, tarama sayısıdır.

  • Anahtar sözcük araması: Ters dizinde tam terimleri bulur ve BM25 gibi formüllerle sıralar. Adlarda, kodlarda ve nadir sözcüklerde başarılıdır; eş anlamlıları kaçırır.
  • Anlamsal arama: Anlama göre arama; vektör aramasının en sık hizmet ettiği amaçtır. Anlamsal arama sistemleri genellikle sorgu yeniden yazma veya yeniden sıralama katmanı da ekler.
  • Hibrit arama: Anahtar sözcük aramasıyla vektör aramasını birlikte çalıştırır ve iki sıralı listeyi birleştirir.
  • Vektör veritabanı: Vektörleri meta verilerle saklayan ve filtreleme, güncelleme ve kalıcılık özellikleriyle vektör araması sunan sistem.

Gerçek Dünya Uygulamaları#

  • Getirim destekli üretim (RAG): Bir dil modelinin soruyu yanıtlamak için ihtiyaç duyduğu belge bölümlerini bulur.
  • Nesne yeniden tanımlama: Aynı nesneyi farklı kameralar arasında ilişkilendirmek için bir kişinin veya aracın görünüm gömmesini daha önceki görüntülerle eşleştirir.
  • Yüz tanıma: Bir yüz gömmesini kayıtlı yüzlerle karşılaştırır ve yeterince yakınsa en yakın eşleşmeyi kabul eder.
  • Öneri sistemleri: Gömüleri kullanıcının son seçimlerine yakın olan ürünleri, şarkıları veya videoları önerir.

Ultralytics Platform, eğitim veri kümelerini büyütmek için vektör aramadan yararlanır. Benzer Görüntüleri Bul eylemi seçilen bir görüntüyü alır, herkese açık veri kümelerinde ve kullanıcının kendi veri kümeleriyle ekip veri kümelerinde gömme benzerliğine göre en yakın görüntüleri arar ve benzerlik puanlarıyla birlikte en fazla 24 eşleşme gösterir. Bu eşleşmeler, etiketsiz eğitim görüntüleri olarak veri kümesine eklenebilir.

Çözümleri keşfet

Sporda bilgisayarlı görü

Sporda bilgisayarlı görü

Ultralytics YOLO'nun oyuncu ve top takibi, performans analitiği, antrenörlük içgörüleri ve sporcu rehabilitasyonuyla spor alanında görsel yapay zekâyı nasıl güçlendirdiğini keşfet.
Daha fazla bilgi edin
Hava görüntüleri için bilgisayarlı görü

Hava görüntüleri için bilgisayarlı görü

İHA ve hava görüntülerini Ultralytics YOLO ile tarım, su ürünleri yetiştiriciliği, koruma çalışmaları ve jeo-uzamsal analiz için gerçek zamanlı içgörülere dönüştür.
Daha fazla bilgi edin
Havacılıkta bilgisayarlı görü

Havacılıkta bilgisayarlı görü

Uçak denetimi, pistteki yabancı madde tespiti, havaalanı yer operasyonları ve kompozit malzeme kusurlarının tespiti için Ultralytics YOLO ile havacılık ve uzay sektöründe bilgisayarlı görü uygula.
Daha fazla bilgi edin
Güvenlikte bilgisayarlı görü

Güvenlikte bilgisayarlı görü

Ultralytics YOLO modelleriyle her sahayı koru. Görsel yapay zekâ; çevre izleme, tehdit tespiti, plaka tanıma ve iş yeri güvenliğini destekler.
Daha fazla bilgi edin
Robotikte bilgisayarlı görü

Robotikte bilgisayarlı görü

Ultralytics YOLO modelleriyle daha akıllı makinelere güç ver. Robotikte görsel yapay zekâ; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü destekler.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Görüntü yapay zekâsı; paket denetimini, ayrıştırmayı, araç takibini ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Perakendede bilgisayarlı görü

Perakendede bilgisayarlı görü

Ultralytics YOLO modelleriyle perakendeyi yeniden tasarla. Görüntü yapay zekâsı; envanter takibini, raf izlemeyi, kuyruk yönetimini ve daha kapsamlı müşteri analizlerini mümkün kılar.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

Sağlık hizmetlerinde bilgisayarlı görü

Ultralytics YOLO modelleriyle sağlık çözümleri geliştir. Sağlık hizmetlerinde görüntü yapay zekâsı; daha hızlı tıbbi görüntüleme, daha akıllı tanı ve hasta takibini mümkün kılar.
Daha fazla bilgi edin
Üretimde bilgisayarlı görü

Üretimde bilgisayarlı görü

Ultralytics YOLO modelleriyle üretimi optimize et. Görsel yapay zekâ; kalite kontrolünü, kusur tespitini, kişisel koruyucu donanım uyumunu ve montaj hattı otomasyonunu destekler.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görüden yararlan. Görsel yapay zekâ; daha akıllı yollar için yol güvenliğini, sürüş desteğini ve araç otomasyonunu ileri taşır.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görüntü yapay zekâsı kazandır. Daha yüksek ve akıllı verim için mahsul izleme, hayvan takibi ve hassas tarımı destekle.
Daha fazla bilgi edin

Geleceğin yapay zekasını birlikte inşa edelim!

Makine öğreniminin geleceğine yolculuğuna başla