https://github.com/ahmetfurkandemir/lstm-and-rnn
LSTM and RNN
https://github.com/ahmetfurkandemir/lstm-and-rnn
Last synced: 6 months ago
JSON representation
LSTM and RNN
- Host: GitHub
- URL: https://github.com/ahmetfurkandemir/lstm-and-rnn
- Owner: AhmetFurkanDEMIR
- Created: 2020-03-18T17:18:28.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-03-18T18:48:19.000Z (over 5 years ago)
- Last Synced: 2025-04-15T21:52:12.853Z (6 months ago)
- Language: Python
- Size: 35.2 KB
- Stars: 17
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# LSTM and RNN
işleyeceğimiz konular sırayla:
1-) Yinelenen sinir ağı (RNN)
2-) Uzun kısa süreli bellek (LSTM)
# Yinelenen sinir ağı (RNN)
* Yinelenen sinir ağları döngüsel olarak çalışır. Bu sayede önceden gördüğü şeyleri aklında tutarak ona göre sonuç verir.
* Konuşma tanıma, doğal dil işleme, çeviri yapma, ritim öğrenme, müzik üretme gibi bir çok farklı alanda kullanılır.
X = input
A = Sinir ağı
H = Output

(ht yani yeni state in oluşumu)
# RNN ile bazı örnekler

(Hello kelimesinden yola çıkarak yeni kelime üretme)

(William Shakespeare eserlerini kullanarak yeni bir eser üretmek)

(C++ kodunu örnek alarak yeni bir kod yazmak)
# Uzun kısa süreli bellek (LSTM)
* RNN deki back propagation sorununu çözer.
* Bir sinir ağı yerine dört tane birbiri ie ilişkilenmiş sinir ağı vardır (3 'ü sigmoid fonk. kullanır, biri tanh fonk. kullanır)
* Sarı renkli kutucuklar: eğitilecek sinir ağları.
* Daire içinde x: yapılacak işler.
* Okların birleşmesi: taşınan vektörlerin birbirine bağlanması.
* Okların ayrılması: kopyalama işlemi.* LSTM geri yayılımda düz bir şekilde cell state bulunur, geri yayılım işlemini matris çarpma işlemi kalmadan basitçe yapabiliriz.

(Ct = Cell state)
* Hücre içindeki sigmoid fonksiyonlar her bileşenin ne kadarının geçeceğine karar verir, 1 'e yakınsa çok 0 'a yakınsa az akış gerçekleşir.
# Cell state 'yi kontrol etmek için LSTM içersinde 3 tane Gate vardır
* 1-) Forget Gate:
* Bu Gate 'te hangi bilgiler unutulacak buna karar verilecek.
* Ft fonksiyonundan çıkan değer 0 ise tamamen unutur, 1 ise tamamen hatırlar, 0.9 ise çoğunu hatırlar.
* 2-) Input gate
* Hangi bilgiler saklanacak hangileri saklanmayacak buna karar verir.
* Sigmoid kullanan Input gate hangi değerlerin güncelleneceğine karar verir.
* tanh ise yeni değerlerden bir vektör oluşturup cell state ye ekleme yapar
* 3-) Output Gate

* ilk olarak verileri sigmoid fonk. dan geçiririz burada neleri output olarak alacağız onu seçeriz.
* Sonra ise Cell State 'yi tanh tan geçirip Output Gate ile çarparız
* Bu şekilde sadece istenilen kısımların output olarak verilmesini sağlarız.* People:
* Tüm geçitlerin Cell State 'e erişmesini sağlar
# Gated Recurrent Unit (GRU)
* Forget ve Input geçişleri birleşik, bu birleşmeye Update Gate denir.
* Cell state ve Hidden State 'yi birleştiriyoruz ve daha basit bir yapı oluşturuyoruz.
* Sizle paylaştığım projede GRU kapı mekanizmasını kullanıyoruz