Encoder–Decoder Mimarisi
Kodlayıcı-kod çözücü modeller (İng. Encoder-Decoder Models) — sinir ağı mimarilerinin bir sınıfıdır; dizi-dizi dönüşümü (sequence-to-sequence, seq2seq) görevlerini çözmek için tasarlanmıştır. Bu mimari iki temel bileşenden oluşur:
- Kodlayıcı (encoder): Girdi dizisini işler ve onu kompakt bir sayısal temsile (bağlam vektörü veya gizli durumlar dizisi) sıkıştırır.
- Kod çözücü (decoder): Bu temsili alır ve buna dayanarak çıktı dizisini üretir.
Bu mimari, makine çevirisi, metin özetleme ve görüntü açıklama başlıkları gibi pek çok doğal dil işleme (NLP) ve bilgisayarlı görü görevinin temelini oluşturur.
Kavram
Kodlayıcı-kod çözücü mimarisinin temel fikri, anlama ve üretme görevlerinin birbirinden ayrılmasıdır. Kodlayıcı, girdi dizisinden gerekli tüm anlamsal bilgiyi çıkararak diziyi anlamaktan sorumludur. Kod çözücü ise kodlayıcının sağladığı bilgiyi kullanarak yeni bir dizi üretmekten sorumludur.
Bu sayede model, daha önceki mimariler için güç olan, girdi ve çıktıda farklı uzunluklardaki dizilerle çalışabilir.
Mimarinin Evrimi
RNN/LSTM Tabanlı Erken Modeller
Başlangıçta kodlayıcı-kod çözücü mimarisi, yinelemeli sinir ağları (RNN) veya bunların geliştirilmiş bir varyantı olan LSTM kullanılarak gerçekleştirildi.
- Kodlayıcı: RNN kodlayıcı, girdi dizisini token token işleyerek çıktı olarak tek bir bağlam vektörü üretirdi — bu vektör, son tokenin işlenmesinden sonra elde edilen ve tüm dizi hakkında bilgi içermesi gereken gizli durumdu.
- Kod çözücü: RNN kod çözücü bu bağlam vektörüyle başlatılır ve çıktı dizisini otoregresif biçimde üretirdi.
Bu yaklaşımın temel dezavantajı "darboğaz" sorunuydu: girdi dizisindeki tüm bilgilerin sabit uzunluklu tek bir vektöre sıkıştırılması gerekiyordu; bu durum, özellikle uzun dizilerde bilgi kaybına yol açıyordu.
Attention Mekanizmasının Eklenmesi
Atılım, attention mekanizmasının (attention mechanism) eklenmesiyle gerçekleşti (Bahdanau ve ark., 2014).
- Çalışma prensibi: Tek bir bağlam vektörüne dayanmak yerine, kod çözücü her üretim adımında kodlayıcının tüm gizli durumlarına "dikkat eder". Mevcut çıktı tokenini üretmek için girdi dizisinin hangi bölümlerinin en alakalı olduğunu gösteren attention ağırlıklarını hesaplar.
- Avantajları: Bu, "darboğaz" sorununu çözdü ve modelin uzun dizilerle verimli biçimde çalışmasına olanak tanıdı; özellikle makine çevirisinde kaliteyi önemli ölçüde artırdı.
Transformer Mimarisi
2017 yılında "Attention Is All You Need" adlı makalede, yinelemeli yapıdan tamamen vazgeçerek attention mekanizmasını benimseyen Transformer mimarisi tanıtıldı.
- Transformer Kodlayıcı: Her katmanın her girdi tokeni için bağlamsal temsiller oluşturmak amacıyla self-attention kullandığı bir katman yığınından oluşur.
- Transformer Kod Çözücü: Her katmanın iki tür attention mekanizması içerdiği bir katman yığınından oluşur:
- Maskeli self-attention: Çıktı dizisinin önceden üretilmiş bölümünü işlemek için.
- Çapraz attention (Cross-Attention): Kodlayıcının çıktı temsillerine "dikkat etmek" için.
Bu mimari, yüksek performansı ve paralel hesaplama imkânı sayesinde seq2seq görevlerinde standart hâline geldi.
Kullanım Alanları
Kodlayıcı-kod çözücü mimarisi geniş bir görev yelpazesinde standart olarak kullanılır:
- Makine çevirisi: Bir cümlenin bir dilden diğerine dönüştürülmesi.
- Otomatik metin özetleme: Uzun bir belgenin kısa özetinin oluşturulması.
- Diyalog sistemleri: Kullanıcının ifadesine yanıt üretilmesi.
- Görüntü açıklama başlıkları (Image Captioning): Kodlayıcı (genellikle evrişimli sinir ağı tabanlı) görüntüyü işler; kod çözücü (genellikle RNN veya Transformer) görüntünün metin açıklamasını üretir.
- Konuşma tanıma: Ses sinyalinin metin transkripsiyonuna dönüştürülmesi.
Temel Modeller
- Orijinal Transformer (Vaswani ve ark., 2017): Bu mimariyi tanıtan model.
- BART (Bidirectional and Auto-Regressive Transformers): Facebook'tan bir model olup "bozulmuş" metni geri yükleme görevi üzerinde ön eğitimden geçirilir. Kodlayıcı çift yönlüdür (BERT'teki gibi), kod çözücü ise otoregresiftir (GPT'deki gibi).
- T5 (Text-to-Text Transfer Transformer): Google'dan bir model olup tüm NLP görevlerini metin-metin dönüşümü problemi olarak birleştirir. T5, pek çok benchmark üzerinde üstün sonuçlar elde etmiştir.
Diğer Mimarilerle Karşılaştırma
| Mimari | Temel Görev | Bileşenler | Tipik Modeller |
|---|---|---|---|
| Kodlayıcı-kod çözücü | Dizi-dizi dönüşümü | Kodlayıcı + Kod çözücü | T5, BART, orijinal Transformer |
| Yalnızca kodlayıcı | Metin anlama | Yalnızca kodlayıcı | BERT, RoBERTa |
| Yalnızca kod çözücü | Metin üretme | Yalnızca kod çözücü |
Kaynakça
- Bahdanau, D. et al. (2014). Neural Machine Translation by Jointly Learning to Align and Translate. arXiv:1409.0473.
- Sutskever, I. et al. (2014). Sequence to Sequence Learning with Neural Networks. arXiv:1409.3215.
- Luong, M.-T. et al. (2015). Effective Approaches to Attention-based Neural Machine Translation. arXiv:1508.04025.
- Wu, Y. et al. (2016). Google's Neural Machine Translation System: Bridging the Gap between Human and Machine Translation. arXiv:1609.08144.
- Vaswani, A. et al. (2017). Attention Is All You Need. arXiv:1706.03762.
- Britz, D. et al. (2017). Massive Exploration of Neural Machine Translation Architectures. arXiv:1703.03906.
- Lewis, M. et al. (2020). BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation. arXiv:1910.13461.
- Raffel, C. et al. (2020). Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer. arXiv:1910.10683.
- Dong, L. et al. (2019). Unified Language Model Pre-training for Natural Language Understanding and Generation. arXiv:1905.03197.
- Zhang, J. et al. (2020). PEGASUS: Pre-training with Extracted Gap-Sentences for Abstractive Summarization. arXiv:1912.08777.