Encoder-Decoder (Kodlayıcı-Çözücü)

Girdiyi sıkıştırılmış bir ara temsile dönüştüren (encoder) ve bu temsilden hedef çıktıyı üreten (decoder) iki bileşenli sinir ağı mimarisi.

Encoder-decoder (kodlayıcı-çözücü), bir girdi dizisini veya veriyi sıkıştırılmış bir ara temsile dönüştüren (kodlama) ve ardından bu temsilden hedef çıktıyı yeniden üreten (çözme) iki bileşenli bir sinir ağı mimarisidir. Dizi-diziye (seq2seq) dönüşüm gerektiren görevlerde temel yapı taşı olan bu mimari, makine çevirisi, metin özetleme, konuşma tanıma ve görüntü açıklama gibi alanlarda geniş uygulama bulur. Encoder bileşeni, girdi dizisinin her öğesini işleyerek sabit boyutlu bir bağlam vektörü (context vector) veya dikkat ağırlıklı gizli durum kümesi üretir. RNN tabanlı encoder'larda bu çıktı son gizli durumdur; Transformer tabanlı mimarilerde ise her girdi tokenına karşılık gelen gizli durum vektörlerinin tamamı decoder'a aktarılır. Decoder bileşeni, encoder çıktısını alarak hedef dizinin her adımını otoregresif biçimde üretir: bir önceki adımda üretilen token, sonraki token olasılığını hesaplamak için tekrar girdi olarak kullanılır. Eğitim sırasında "teacher forcing" yöntemiyle gerçek hedef tokenlar girdi olarak verilir; çıkarım (inference) aşamasında ise modelin kendi ürettiği tokenlar beslenir. Dikkat mekanizması (attention mechanism) bu mimarinin kritik bir uzantısıdır. 2015 yılında Bahdanau ve ark. tarafından önerilen dikkat, decoder'ın her adımda encoder'ın farklı konumlarına farklı ağırlıklar atayarak odaklanmasını sağlar; bu sayede uzun dizilerdeki bilgi kaybı önemli ölçüde azalır. Modern Transformer mimarisindeki çok başlı dikkat (multi-head attention), bu fikrin paralel ve güçlendirilmiş halidir. Günümüz büyük dil modellerinin büyük çoğunluğu encoder-decoder veya sadece-decoder mimarisini benimser. BERT saf encoder, GPT ailesi saf decoder, T5 ve BART ise encoder-decoder modellerine örnektir. Görüntü işlemede U-Net gibi yapılar da encoder-decoder prensibini piksel düzeyinde segmentasyon için kullanır.

Encoder ve Decoder Nasıl Çalışır?

Dikkat Mekanizmasının Rolü

Uygulama Alanları

  • check_circle Makine Çevirisi: Kaynak dil encoder'a, hedef dil decoder'a verilir; dikkat hangi kaynak kelimeye odaklanılacağını belirler
  • check_circle Metin Özetleme: Uzun belge encoder'a verilir; decoder kısa özet üretir (abstractive summarization)
  • check_circle Konuşma Tanıma: Ses encoder akustik özellikleri kodlar; decoder fonem/kelime dizisi üretir
  • check_circle Görüntü Açıklama: CNN encoder görüntü özelliklerini çıkarır; metin decoder açıklama cümlesi oluşturur
  • check_circle Kod Üretimi: Doğal dil açıklama encoder'a, hedef kod decoder'a verilir (örn. Codex benzeri modeller)

Teacher Forcing ve Çıkarım

Sık Sorulan Sorular

  • check_circle Encoder-decoder ile sadece-decoder modeller arasındaki fark nedir?: Sadece-decoder modeller (GPT) öz-dikkat ile otoregresif metin üretir; encoder-decoder modeller (T5) ayrı bir encoder bileşeni üzerinden farklı modalite/dil/göreve özel kodlama yapar.
  • check_circle Dikkat mekanizması olmadan encoder-decoder çalışır mı?: Çalışır; ancak uzun dizilerde performans düşer. Sabit boyutlu bağlam vektörü tüm girdi bilgisini sıkıştırmakta yetersiz kalır.
  • check_circle U-Net neden encoder-decoder kategorisine girer?: Piksel düzeyinde segmentasyon için görüntüyü küçülten (encoder) ve yeniden büyüten (decoder) simetrik yol; atlama bağlantıları yerel detayları korur.
  • check_circle Seq2seq modeli ile encoder-decoder aynı şey mi?: Seq2seq, encoder-decoder mimarisinin dizi dönüşüm görevlerindeki adıdır; kavram özdeştir. Encoder-decoder terimi daha genel olup görüntü, ses, metin dışı modaliteleri de kapsar.