Embedding (NLP) (TR)

From Systems analysis Wiki
Jump to navigation Jump to search

Embedding (İngilizceden embedding — "gömme") — makine öğrenmesi ve doğal dil işleme alanında temel bir teknolojidir; ayrık veya karmaşık nesneleri (sözcükler, cümleler, görüntüler gibi) sabit boyutlu sayısal vektör temsillerine dönüştürür. Bu vektörler, yani embedding'ler, anlamsal açıdan benzer nesnelerin birbirine yakın konumlandığı çok boyutlu bir uzayda yer alır.

Tanım ve Kavram

Biçimsel olarak, embedding, f:Xd şeklinde bir eşleme fonksiyonudur; burada X — nesnelerin kaynak uzayı (örneğin bir sözcük sözlüğü), d ise d boyutuna sahip çok boyutlu bir vektör uzayıdır (embedding uzayı). d boyutu, kaynak uzayının boyutundan çok daha küçüktür; bu da söz konusu temsilleri yoğun (dense) kılar.

Sözcüklerin vektör temsilleri için teorik temel, dağılımsal semantiktir; bu yaklaşım, bir sözcüğün anlamının kullanım bağlamı tarafından belirlendiğini savunur. Yani benzer bağlamlarda geçen sözcükler benzer anlamlara sahiptir ve dolayısıyla birbirine yakın vektör temsillerine sahip olur.

Embedding'lerin Temel İlkeleri

  • Sabit boyutluluk: Tüm nesneler, kaynak verinin boyutundan (örneğin cümle uzunluğundan) bağımsız olarak aynı uzunluktaki vektörlere eşlenir.
  • Anlamsal yakınlık: Vektörler arasındaki mesafe (genellikle kosinüs benzerliği ile ölçülür) kaynak nesnelerin anlamsal yakınlığını yansıtır.
  • Matematiksel işlem desteği: Vektörler anlamsal ilişkileri koruduğundan üzerlerinde cebirsel işlemler yapılabilir. Klasik bir örnek: вектор(«король»)вектор(«мужчина»)+вектор(«женщина»)вектор(«королева»).

Tarihçe ve Gelişim

Erken Yaklaşımlar (1980–2000'ler)

Vektör temsillerine ilişkin ilk fikirler, sinir ağları araştırmaları çerçevesinde 1980'li yıllarda ortaya çıktı. Erken yöntemler, sözcüklerin birlikte görünme sıklığının istatistiksel analizine dayanıyordu.

Word2Vec Dönemi (2013)

Devrim niteliğindeki gelişme, 2013 yılında Tomas Mikolov önderliğindeki Google ekibinin Word2Vec'i geliştirmesiyle yaşandı. Word2Vec, sözcük embedding'lerini öğrenmek için iki verimli ve hesaplama maliyeti düşük mimari önerdi:

  • CBOW (Continuous Bag of Words): Merkezi sözcüğü çevresindeki bağlama dayanarak tahmin eder.
  • Skip-gram: Merkezi sözcükten bağlam sözcüklerini tahmin eder.

Word2Vec, açık kaynak kodu ve yüksek işlem hızı sayesinde vektör temsillerinin ilk popüler uygulaması oldu.

Alternatif Yaklaşımların Gelişimi

Word2Vec'in ardından statik embedding alanında başka önemli modeller de ortaya çıktı:

  • GloVe (2014): Stanford Üniversitesi'nde geliştirilen ve vektörleri eğitmek için sözcüklerin küresel birlikte görünme istatistiklerini kullanan bir model.
  • FastText (2015): Facebook tarafından geliştirilen ve her sözcüğü karakter n-gram vektörlerinin toplamı olarak temsil ederek sözcüklerin morfolojisini dikkate alan bir model. Bu sayede eğitim sözlüğünde bulunmayan sözcükler (Out-of-Vocabulary sözcükler) için de embedding oluşturulabilmektedir.

Transformer ve Bağlamsal Embedding Çağı (2018–günümüz)

Transformer mimarisinin ve BERT modelinin (2018) ortaya çıkmasıyla büyük bir sıçrama yaşandı. Bu gelişme, sözcüğün vektör temsilinin kullanım bağlamına göre değiştiği bağlamsal embeddinglerin doğuşuna zemin hazırladı. Statik temsillerde "kilit" sözcüğü her cümlede aynı vektöre sahipken, bağlamsal modeller her durum için farklı embedding'ler üretir.

Embedding Türleri

Temsil Düzeyine Göre

  • Sözcük embedding'leri: Her sözcüğün ayrı bir vektörle temsil edildiği temel tür (Word2Vec, GloVe).
  • Cümle ve belge embedding'leri: Bütün cümle, ifade veya belgeleri tek bir vektörle temsil eder (PV-DM, PV-DBOW).
  • Kullanıcı ve nesne embedding'leri: Öneri sistemlerinde kullanıcı ilgilerini ve ürün özelliklerini temsil etmek için kullanılır.

Bağlamsallığa Göre

  • Statik embedding'ler: Her sözcüğe bağlamdan bağımsız olarak tek bir sabit vektör atanır (Word2Vec, GloVe, FastText).
  • Bağlamsal embedding'ler: Aynı sözcük için çevresine bağlı olarak farklı temsiller üretir. Başlıca temsilciler:
    • BERT: Transformer tabanlı çift yönlü model.
    • ELMo: Çift yönlü LSTM modeli.
    • RoBERTa, DistilBERT, ALBERT: BERT'in geliştirilmiş varyantları.

Modaliteye Göre

  • Metin embedding'leri: Sözcük, cümle ve belge temsillerini kapsayan en yaygın tür.
  • Görsel embedding'ler: Bilgisayarla görü görevleri için görüntü temsilleri.
  • Multimodal embedding'ler: Farklı veri türlerini (metin, görüntü, ses) tek bir vektör uzayında birleştirir. Altı modaliteden gelen verileri ilişkilendirebilen ImageBind buna örnek gösterilebilir.

Mimariler ve Eğitim Yöntemleri

Klasik Yöntemler

  • One-hot kodlama: Her sözcüğün sözlük boyutunda bir vektörle, ilgili konumda 1 değeriyle kodlandığı en basit yöntem. Dezavantajları: yüksek seyreklik ve anlamsal bilgi eksikliği.
  • Matris çarpanlara ayrımı: Sözcüklerin birlikte görünme matrislerine uygulanan boyut azaltma yöntemleri (örn. LSA).

Sinir Ağı Mimarileri

  • Sığ sinir ağları: Word2Vec'teki CBOW ve Skip-gram mimarileri, verimli eğitim için iki katmanlı sinir ağları kullanır.
  • Transformer'lar: Attention (dikkat) mekanizması sayesinde alanı kökten değiştiren mimari.

Modern Yaklaşımlar

  • Maskeli öz-denetimli öğrenme: BERT, bağlamsal temsiller öğrenmek için maskelenmiş sözcükleri tahmin etme görevini kullanır.
  • Karşıtlık tabanlı öğrenme: Anlamsal açıdan yakın (pozitif) çiftlerin benzerliğini artıran, uzak (negatif) çiftlerin benzerliğini ise azaltan yöntemler.

Embedding Uygulama Alanları

Embedding'ler pek çok farklı alanda yaygın biçimde kullanılmaktadır:

Doğal Dil İşleme

  • Arama ve bilgi erişimi: Anlamsal aramanın kalitesini artırarak belgelerin yalnızca anahtar sözcüklere değil, anlama göre bulunmasını sağlama.
  • Metin sınıflandırma: Vektör temsilleri, sınıflandırıcılara girdi olarak sunularak doğruluklarını artırır.
  • Duygu analizi: Bağlamı dikkate alarak metinlerin duygusal tonunu belirleme.
  • Makine çevirisi: Kaynak ve hedef dillerin semantiğinin daha iyi anlaşılmasını sağlama.

Öneri Sistemleri

Kullanıcı ve ürün embedding'leri, aşağıdakiler dahil kişiselleştirilmiş öneri sistemlerinin temelini oluşturur:

  • İşbirlikçi filtreleme: Kullanıcı davranışı embedding'lerine dayalı.
  • İçerik tabanlı filtreleme: Ürün özelliği embedding'leri kullanılarak.

Bilgisayarla Görü

  • Görüntü sınıflandırma ve arama: Evrişimli sinir ağları ve Vision Transformer'lar, görüntüleri sınıflandırmak ve görsel olarak benzer görüntüleri aramak için embedding'ler oluşturur.

Biyoinformatik ve Tıp

  • Tıbbi veri analizi: Klinik kayıtların analizi ve hastalık tanısı.
  • Moleküler temsiller: Kimyasal bileşiklerin özelliklerini tahmin etmek için embedding oluşturma.

Teknik Konular ve Optimizasyon

  • Boyut optimizasyon yöntemleri: Matryoshka Representation Learning (MRL) — tek bir modelden farklı boyutlarda embedding elde etmeye olanak tanıyan, önemli bilgiyi vektörün başına yoğunlaştıran yenilikçi bir yaklaşım.
  • Embedding nicemleme: Hesaplamayı hızlandırmak ve bellek tasarrufu sağlamak amacıyla sayıların temsil hassasiyetini düşürme (örneğin 8 veya 4 bit'e).
  • Veritabanlarıyla entegrasyon: Modern vektör veritabanları (örn. Milvus, Pinecone) ve geleneksel VTYS için eklentiler (örn. PostgreSQL için pgvector), embedding'lerin verimli biçimde depolanmasını ve aranmasını sağlar.

Dış bağlantılar

  • Sözcüklerin vektör temsili — Vikipedi
  • Sözcüklerin vektör temsili — NEERC

Kaynakça

  • Mikolov, T. et al. (2013). Efficient Estimation of Word Representations in Vector Space. arXiv:1301.3781.
  • Mikolov, T. et al. (2013). Distributed Representations of Words and Phrases and their Compositionality. arXiv:1310.4546.
  • Pennington, J.; Socher, R.; Manning, C. (2014). GloVe: Global Vectors for Word Representation. PDF.
  • Bojanowski, P. et al. (2017). Enriching Word Vectors with Subword Information. arXiv:1607.04606.
  • Joulin, A. et al. (2017). Bag of Tricks for Efficient Text Classification. arXiv:1607.01759.
  • Peters, M. E. et al. (2018). Deep Contextualized Word Representations. ACL Anthology.
  • Devlin, J. et al. (2019). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805.
  • Reimers, N.; Gurevych, I. (2019). Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks. arXiv:1908.10084.
  • Kusupati, A. et al. (2022). Matryoshka Representation Learning. arXiv:2205.13147.
  • Radford, A. et al. (2021). Learning Transferable Visual Models From Natural Language Supervision. PMLR 139.
  • Girdhar, R. et al. (2023). ImageBind: One Embedding Space To Bind Them All. CVPR 2023.