Tekrarlayan Sinir Ağı
Recurrent Neural Network (RNN) · Ayrıca şöyle bilinir: RNN, Elman network, Jordan network, simple recurrent network
Tekrarlayan Sinir Ağı (RNN), gizli bir durumu zaman adımları arasında bilgi taşıyarak sıralı verileri işlemek üzere tasarlanmış bir sinir ağı sınıfıdır. Modern biçimiyle Rumelhart ve diğerleri (1986) tarafından tanıtılan ve Elman (1990) tarafından daha da şekillendirilen RNN'ler, dikkat tabanlı modellerin yükselişinden önce doğal dil işleme (NLP), konuşma ve zaman serisi analizinde dizi modellemesi için baskın mimari haline gelmiştir.
Tam yöntemi oku
Bu bölümü okumak için ücretsiz hesapla giriş yapın.
Yöntem haritası
İlişkili yöntemlerin komşuluğu — keşfetmek için bir düğüm seçin.
+15 tane daha
Ne zaman kullanılır
Verileriniz sıralı olduğunda ve sıra anlam taşıdığında (metin, konuşma, sensör akışları, finansal zaman serileri veya orta uzunlukta biyolojik diziler (birkaç yüz adıma kadar)) bir RNN kullanın. Kompakt bir tekrarlayan mimariye ihtiyacınız olduğunda veya LSTM/GRU varyantlarıyla aşağı akış entegrasyonu planlandığında uygundur. Birkaç yüz adımdan daha uzun diziler için basit bir RNN kullanmayın: sönümlenen gradyanlar, uzun menzilli bağımlılıkları öğrenmesini engeller; bu durumda LSTM veya GRU çok daha etkilidir. 2024 ve sonrası doğal dil anlama görevleri için, önceden eğitilmiş dönüştürücüler (BERT, RoBERTa) neredeyse her zaman RNN'lerden daha iyi performans gösterir. RNN'leri esas olarak daha büyük mimarilerde bir bileşen olarak veya dizi görevleri için bir temel olarak kullanın.
Güçlü yönler & sınırlılıklar
- Değişken uzunluktaki dizileri, sabit bir pencere boyutuna doldurma gerektirmeden doğal olarak işler.
- Zaman adımları arasında parametre paylaşımı, model boyutunu girdi uzunluğuna göre yönetilebilir tutar.
- LSTM, GRU ve birçok modern dizi modelinin kavramsal ve pratik temelini oluşturur.
- Daha pahalı mimarilerden önce dizi sınıflandırması ve regresyonu için hafif bir temel olarak uygundur.
- Her zaman adımında çıktı üretebilir, bu da dizi etiketleme ve çeviri gibi çoktan-çoğa görevleri mümkün kılar.
- Yaklaşık 50-200 adımdan daha uzun diziler için ciddi sönümlenen/patlayan gradyan sorunu; LSTM veya GRU tercih edilmelidir.
- Sıralı hesaplama zaman adımları arasında paralelleştirilemez, bu da uzun dizilerde eğitimi evrişimli veya dönüştürücü mimarilere kıyasla yavaşlatır.
- BERT ve RoBERTa gibi önceden eğitilmiş dönüştürücü modeller tarafından çoğu NLP kıyaslamasında önemli ölçüde geride bırakılmıştır.
- Sınırlı bellek kapasitesi: sabit boyutlu gizli durum, uzun menzilli bağlamı sıkıştırmakta zorlanır.
SSS
Bir RNN, bir LSTM ve bir GRU arasındaki fark nedir?
Bir RNN en basit tekrarlayan mimaridir: her adımda güncellenen tek bir gizli duruma sahiptir. LSTM, uzun menzilli bilgiyi sönümlenen gradyanlardan koruyan girdi, unutma ve çıktı kapıları ekler. GRU, daha az parametreye sahip, LSTM'nin basitleştirilmiş bir versiyonudur. Hem LSTM hem de GRU, yaklaşık 50-100 adımdan daha fazla bellek gerektiren görevlerde basit bir RNN'den neredeyse her zaman daha iyi performans gösterir.
Bir RNN'yi eğitmek neden bazen NaN kayıpları üretir?
NaN kayıpları neredeyse her zaman patlayan gradyanlardan kaynaklanır. Gradyan kırpma (normu 1 veya 5'e kırpın) uygulayın ve öğrenme oranını düşürün. Girdilerin normalleştirildiğinden emin olun. Sorun devam ederse, kapı mekanizmaları sayesinde daha kararlı olan LSTM veya GRU'ya geçin.
2024'te hala NLP görevleri için bir RNN kullanabilir miyim?
Üretim NLP'si için BERT veya RoBERTa gibi önceden eğitilmiş dönüştürücüler baskındır. Basit RNN'ler en iyi hafif temeller, daha büyük mimarilerin içindeki bileşenler veya büyük model boyutlarının engelleyici olduğu kaynak kısıtlı ortamlar için saklanmalıdır.
Gizli durum boyutunu nasıl seçerim?
Yaygın seçimler, görev karmaşıklığına ve veri kümesi boyutuna bağlı olarak 64 ila 512 birim arasında değişir. Küçük başlayın (örneğin, 128), doğrulama kaybını izleyin ve yalnızca yetersiz uyum belirginse kapasiteyi artırın. Daha büyük gizli durumlar, küçük veri kümelerinde aşırı uyum riskini artırır.
Dizi sınıflandırması için hangi kayıp fonksiyonunu kullanmalıyım?
İkili sınıflandırma için ikili çapraz entropi kullanın; çok sınıflı için son gizli durum üzerinde softmax ile kategorik çapraz entropi kullanın. Dizi etiketleme (adım başına bir çıktı) için, kaybı her zaman adımında uygulayın ve adımlar arasında ortalama veya toplamını alın.
Kaynaklar
- Elman, J. L. (1990). Finding structure in time. Cognitive Science, 14(2), 179–211. DOI: 10.1207/s15516709cog1402_1 ↗
- Rumelhart, D. E., Hinton, G. E., & Williams, R. J. (1986). Learning representations by back-propagating errors. Nature, 323(6088), 533–536. DOI: 10.1038/323533a0 ↗
Bu sayfayı kaynak gösterin
ScholarGate. (2026, June 3). Recurrent Neural Network (RNN). ScholarGate. https://scholargate.app/tr/deep-learning/recurrent-neural-network
Hangi yöntem?
Bu yöntemi en yakın akrabalarının yanına koyup yan yana okuyun — kütüphane kitapları masaya serer; seçim sizindir.
- BERT Tabanlı SınıflandırmaDerin öğrenme↔ karşılaştır
- Gated Recurrent Unit (GRU)Derin öğrenme↔ karşılaştır
- Uzun Kısa Süreli Bellek (LSTM)Derin öğrenme↔ karşılaştır