Encoder ve Decoder Nasıl Çalışır?
Encoder, girdi dizisinin her öğesini sırayla işleyerek sabit boyutlu bir bağlam vektörü üretir. RNN tabanlı encoder'larda bu bağlam son gizli durumdur; Transformer tabanlı mimarilerde ise tüm girdi pozisyonlarına ait gizli durum vektörleri decoder'a aktarılır. Decoder ise bu temsili alarak çıktı dizisini otoregresif biçimde üretir: bir önceki adımda üretilen token, bir sonraki token olasılığını hesaplamak için tekrar girdi olarak beslenir.
Dikkat Mekanizmasının Rolü
Saf encoder-decoder mimarisinde uzun dizilerde bağlam vektörü bilgi darboğazı oluşturur. 2015 yılında Bahdanau ve ark. tarafından önerilen dikkat mekanizması, decoder'ın her adımda encoder'ın farklı konumlarına farklı ağırlıklar atayarak odaklanmasına olanak tanır. Bu sayede model hangi girdi tokenına ne ölçüde dikkat etmesi gerektiğini öğrenir. Transformer mimarisindeki çok başlı dikkat (multi-head attention) bu fikrin paralel ve güçlendirilmiş halidir: farklı temsil alt uzaylarında eş zamanlı dikkat hesaplanır.
Encoder-Decoder Modelleri
- check_circle T5 (Google): Her NLP görevini metin → metin dönüşümü olarak çerçeveler; çeviri, özetleme, soru yanıtlama için aynı model kullanılır.
- check_circle BART (Meta): Bozulmuş metin gürültüsünü gidermek için eğitilmiş encoder-decoder; özetleme ve metin üretiminde güçlü performans gösterir.
- check_circle Whisper (OpenAI): Ses encoder + metin decoder; konuşma tanıma için büyük ölçekli eğitim yapılmıştır.
- check_circle U-Net: Görüntü segmentasyonu için encoder-decoder; atlama bağlantıları (skip connections) yerel detayları korur.
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
Eğitim sırasında teacher forcing kullanılır: decoder her adımda modelin önceki çıktısı yerine gerçek (ground-truth) hedef tokenı girdi olarak alır. Bu, eğitimi hızlandırır ve gradyanların daha kararlı akmasını sağlar; ancak çıkarım sırasında model kendi hatalarını gördüğünden 'exposure bias' adı verilen bir uyumsuzluk ortaya çıkabilir. Scheduled sampling ve beam search bu sorunu kısmen azaltmak için kullanılan tekniklerdir.
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.