Tekrarlayan sinir ağları (RNN'ler), geçmişte elde edilen verilerden öğrenme yeteneğine sahip bir tür sinir ağıdır. Doğal dil işleme, konuşma tanıma, bilgisayarlı görme ve diğer alanlarla ilgili sorunları çözmek için kullanılırlar.
Geleneksel sinir ağlarından (NN) farklı olarak RNN'ler, geçmişte aldıkları bilgileri hatırlamalarına ve gelecekte karar vermek için kullanmalarına olanak tanıyan özel bir mimariye sahiptir. Bu, ağın önceki durumları hakkındaki bilgileri depolayan ve bunu sonraki katmanlara ileten ağa tekrarlayan bir blok eklenerek elde edilir.
Tekrarlayan bir blok, önceki giriş verileri hakkında bilgi depolayabilen bellek hücreleri gibi çeşitli öğelerden oluşur. Bellek hücresinin her elemanı önceki durumlar hakkındaki bilgilere erişebilir ve bu bilgiyi mevcut durumda karar vermek için kullanabilir.
Bilgileri hatırlama yetenekleri nedeniyle RNN'ler, metindeki kelime dizileri veya verilerin zaman serileri gibi veri dizilerini işleyebilir. Ayrıca önceki verilere dayanarak gelecekteki değerleri tahmin etmek için de kullanılabilirler.
RNN'lerin temel avantajlarından biri, verileri gerçek zamanlı olarak işleyebilmeleridir; bu da onları, konuşma tanıma veya finansal veri işleme gibi hızlı veri işleme gerektiren uygulamalar için faydalı kılar.
Özyinelemeli yöntem, tekrar tekrar çağrılabilen bir işlevdir (programlama bağlamında). Örneğin, bir grafiğin üzerinden geçme veya denklem çözme problemlerini çözmek için. Özyinelemeli bir program (veya özyinelemeli algoritmalar), bir sorunu çözmek için doğrudan veya dolaylı özyinelemeyi kullanır. Bu, beklenmedik derecede yüksek bellek kullanımına neden olabilir