RNN ve LSTM nasıl çalışır? Transformer'lar neden büyük ölçüde onların yerini aldı?
Cevap
RNN, diziyi adım adım işler ve her adımda bir gizli durum (hidden state) taşır: h_t = tanh(W_h·h_(t-1) + W_x·x_t + b). Aynı ağırlıklar her adımda tekrar kullanılır. Sorun: uzun dizilerde gradyan aynı matrisle defalarca çarpıldığı için vanishing/exploding gradient oluşur ve model uzak bağımlılıkları öğrenemez.
LSTM
LSTM, ayrı bir cell state ve üç kapı (gate) ekler:
- Forget gate: Cell state'ten neyin silineceğine karar verir.
- Input gate: Hangi yeni bilginin ekleneceğine karar verir.
- Output gate: Cell state'in ne kadarının hidden state olarak dışarı verileceğine karar verir.
Cell state büyük ölçüde toplama işlemleriyle güncellendiği için gradyan daha uzun mesafelere taşınabilir. GRU benzer fikrin iki kapılı, daha hafif bir versiyonudur.
Transformer neden kazandı?
| Özellik | RNN / LSTM | Transformer |
|---|---|---|
| Paralellik | Sıralı, t. adım t-1'i bekler | Eğitimde tüm tokenlar paralel |
| Uzun bağımlılık | Bilgi adım adım taşınır, kaybolur | Attention ile her token diğerine doğrudan bakar |
| Ölçeklenme | GPU'yu verimsiz kullanır | Büyük veri ve parametreyle iyi ölçeklenir |
| Karmaşıklık | O(n) | Attention için O(n²) |
| Inference belleği | Sabit (tek hidden state) | Dizi uzadıkça büyüyen KV cache |
Güncel durum
RNN'lerin sabit bellekli inference avantajı tekrar ilgi görüyor. Mamba gibi state space modelleri ve hibrit (attention + SSM) mimariler, uzun bağlamda verimlilik için araştırılıyor. Ancak 2025–2026 itibarıyla ana akım LLM'ler hâlâ transformer tabanlıdır. LSTM'ler ise küçük zaman serisi, sensör ve edge uygulamalarında kullanılmaya devam ediyor.
İlgili Derin Öğrenme soruları
- NumPy ile sayısal olarak kararlı (numerically stable) softmax ve cross-entropy loss yazın. Logit'lere göre gradyanı nedir?
- PyTorch ile bir sınıflandırma modeli için eksiksiz bir training loop yazın. Hangi adımlar sık unutulur?
- Transfer learning nedir? Önceden eğitilmiş bir modeli küçük bir veri setine nasıl fine-tune edersiniz?
- Embedding nedir? One-hot encoding'e göre avantajı nedir ve nerelerde kullanılır?
- Transformer mimarisini anlatın. Encoder-only, decoder-only ve encoder-decoder modeller arasındaki fark nedir?
- 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.
Bu konuda başka bir soru biliyor musun?
Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.