Embedding nedir? One-hot encoding'e göre avantajı nedir ve nerelerde kullanılır?

Cevap

Embedding, kelime, ürün, kullanıcı gibi ayrık (discrete) nesneleri anlamsal benzerliği koruyan yoğun (dense), düşük boyutlu sürekli vektörlere dönüştürmektir. Benzer anlamdaki nesnelerin vektörleri uzayda birbirine yakın düşer.

One-hot ile farkı

ÖzellikOne-hotEmbedding
BoyutVocabulary boyutu (örneğin 100.000)Küçük (örneğin 256–4096)
SeyreklikTek bir 1, gerisi 0Yoğun
BenzerlikTüm vektörler birbirine eşit uzaklıktaAnlamsal benzerlik mesafeye yansır
ÖğrenmeSabitEğitimle öğrenilir

Teknik olarak bir embedding katmanı, one-hot vektörle bir ağırlık matrisinin çarpımına eşdeğer bir lookup tablosudur.

import torch, torch.nn as nn
emb = nn.Embedding(num_embeddings=50_000, embedding_dim=512)
vecs = emb(torch.tensor([[12, 873, 4]]))   # (1, 3, 512)

Gelişim

  • Statik embedding (word2vec, GloVe): Her kelimenin tek vektörü vardır. "yüz" kelimesi (sayı veya surat) aynı vektörü alır.
  • Bağlamsal (contextual) embedding (BERT, LLM'ler): Aynı kelime cümleye göre farklı vektör alır.
  • Cümle/doküman embedding modelleri: Contrastive learning ile eğitilir, metnin tamamını tek bir vektöre çevirir. RAG ve semantik arama bunlara dayanır. Türkçe için çok dilli (multilingual) modeller tercih edilmelidir.

Kullanım alanları

Semantik arama ve RAG, öneri sistemleri (kullanıcı ve ürün embedding'leri), yüksek kardinaliteli kategorik özellikler, kümeleme, duplicate tespiti, anomali tespiti.

Benzerlik genelde cosine similarity ile ölçülür. Vektörler normalize edilirse cosine benzerliği nokta çarpımına eşit olur ve vector DB'lerde hızlı hesaplanır.

  1. NumPy ile sayısal olarak kararlı (numerically stable) softmax ve cross-entropy loss yazın. Logit'lere göre gradyanı nedir?ZorDerin ÖğrenmeYapay Zeka
  2. PyTorch ile bir sınıflandırma modeli için eksiksiz bir training loop yazın. Hangi adımlar sık unutulur?OrtaDerin ÖğrenmeYapay Zeka
  3. Transfer learning nedir? Önceden eğitilmiş bir modeli küçük bir veri setine nasıl fine-tune edersiniz?OrtaDerin ÖğrenmeYapay Zeka
  4. Transformer mimarisini anlatın. Encoder-only, decoder-only ve encoder-decoder modeller arasındaki fark nedir?ZorDerin ÖğrenmeYapay Zeka
  5. Self-attention nasıl çalışır? Scaled dot-product attention'ı NumPy ile yazın ve neden sqrt(d_k) ile bölündüğünü açıklayın.ZorDerin ÖğrenmeYapay Zeka
  6. RNN ve LSTM nasıl çalışır? Transformer'lar neden büyük ölçüde onların yerini aldı?OrtaDerin ÖğrenmeYapay Zeka

Bu konuda başka bir soru biliyor musun?

Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.

Soru ekle