Recurrent Neural Network (RNN)

b0mb

Katılımcı Üye
14 Mar 2017
471
1
İzmir
Recurrent Neural Network (RNN)​

Recurrent Neural Network, diziler halinde bir veriyi gereklilik sırasına göre ele almamızı sağlar. Her kelimenin bir özellik olduğu, “Laszlo su içti” gibi bir cümle düşünün. Bu durumda özelliklerimiz, ['Laszlo', 'su', 'içti'] olur. Klasik bir nöral ağda, “Laszlo su içti” ile “Su Laszlo içti” arasında hiçbir fark yoktur. İlk durumda su içmiş biri varken ikinci durumda su tarafından içilmiş bir kişi bulunuyor…

Bir futbol maçında kaleci olduğunuzu düşünün. Karşı takımın oyuncularından biri bir şut çekti ve top kaleye doğru ilerliyor. Elinizde topun konumu ile ilgili bir dizi verinin var olduğunu varsayalım, ama bu verinin bir kısmı topun tam üzerinize geldiğini, diğer bir kısmı kale dışında bir yere düşeceğini ve başka bir kısmı da sol üst köşeye doğru ilerlediğini söylüyor. Üç seçeneğiniz var,

  • Olduğunuz yerde bekleyip topu tutmaya çalışmak.
  • Bir şey yapmamak.
  • Sol üst köşeye doğru zıplamak.
Hadi bir seçim yaptınız diyelim, ne kadar süre içerisinde harekete geçmelisiniz?

Recurrent Neural Network ile, giriş verisi bir hücreye aktarılır, bu hücre bir çıktı döndürdüğü sürece bu çıktıyı hücreye tekrar giriş verisi olarak göndeririz.

rnn_1.png

Aşağıdaki şekilde de gösterebiliriz:

rnn_2.png

Bu şekilde çalışabiliriz ama bu yeni bir takım sorunlar doğuruyor: Yinelenen veriyi nasıl ele almalıyız? Yeni veri ile yinelenen veri arasında nasıl bir ilişki kurmalıyız?

İşte burası, LSTM (Long Short Term Memory) hücrelerinin oyuna dahil olduğu bölüm. Bir LSTM hücresi aşağıdaki gibidir:

rnn_3.png

Burada yeni olan şey, yinelenen veriler ile ne yapacağımıza, neyin ekleneceğine, neyin çıktı olarak verileceğine ve tekrarlanacağına karar veriyor olmamızdır.

Yinelenen veri, veriden neyin tutulacağını ya da silineceğini kararını veren Forget Gate‘ye gider. Buradan, veriye ne ekleneceğine karar veriyoruz, son olarak yeni çıktımız oluşmuş oluyor ve bu değeri döndürüyoruz.


 
Son düzenleme:
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.