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

Vector Quantization

Vektör niceleme, her vektörü en yakın kod kitabı girdisinin diziniyle değiştirir. k-means kod kitaplarını, ürün nicelemeyi ve VQ-VAE belirteçlerini ele alır.

Vektör niceleme (VQ), bir veri kümesindeki her vektörü, kod kitabı adı verilen küçük bir temsilî vektör kümesindeki en yakın öğenin indeksiyle değiştiren bir sıkıştırma tekniğidir. Kodlama yalnızca indeksi saklar, kod çözme indekse bakar ve yeniden oluşturma hatası, özgün vektör ile kod sözcüğü arasındaki mesafedir. K boyutlu bir kod kitabı, vektör kaç boyutlu olursa olsun vektör başına log₂(K) bit gerektirir; dolayısıyla 256 öğeli bir kod kitabı herhangi bir vektörü bir baytta saklar. VQ'nun kökeni sinyal işlemedir: Stuart Lloyd'un 1957'de Bell Labs'te skaler niceleyiciler tasarlamak için geliştirdiği ve 1982'de yayımlanan algoritması, bugün genellikle k-means olarak adlandırılan algoritmadır; Yoseph Linde, Andrés Buzo ve Robert Gray ise 1980'de bu yöntemi vektörlere uyarlamıştır. Derin öğrenmede VQ, görüntüleri, sesleri ve videoları token'lara dönüştürmenin üretken yapay zekâ için standart yolu hâline geldi.

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

Kod kitabı genellikle k-means kümeleme ile öğrenilir: her eğitim vektörünü en yakın kod sözcüğüne ata, her kod sözcüğünü kendisine atanmış vektörlerin ortalamasına taşı ve ortalama bozulma artık artmayana kadar bu adımları tekrarla. Renk niceleme, SciPy'nin scipy.cluster.vq modülünü kullanarak bir fotoğrafın pikselleri üzerinde tüm süreci gösterir:

import numpy as np
from scipy.cluster.vq import kmeans2, vq
from sklearn.datasets import load_sample_image

image = load_sample_image("china.jpg")  # 427 x 640 RGB photo bundled with scikit-learn
pixels = image.reshape(-1, 3).astype(np.float64)  # one 3-D color vector per pixel

# Learn a 16-entry codebook with k-means (Lloyd's algorithm) on a sample of pixels
rng = np.random.default_rng(0)
codebook, _ = kmeans2(rng.choice(pixels, 5000), 16, minit="++", seed=0)

# Encode: replace each pixel with the index of its nearest codeword (4 bits instead of 24)
indices, _ = vq(pixels, codebook)
# Decode: look each index up in the codebook
reconstruction = codebook[indices]

rmse = np.sqrt(((pixels - reconstruction) ** 2).mean())
print(f"{len(pixels):,} pixels, {len(codebook)} codewords, 24 -> 4 bits per pixel")
print(f"Reconstruction RMSE: {rmse:.1f} on the 0-255 scale")

273.280 pikselin tümü 16 renge karşılık gelen 4 bitlik indisler olarak saklanır; bu, 24 bit RGB'den altı kat daha az renk verisi demektir ve 255 üzerinden 11,3 yoğunluk düzeyinde kök ortalama kare hatası verir.

Skaler niceleme tek boyutlu özel durumdur; model niceleme bu yöntemi sinir ağlarına uygular. Ultralytics YOLO26, dışa aktarma sırasında bunu kullanır: quantize=8, her ağırlığı ve aktivasyonu 256 tam sayı düzeyinden en yakınına yuvarlar; aktivasyon aralıkları, data içindeki görüntüler üzerinde yapılan tek bir kalibrasyon geçişinde gözlemlenir. Tüm vektörleri birlikte nicelemek, boyutlar arasındaki korelasyonlardan yararlanır; aynı bit hızında, en iyi vektör niceleyicisinin bozulması, her değere ayrı ayrı uygulanan en iyi skaler niceleyiciden asla yüksek olmaz.

Ürün ve Artık Niceleme#

Tek bir kod kitabı, bit bütçesiyle üstel olarak büyür; 64 bit için 2⁶⁴ kod sözcüğü gerekir. Hervé Jégou, Matthijs Douze ve Cordelia Schmid tarafından 2011'de tanıtılan ürün nicelemesi, her vektörü m alt vektöre böler ve her birini kendine ait 256 öğeli bir kod kitabıyla nicelemeye tabi tutar. m = 8 olduğunda, 128 boyutlu bir float32 gömme vektör 512 bayttan 8 bayta iner ve sorguya olan mesafeler küçük arama tablolarından elde edilir. Meta'nın FAISS kütüphanesi, bunu ters dosya diziniyle eşleştirir; bu dizin, her sorguyu birkaç kümeyle sınırlayan kaba bir k-means niceleyicisidir ve milyarlarca ölçeğinde vektör aramasını mümkün kılar.

Artık niceleme bunun yerine kod kitaplarını art arda kullanır: ikinci kod kitabı ilkinin bıraktığı hatayı, üçüncüsü ikincinin bıraktığı hatayı ve bu şekilde devam ederek her hatayı nicelemeyi öğrenir. Google'ın SoundStream (2021) ve Meta'nın EnCodec (2022) sinirsel ses kodekleri, konuşma ve müziği saniyede birkaç kilobite sıkıştırmak için bu yöntemi kullanır; görsel otoregresif modelleme (VAR) ise bu yöntemi görüntü çözünürlükleri boyunca uygular.

VQ-VAE ve Görüntü Token'ları#

DeepMind'dan Aäron van den Oord, Oriol Vinyals ve Koray Kavukcuoglu, VQ-VAE'yi 2017'de yayımlanan Neural Discrete Representation Learning makalesinde tanıttı. Bir otomatik kodlayıcının kodlayıcı çıktısı, her uzamsal konumda en yakın kod sözcüğüyle değiştirilir ve kod çözücü girdiyi bu kod sözcüklerinden yeniden oluşturur. En yakın komşu aramasının gradyanı olmadığından, geri yayılım sırasında düz geçişli kestirici, kod çözücünün gradyanını bu adımın ötesine kopyalar; PyTorch'ta bu işlem z_q = z + (z_q - z).detach() şeklinde yazılır. İki ek kayıp terimi kod sözcüklerini kodlayıcı çıktılarına yaklaştırır ve kodlayıcıyı seçtiği kod sözcüklerine bağlar; makalede ikinci terim 0.25 ile ağırlıklandırılmıştır.

Ortaya çıkan token ızgaraları, bunları üretmeyi öğrenen ikinci bir modele, genellikle bir transformer'a beslenir. VQGAN (2021), daha keskin token'lar için karşıt ve algısal kayıplar ekledi ve pek çok metinden görüntüye modelin arkasındaki tokenizer hâline geldi. Yaygın bir sorun kod kitabı çökmesidir: kod sözcüklerinin çoğu hiç seçilmez ve etkin söz dağarcığı küçülür. k-means başlatması, kod kitabını hareketli ortalamayla güncelleme ve kullanılmayan kodları sıfırlama bu sorunu azaltır. Google'ın sonlu skaler nicelemesi (FSQ, 2023) ise birkaç gizil boyutun her birini bir avuç sabit düzeye yuvarlayarak bu sorunu önler; böylece örtük kod kitabındaki her koda ulaşılabilir.

  • Vektör veri tabanları: Gömme vektörlerini saklar ve dizinler; bunları belleğe sığdırmak için çoğu zaman ürün nicelemeyi dahili olarak uygular.
  • Boyut indirgeme: PCA'da olduğu gibi vektörleri daha az sayıda sürekli boyuta eşler; VQ ise her vektörü tek bir ayrık koda eşler.
  • Tokenleştirme: Metni sabit bir söz dağarcığındaki birimlere böler; VQ ise görüntü yamaları ve ses çerçeveleri gibi sürekli sinyaller için eşdeğer bir söz dağarcığı oluşturur.

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