🔄Tekrarlayan Sinir Ağları (RNN)
🔄 Tekrarlayan Sinir Ağları (RNN)
🔎 Tanım
Önceki çıkışların sonraki katmanlara giriş olarak kullanılmasına izin veren bir sinir ağı sınıfıdır
Eğitim sırasında öğrendikleri şeyleri hatırlarlar ✨
🧱 Mimari
🔶 RNN Tamamının Mimarisi
🧩 Bir RNN Hücresi
Temel bir RNN hücresi. 'yi (Şimdiki girdi) ve 'yi (geçmişten gelen bilgileri içeren önceki gizli durum) girdi olarak alır, bir sonraki RNN hücresine verilen ve aynı zamanda 'yi tahmin etmek için kullanılan 'yi çıktı olarak verir
⏩ Forward Propagation
'yi hesaplamak için:
'yi hesaplamak için:
👀 Görselleştirme
⏪ Back Propagation
Kayıp fonksiyonu aşağıdaki şekilde tanımlanır
🎨 RNN Türleri
1️⃣ ➡ 1️⃣ One-to-One (Klasik ANN)
1️⃣ ➡ 🔢 One-to-Many (Müzik Üretme)
🔢 ➡ 1️⃣ Many-to-One (Anlamsal Analiz)
🔢 ➡ 🔢 Many-to-Many (Konuşma tanıma)
🔢 ➡ 🔢 Many-to-Many (Makine Çevirisi)
🔥 Gelişmiş Tekrarlayan Sinir Ağları
🔄 Çift Yönlü Tekrarlayan Yapay Sinir Ağları (BRNN)
Birçok uygulamada, tüm giriş sırasına bağlı olabilecek bir tahmini çıkarmak isteyebiliriz
Bidirectional RNN'ler dizinin başlangıcından başlayarak zaman içinde ileri hareket eden bir RNN'i, dizinin sonundan başlayarak zaman boyunca geri hareket eden bir RNN ile birleştirirler.
💬 Başka Bir Deyişle
Çift Yönlü Tekrarlayan Yapay Sinir Ağları aslında iki bağımsız RNN bir araya getiriyorlar.
Giriş dizisi bir ağ için normal zaman sırasıyla, diğeri için ters zaman sırasıyla aktarılır.
İki ağın çıkışları genellikle her zaman adımında birleştirilir.
🎉 Bu yapı, ağların, her adımda dizi hakkında hem geri hem de ileri bilgiye sahip olmalarını sağlar.
👎 Dezavantaj
Tahmin yapmadan önce tüm veri dizisine ihtiyacımız vardır.
e.g: gerçek zamanlı konuşma tanıma için uygun değildir
👀 Görselleştirme
🕸 Derin RNN'ler
Çoğu RNN hesaplamaları, üç parametre bloğuna ve ilişkili dönüşümlere ayrıştırılabilir.: 1. Girişten gizli duruma, ➡ 2. Önceki gizli durumdan sonraki gizli duruma, ➡ 3. Gizli durumdan çıktıya, ➡
Derin tekrarlayan ağlarla sonuçlanan yukarıdaki dönüşümlerin her biri için birden çok katman kullanabiliriz 😋
👀 Görselleştirme
❌ Problem: Vanishing Gradients with RNNs
10.000 zaman adımı büyüklüğünde bir dizi verisini işleyen bir RNN, optimize edilmesi çok zor olan 10.000 derin katmana sahiptir 🙄
Derin Sinir Ağlarında da, daha derin ağlar vanishing gradient problem sorununa giriyor 🥽
Bu da, uzun dizi boyutuna sahip RNN'lerde de olur 🐛
🧙♀️ Çözümler
RNN'deki Vanishing Gradients problemi üzerine Yazımı okuyabilirsin 🤸♀️
🌞 Yazının Aslı
🧐 Daha Fazla Oku
Last updated