RNN (Recurrent Neural Network) (Tekrarlayan Sinir Ağı)

RNN, gizli durum ile önceki adımları hatırlayarak metin, ses ve zaman serisi gibi sıralı verileri işleyen sinir ağı mimarisidir.

RNN (Recurrent Neural Network, Tekrarlayan Sinir Ağı), sıralı verileri adım adım işlerken önceki adımlardan gelen bilgiyi bir gizli durum (hidden state) vektöründe taşıyan yapay sinir ağı mimarisidir. Klasik ileri beslemeli ağlar her girdiyi bağımsız değerlendirir; RNN ise bir cümleyi okuyan insan gibi soldan sağa ilerler, her kelimede o ana kadar gördüklerinin özetini günceller. Bu döngüsel yapı, çıktının yalnızca mevcut girdiye değil, tüm geçmiş bağlama bağlı olduğu problemler için tasarlanmıştır: dil modelleme, konuşma tanıma, makine çevirisi, zaman serisi tahmini ve sensör verisi analizi. Matematiksel olarak her zaman adımında aynı ağırlık matrisleri paylaşılır: h_t = f(W_x·x_t + W_h·h_(t-1) + b). Eğitim, zaman içinde geri yayılım (Backpropagation Through Time, BPTT) ile yapılır; ağ, dizinin uzunluğu kadar "açılır" ve gradyanlar geriye doğru akıtılır. Bu süreçte gradyanların üstel biçimde küçülmesi (vanishing gradient) standart RNN'in en bilinen zayıflığıdır: 30-50 adımdan uzun bağımlılıklar pratikte öğrenilemez. 1997'de Hochreiter ve Schmidhuber'in LSTM'i, 2014'te Cho ve ekibinin GRU'su bu sorunu kapı mekanizmalarıyla büyük ölçüde çözdü ve 2017'ye kadar NLP'nin fiili standardı oldu. 2017'deki Transformer mimarisi, paralel eğitim avantajıyla büyük dil modellerinde RNN'in yerini aldı; ancak dikkat mekanizmasının dizi uzunluğuyla O(n²) ölçeklenen maliyeti, doğrusal karmaşıklıklı alternatif arayışını yeniden başlattı. RWKV-7 (2025), Mamba-2 ve xLSTM (2024) gibi modern tekrarlayan mimariler, RNN'in O(n) çıkarım verimliliğini Transformer düzeyinde ifade gücüyle birleştirerek 2023-2026 döneminde bir "RNN rönesansı" yarattı. Bugün RNN ailesi; akış halinde konuşma tanıma, gömülü cihazlarda düşük gecikmeli çıkarım ve uzun bağlamlı verimli dil modelleri araştırmalarında aktif olarak kullanılmaktadır.

RNN Nasıl Çalışır? Gizli Durum ve BPTT

RNN, diziyi tek seferde değil adım adım okur. Her zaman adımında iki girdi alır: o anki veri (x_t) ve bir önceki adımın gizli durumu (h_(t-1)). Bu ikisini h_t = tanh(W_x·x_t + W_h·h_(t-1) + b) formülüyle birleştirip yeni gizli durumu üretir; h_t, o ana kadar görülen tüm bilginin sıkıştırılmış özetidir. "Bugün hava çok..." cümlesinde son kelimeyi tahmin ederken model, önceki üç kelimenin bağlamını bu vektörden okur. Kritik nokta ağırlık paylaşımıdır: 10 kelimelik cümle de 1.000 kelimelik metin de aynı W matrisleriyle işlenir, bu yüzden parametre sayısı dizi uzunluğundan bağımsızdır. Eğitim, zaman içinde geri yayılım (BPTT) ile yapılır: ağ, dizi uzunluğu kadar açılır ve hata gradyanları son adımdan ilk adıma geriye taşınır. Pratikte hesap maliyetini sınırlamak için genellikle 128-512 adımlık kesilmiş BPTT (truncated BPTT) kullanılır.

RNN Mimarisi Türleri

vanilla-rnn Vanilla RNN

Tek tanh katmanlı en basit form (Elman, 1990). Kısa dizilerde çalışır ancak 30+ adımda kaybolan gradyan nedeniyle pratikte LSTM/GRU ile değiştirildi.

lstm LSTM

Hochreiter ve Schmidhuber (1997). Giriş, unutma ve çıkış kapıları ile ayrı hücre durumu tutar; 100+ adımlık bağımlılıkları öğrenebilir, 2015-2017 arası NLP'nin standardıydı.

gru GRU

Cho ve ekibi (2014). Güncelleme ve sıfırlama olmak üzere iki kapıyla LSTM'e yakın doğruluk sunar; yaklaşık %25 daha az parametre ile daha hızlı eğitilir.

birnn Çift Yönlü RNN (BiRNN/BiLSTM)

Diziyi hem ileri hem geri okuyan iki ağın çıktısını birleştirir. ELMo (2018) gibi bağlamsal gömme modellerinin temelini oluşturdu.

seq2seq Seq2Seq (Enkoder-Dekoder)

Enkoder girdiyi özet vektöre sıkıştırır, dekoder çıktıyı üretir. 2016'da Google Çeviri'nin GNMT sistemi 8 katmanlı LSTM'lerle bu mimariyi kullandı.

modern-rnn Modern Tekrarlayanlar (RWKV, Mamba, xLSTM)

2023-2025 dönemi mimarileri; paralel eğitilebilir, O(n) çıkarım yapar. RWKV-7 ve Mamba-2, dil modellemede Transformer'la rekabet ediyor.

Kaybolan Gradyan Problemi ve Kapılı Çözümler

BPTT sırasında gradyan, her adımda aynı ağırlık matrisiyle tekrar tekrar çarpılır. Matrisin baskın özdeğeri 1'den küçükse gradyan üstel hızla sıfıra iner (vanishing gradient), 1'den büyükse patlar (exploding gradient). Sonuç: standart RNN, 50 kelimelik bir paragrafın başındaki özneyi sondaki fiille eşleştiremez; "Almanya'da doğan ... adam akıcı ______ konuşuyordu" boşluğuna "Almanca" yazamaz. Patlayan gradyan, gradyan kırpma (gradient clipping) ile kolayca kontrol edilir; kaybolan gradyan ise mimari değişiklik gerektirir. LSTM'in hücre durumu, çarpma yerine toplama ile güncellenen bir "otoyol" görevi görür: unutma kapısı 1'e yakın kaldığı sürece bilgi bozulmadan yüzlerce adım taşınır. GRU aynı ilkeyi iki kapıyla sadeleştirir. Aynı otoyol fikri, ResNet'in atlama bağlantılarına ve Transformer'ın artık (residual) bağlantılarına da ilham vermiştir.

RNN'in Güncel Kullanım Alanları

  • check_circle Akış Halinde Konuşma Tanıma (Streaming ASR): RNN-Transducer (RNN-T) mimarisi, Google ve Apple'ın cihaz üstü canlı diktesinde kullanılır; ses geldikçe kelime üretir, tüm kaydı beklemez.
  • check_circle Zaman Serisi Tahmini ve Anomali Tespiti: LSTM/GRU; enerji talebi, sensör arızası ve finansal seri tahmininde hâlâ yaygındır. Az veriyle küçük Transformer'lardan daha stabil eğitilir.
  • check_circle Gömülü ve Uç Cihazlar (Edge AI): Sabit bellek ayak izi ve O(1) adım maliyeti nedeniyle mikrodenetleyicilerde anahtar kelime tespiti (örn. "Hey Siri") GRU tabanlı modellerle yapılır.
  • check_circle Verimli Uzun Bağlamlı Dil Modelleri: RWKV-7 (2025) ve Mamba tabanlı modeller, KV-cache tutmadan sabit bellekle milyonlarca token işleyebildiği için uzun bağlam araştırmalarının odağında.
  • check_circle Biyoinformatik ve Sinyal İşleme: EKG aritmisi sınıflandırma, protein dizisi analizi ve EEG tabanlı uyku evresi tespitinde BiLSTM modelleri klinik literatürde standarttır.

RNN ve Transformer: 2026'da Tablo Nasıl?

Transformer'ın dikkat mekanizması tüm token çiftlerini karşılaştırır: eğitimde tam paralellik ama O(n²) bellek ve hesap. RNN ise adım başına O(1) sabit maliyetle çalışır, toplamda O(n); buna karşılık klasik biçimi sıralı eğitildiği için GPU'ları verimsiz kullanır. Modern tekrarlayan mimariler bu ikilemi kırdı: RWKV, dikkat benzeri bir formülü tekrarlayan biçimde yeniden yazarak hem paralel eğitim hem O(n) çıkarım elde eder; Mamba (2023) ve Mamba-2 (2024), girdiye göre seçici durum uzayı (selective state space) mekanizması kullanır; Sepp Hochreiter'in xLSTM'i (2024) klasik LSTM'i üstel kapılar ve matris belleğiyle güncelledi. Pratik fark çıkarımda belirginleşir: Transformer'da bağlam uzadıkça KV-cache belleği doğrusal büyür; tekrarlayan modellerde durum sabit boyutludur. Bu nedenle 1M+ token bağlam, cihaz üstü asistanlar ve maliyet duyarlı sunum (inference) senaryolarında hibrit Transformer-SSM mimarileri (örn. AI21 Jamba, NVIDIA Nemotron-H) 2025-2026'nın aktif araştırma hattıdır.

Kısa Tarihçe: 1986'dan RWKV'ye

Tekrarlayan ağların kökeni 1980'lere uzanır: Hopfield ağı (1982) ve Rumelhart, Hinton ve Williams'ın BPTT'yi tanıttığı 1986 makalesi. Elman (1990) bugünkü "basit RNN" formunu tanımladı. 1997 iki dönüm noktası getirdi: LSTM ve çift yönlü RNN. 2014-2016 arası altın çağdı: GRU, Seq2Seq ve dikkat mekanizması (Bahdanau, 2014) makine çevirisini dönüştürdü; Google Çeviri 2016'da tamamen LSTM tabanlı GNMT'ye geçti ve çeviri hatalarını %55-85 azalttığını raporladı. 2017'de "Attention Is All You Need" makalesi tekrarlamayı tamamen atıp Transformer'ı önerdi; GPT ve BERT ailesi bu hattan doğdu. 2023 sonrası ise sarkacın geri salınımı: RWKV (2023), Mamba (2023), xLSTM (2024) ve RWKV-7 "Goose" (2025), tekrarlayan hesaplamayı modern ölçekte yeniden yarışır hale getirdi. Türkçe NLP'de de aynı eğri izlendi: 2019 öncesi Türkçe duygu analizi ve adlandırılmış varlık tanıma modelleri ağırlıkla BiLSTM tabanlıydı, bugün BERTurk ve Türkçe LLM'ler Transformer ailesindendir.

Sık Sorulan Sorular

  • check_circle RNN nedir, ne işe yarar?: RNN, önceki adımların bilgisini gizli durum vektöründe taşıyarak metin, ses ve zaman serisi gibi sıralı verileri işleyen sinir ağıdır. Bağlama duyarlı tahmin gerektiren dil modelleme, konuşma tanıma ve seri tahmini görevlerinde kullanılır.
  • check_circle RNN ile CNN arasındaki fark nedir?: CNN, görüntü gibi uzamsal verilerde yerel örüntüleri filtrelerle yakalar; RNN, zamansal sırayı gizli durumla modeller. CNN girdileri bağımsız işler, RNN her çıktıyı geçmiş adımlara bağlar.
  • check_circle RNN ile LSTM arasındaki fark nedir?: LSTM bir RNN türüdür; farkı giriş, unutma ve çıkış kapılarıyla yönetilen ayrı hücre durumudur. Vanilla RNN 30-50 adımdan uzun bağımlılıklarda kaybolan gradyana takılırken LSTM yüzlerce adımı hatırlayabilir.
  • check_circle Kaybolan gradyan problemi nedir?: BPTT sırasında gradyanın her adımda aynı matrisle çarpılıp üstel hızla sıfıra yaklaşması; model dizinin başındaki bilgiyi öğrenemez. Çözümler: LSTM/GRU kapıları, gradyan kırpma ve artık bağlantılar.
  • check_circle Transformer varken RNN hâlâ kullanılıyor mu?: Evet. Akış halinde konuşma tanıma (RNN-T), gömülü cihazlar ve zaman serisi tahmininde aktif kullanılıyor; RWKV-7 ve Mamba-2 gibi modern tekrarlayan modeller de O(n) verimlilikleriyle Transformer'a araştırma düzeyinde rakip.
  • check_circle RNN'i Python'da nasıl kurarım?: PyTorch'ta nn.RNN, nn.LSTM ve nn.GRU katmanları, TensorFlow/Keras'ta SimpleRNN, LSTM ve GRU sınıfları hazırdır. Pratikte doğrudan SimpleRNN yerine LSTM veya GRU ile başlamak önerilir.