Tekrarlayan sinir ağları (RNN), düğümler arasındaki bağlantıların yönlendirilmiş bir döngü oluşturduğu yapay sinir ağı sınıfıdır. Bu, dinamik zamansal davranış sergilemesine izin verir. İleri beslemeli sinir ağlarından farklı olarak, RNN’ler kendi giriş belleğini girdilerin keyfi sıralarını işlemek için kullanabilirler.

Tekrarlayan sinir ağlarının asıl amacı ardışık bilgileri kullanmaktır. Geleneksel bir sinir ağında tüm girişlerin (ve çıktıların) birbirinden bağımsız olduğunu varsayarız. RNN’ler tekrarlayan olarak adlandırılır çünkü bir dizinin her öğesi için aynı görevi yerine getirirler, çıktı önceki hesaplamalara bağlıdır. RNN’leri düşünmenin bir başka yolu, şu ana kadar hesaplananlarla ilgili bilgi toplayan “bellek” taşıdıklarıdır. Teorik olarak, RNN’ler keyfi uzun dizilerdeki bilgileri kullanabilir, ancak pratikte yalnızca birkaç adım geriye dönmekle sınırlıdır. Tipik bir RNN:

A recurrent neural network and the unfolding in time of the computation involved in its forward computation.

Yukarıdaki diyagram, bir RNN’nin tam bir ağa açılmasını gösterir.

tekrarlayansiniragi

İki yönlü RNN’ler (Bidirectional RNNs): t zamanındaki çıktıların sıralardaki önceki öğelere değil gelecekteki öğelere de bağlı olabileceği fikrine dayanmaktadır. Örneğin, bir dizideki eksik bir kelimeyi tahmin etmek için hem sol hem de sağ içeriğe bakmak istiyorsunuz. İki yönlü RNN’ler oldukça basittir. Bunlar sadece üst üste istiflenmiş iki RNN’dir. Çıktılar daha sonra her iki RNN’nin gizli halini temel alarak hesaplanır.

Bidirectional RNN

Derin (İki Yönlü) RNN’ler (Deep RNNs): Çift Yönlü RNN’lere benzer, yalnızca zaman adımında birden fazla katmandan oluşur. Uygulamada bu bize daha yüksek bir öğrenme kapasitesi sağlar (ancak aynı zamanda bir çok eğitim verisine ihtiyaç duyulur).

Deep Bidirectional RNN

LSTM ağları (LSTM networks): LSTM’lerin temelde RNN’lerden farklı bir mimarisi yoktur, ancak gizli durumu hesaplamak için farklı bir fonksiyon kullanırlar. LSTM’lerin hafızasına hücreler denir ve bunları önceki durum h_{t-1} ve geçerli giriş x_t‘yi girdi olarak alan kara kutular olarak düşünebilirsiniz. Dahili olarak bu hücreler, ne tutacaklarına (ve ne sileceklerine) karar verirler. Daha sonra önceki durumu, mevcut belleği ve girdiyi birleştirirler. Bu tür birimlerin, uzun vadeli bağımlılıkları yakalamada çok etkili oldukları anlaşılıyor.

 

Designed by Freepik