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

Embeddings

Gömüler, benzer metinleri, görüntüleri veya öğeleri birbirine yakın konumlandıran öğrenilmiş vektörlerdir. Nasıl oluşturuldukları, karşılaştırıldıkları ve büyük ölçekte arandıkları ele alınır.

Gömme vektörü; sözcük, görüntü, ürün veya kullanıcı gibi bir öğeyi temsil eden, öğrenilmiş sayılardan oluşan bir vektördür. Benzer anlam veya içeriğe sahip öğelerin vektörleri birbirine yakın olur. Bu vektör uzayındaki uzaklık, benzerliğin ölçüsüne dönüşür; böylece yazılımlar ham pikselleri veya dizeleri karşılaştırmak yerine vektörleri karşılaştırarak arama yapabilir, kümeleyebilir, öneride bulunabilir ve sınıflandırabilir. Gömme vektörleri aynı zamanda sinir ağlarının çalışma temsilleridir: Bir büyük dil modeli (LLM), ilk Transformer katmanından önce her belirteci gömme vektörüne dönüştürür; bir görüntü modeli ise omurgası aracılığıyla görüntüyü özellik vektörlerine dönüştürür. Arama için kullanılan gömme vektörleri genellikle birkaç yüz ila birkaç bin boyut içerir; ham girdideki değer sayısı ise çok daha fazladır.

Gömme Vektörleri Nasıl Oluşturulur#

Gömme vektörleri, öğrenilmiş iki tür bileşenden elde edilir:

  • Arama tabloları: Belirteçler, ürün kimlikleri veya kullanıcı kimlikleri gibi ayrık öğeler için bir gömme katmanı, her öğe için öğrenilebilir bir satır saklar ve bir öğe arandığında o satırı döndürür. PyTorch nn.Embedding böyle bir tablodur. Satırları başlangıçta rastgele değerlerden oluşur ve modelin geri kalanıyla birlikte geri yayılım yoluyla güncellenir; bu nedenle eğitim görevinde benzer roller üstlenen öğeler, benzer vektörlere doğru kayar.
  • Kodlayıcılar: Görseller, ses ve serbest metin için bir ağ, girdinin tamamını tek bir vektöre eşler; bunu genellikle bir CNN'in özellik haritalarını havuzlayarak veya bir Transformer'ın çıktı belirteçlerini okuyarak yapar. Sınıflandırma gibi bir görev için eğitilen kodlayıcılar, yan ürün olarak kullanışlı gömme vektörleri üretir; karşıtsal öğrenme ile eğitilen kodlayıcılar ise gömme uzayını doğrudan şekillendirir. CLIP, görselleri ve bunların açıklamalarını ortak bir uzayda konumlandırarak bunu yapar.

2013'te Tomas Mikolov ve Google'daki çalışma arkadaşları tarafından yayımlanan Word2vec, bu tür bir eğitimin ne kadar çok yapı yakaladığını gösterdi. Sözcük vektörlerinde vector("King") − vector("Man") + vector("Woman"), vector("Queen") vektörüne en yakın noktaya denk gelir ve yayımlanan önceden eğitilmiş Google News vektörleri, 300 boyutta 3 milyon sözcük ve ifade içerir.

Gömme Vektörlerini Karşılaştırma#

Kosinüs benzerliği, iki vektörün yönlerini karşılaştırır ve −1 ile 1 arasında değer alır. İç çarpım, vektörlerin uzunluklarını da hesaba katar; Öklid uzaklığı ise aralarındaki düz çizgi mesafesini ölçer. Birçok sistem, gömme vektörlerini birim uzunluğa normalize eder; bu durumda kosinüs benzerliği ile iç çarpım aynı olur ve komşular, Öklid uzaklığıyla aynı sırada sıralanır. YOLO26 modelleri, embed() aracılığıyla görsel gömme vektörleri üretir; bu işlem tahmin başlığını atlar ve modelin sondan bir önceki katmanının çıktısını ortalama havuzlayarak her görsel için bir vektör döndürür:

import torch.nn.functional as F
from ultralytics import YOLO
from ultralytics.utils import ASSETS

# Load a YOLO26 classification model trained on ImageNet
model = YOLO("yolo26n-cls.pt")

# embed() returns one pooled feature vector per image instead of predictions
bus, zidane = model.embed([ASSETS / "bus.jpg", ASSETS / "zidane.jpg"])
print(f"Embedding length: {bus.shape[0]}")

# Higher cosine similarity means the model sees more similar content
print(f"Cosine similarity: {F.cosine_similarity(bus, zidane, dim=0).item():.3f}")

YOLO26n-cls için gömme, omurgasını sonlandıran dikkat bloğunun havuzlanmış çıktısı olan 256 boyutlu bir vektördür; ikinci satır, paketle birlikte gelen iki örnek fotoğrafın kosinüs benzerliğini yazdırır. Aynı karşılaştırmayı bütün bir koleksiyonun saklanan gömmeleriyle çalıştırmak, görüntü benzerliği aramasının sonuçlarını sıralama yöntemidir.

Büyük Ölçekte Gömme Vektörlerinde Arama#

Bir sorguyu saklanan milyonlarca vektörle tek tek karşılaştırmak çok yavaştır; bu nedenle vektör veritabanları, koleksiyonun küçük bir bölümünü denetleyerek yakın eşleşmeleri bulmak için grafik tabanlı HNSW dizinleri veya ters dosya dizinleri gibi yaklaşık en yakın komşu dizinleri oluşturur. Koleksiyonun gömme vektörleri bir kez oluşturulur; her sorgunun gömme vektörü ise arama sırasında aynı kodlayıcıyla ya da metin görsellerde aranıyorsa eşleşen metin kodlayıcısıyla oluşturulur:

Depolama gereksinimleri, tasarımı doğruluk kadar etkiler. Matruşka temsil öğrenimi, baştaki boyutları tek başına da işe yarayan gömme vektörleri eğitir; böylece yerden tasarruf etmek için vektörler kısaltılabilir. Vektör niceleme ise her vektörü birkaç bayta sıkıştırır. Hibrit arama, gömme benzerliğini anahtar sözcük eşleştirmeyle birleştirir.

Uygulamalar#

  • Anlamsal arama ve bilgi erişimiyle zenginleştirilmiş üretim (RAG): Metin gömme vektörleri, metin parçalarını anlama göre getirir; böylece "araba sigortası talepleri" hakkındaki bir sorgu, "motorlu taşıt poliçesi" diyen belgeleri de bulur. RAG, getirilen metin parçalarını bağlam olarak bir LLM'ye aktarır.
  • Öneri sistemleri: Kullanıcılar ve öğeler aynı uzaya gömülür; kullanıcının vektörüne en yakın öğeler öneri adayları olur.
  • Sıfır örnekli sınıflandırma: Ortak bir görsel-metin uzayına sahip modeller, bir görselin gömme vektörünü metin olarak yazılmış sınıf adlarının gömme vektörleriyle karşılaştırarak görseli sınıflandırır.
  • Nesne yeniden tanımlama: Görünüş gömme vektörleri, aynı kişiyi veya aracı farklı kameralar arasında ve bir izdeki kesintilere rağmen eşleştirir.
  • Veri kümesini keşfetme: Gömmeleri t-SNE veya UMAP ile iki boyuta yansıtmak, veri kümesindeki kümeleri, neredeyse yinelenen örnekleri ve aykırı değerleri ortaya çıkarır; Ultralytics Platform veri kümeleri için Kümeleme paneli de bunu yapar.
  • Gizil uzay: Gömme vektörlerinin bulunduğu vektör uzayıdır. "Gizil temsil" ve "gömme vektörü" terimleri çoğu zaman eş anlamlı kullanılır.
  • Özellik çıkarımı: Ham veriyi özelliklere dönüştüren her türlü işlemdir. Gömme vektörü, vektörler arasındaki mesafeler anlam taşıyacak şekilde öğrenilen bir özellik vektörüdür.
  • Belirteçleştirme: Metni belirteçlere böler ve her belirteci bir tam sayı kimliğine eşler. Ardından gömme katmanı, her kimliği bir vektöre dönüştürür.
  • One-hot kodlama: Bir sözlükteki i öğesini, i konumunda 1 ve diğer konumlarda 0 bulunan bir vektörle temsil eder. Böylece her öğe çifti birbirinden aynı uzaklıkta olur ve kodlama benzerlik bilgisi taşımaz. Bir one-hot vektörün gömme tablosunun ağırlık matrisiyle çarpılması, tam olarak bir satırı seçer; gömme aramasının çarpma işlemini gerçekleştirmeden döndürdüğü sonuç da budur.

Çö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