Vector Quantization
Makine öğreniminde veri sıkıştırma ve ayrıklaştırma için vektör nicelemeyi keşfet. VQ-VAE'leri, vektör aramasını ve Ultralytics YOLO26 dağıtımlarını nasıl optimize ettiğini öğren.
Vektör niceleme, modern makine öğrenimi (ML) ve dijital sinyal işleme alanlarında yaygın olarak kullanılan güçlü bir veri sıkıştırma ve ayrıklaştırma tekniğidir. Temelinde, sürekli noktalar veya vektörlerden oluşan büyük bir kümeyi gruplara ayırır ve her grubu topluca kod kitabı olarak bilinen bir yapı oluşturan tek bir "prototip" vektörle temsil eder. Sürekli yüksek boyutlu vektörleri bu ayrık kod kitabı girdileriyle eşleyerek sistemler, etkili boyut indirgeme için verilerin temel anlamsal özelliklerini korurken bellek kullanımını önemli ölçüde azaltabilir.
Derin Öğrenmede Ayrıklaştırmanın Rolü#
Günümüz derin öğrenme (DL) alanında bu kavram, Vektör Nicelemeli Varyasyonel Otomatik Kodlayıcı (VQ-VAE) tarafından ünlü hale getirilmiştir. Özellik çıkarımı gerçekleştirmek için sürekli bir gizli uzay öğrenen standart otomatik kodlayıcıların aksine VQ-VAE'ler ayrık bir temsil öğrenir. Bu sayede üretici modeller görüntüleri, sesi veya videoyu, Büyük Dil Modellerinin (LLMs) metin girdilerini işleme biçimine benzer şekilde ayrık belirteçlerden oluşan bir dizi olarak ele alabilir. İlk uygulamaların günümüzdeki belirteç tabanlı görsel sistemlerin önünü nasıl açtığını görmek için temel ayrık temsil öğrenimi araştırmalarını inceleyebilirsin.
Gerçek Dünya Uygulamaları#
Vektör niceleme, performansın ve bellek verimliliğinin en önemli öncelikler olduğu çeşitli gerçek dünya yapay zeka uygulamalarında kritik bir rol oynar:
- Üretici Yapay Zeka ve Medya Sıkıştırma: Vektör niceleme, karmaşık görsel verileri ayrık gizli kodlara sıkıştırarak son derece verimli görüntü ve video üretimini mümkün kılar. Sürekli pikselleri ayrık belirteçlere eşleyen modeller, hesaplama yükünü önemli ölçüde azaltarak gizli difüzyon modelleri gibi gelişmiş mimarilere yardımcı olur.
- Yüksek Hızlı Vektör Getirme: Hızlı bir benzerlik araması gerçekleştirmek için modern sistemlerin milyonlarca gömme üzerinde sorgu çalıştırması gerekir. Vektör niceleme, bu büyük veri kümelerini sıkıştırarak getirme motorlarının hızlı yaklaşık en yakın komşu (ANN) aramaları yürütmesine olanak tanır; bu da perakendede yapay zeka ve ürün öneri sistemleri için son derece faydalıdır. Yüksek boyutlu veri işleme hakkında daha fazla bilgi edinmek için OpenAI'nin gömmeler kılavuzuna göz atabilirsin.
İlişkili Kavramları Ayırt Etme#
Verimli bir bilgisayarlı görü (CV) mimarisi tasarlarken vektör niceleme ile benzer terimler arasındaki nüansı anlamak faydalıdır:
- Vektör Niceleme ve Model Niceleme Karşılaştırması: Model niceleme genellikle Ultralytics YOLO26 gibi modellerin donanım dağıtımlarında çıkarımı hızlandırmak için sinir ağı ağırlıklarının sayısal hassasiyetini (örneğin 32 bit kayan noktadan 8 bit tamsayıya) azaltmayı ifade eder. Bununla birlikte vektör niceleme, veri vektörlerini sabit bir ayrık prototip sözlüğünde kümelendirir.
- Vektör Niceleme ve Vektör Veritabanı Karşılaştırması: Vektör veritabanı, yüksek boyutlu verileri depolayan gerçek altyapıdır. Vektör niceleme ise bu veritabanlarının bellek ayak izini en aza indirmek için sıklıkla kullandığı temel algoritmik tekniktir; ayrıntılar için Qdrant'ın vektör işleme açıklamasına bakabilirsin.
- Vektör Niceleme ve Vektör Araması Karşılaştırması: Vektör araması, vektör yakınlığına göre benzer öğeleri bulma işlemidir. Niceleme, bu aramayı çok büyük ölçekte hesaplama açısından uygulanabilir hale getiren yapısal bir optimizasyon katmanı görevi görür.
Temel Uygulama Örneği#
Vektör nicelemenin pratikte sürekli girdileri ayrık belirteçlere nasıl eşlediğini görmek için Öklid mesafelerini hesaplamak ve önceden tanımlanmış bir kod kitabındaki en yakın prototipi bulmak üzere PyTorch kullanabilirsin:
import torch
# Define a continuous input batch and a discrete codebook vocabulary
inputs = torch.randn(4, 128) # 4 input vectors of dimension 128
codebook = torch.randn(10, 128) # 10 discrete prototype vectors
# Compute distances and find the nearest codebook index for each input
distances = torch.cdist(inputs, codebook)
quantized_indices = torch.argmin(distances, dim=1)
# Retrieve the discrete quantized vectors corresponding to the inputs
quantized_vectors = codebook[quantized_indices]Tensör mesafelerini yerel olarak hesaplamaya ve bu işlemleri optimize etmeye ayrıntılı bir bakış için resmi PyTorch cdist belgelerine başvurabilirsin.
Ultralytics Platformu ile İş Akışlarını Geliştirme#
Optimize edilmiş gömmeleri işlem hattına entegre etmek için güçlü araçlar gerekir. Ultralytics Platformu, eğitim verilerini düzenlemek ve en gelişmiş görsel modelleri eğitmek için uçtan uca bir ortam sağlar. Veri yönetimini kolaylaştırıp model dağıtımını basitleştiren geliştiriciler, vektör nicelemeye uygun yüksek kaliteli görsel özellikleri zahmetsizce üretebilir; bu da daha hızlı nesne algılama ve büyük ölçekli medya getirme uygulamalarına olanak tanır.









