Uzun-Kısa Vadeli Bellek (LSTM) Nedir ve Nasıl Çalışır?

Doruk Tolga
Teknopar Akademi
Published in
4 min readMar 10, 2022

--

LSTM genel anlamda zaman sıralı gelen veriler üzerinde çalışan özyinelemeli sinir ağı (RNN) mimarisidir. LSTM ağlarını incelemeye başlamadan önce özyinelemeli sinir ağını (RNN) ve LSTM’in klasik RNN’le aralarında ne gibi farklılıklar olduğunu anlamakta fayda var. İleri beslemeli bir sinir ağında bilgi sadece ileri yönde ilerlerken, RNN’de bilgi bir döngü boyunca döner. Yani bir hürenin çıktısı bir sonraki adımda hücreye hatırlanmak üzere girdi olarak gelmektedir. Bir karar verirken mevcut girdiyi ve daha önceki zaman adımlarında aldığı girdilerden ne öğrendiğini de göz önünde bulundurur.

Standart RNN veri boyutu büyüdüğünde çok iyi sonuçlar vermemektedir. Veri boyutu büyüdüğünde uzun süreli bağımlılıkların unutulması sorununu ortadan kaldırmak için LSTM ağı oluşturulmuştur. LSTM birimleri, bilgileri uzun süreler boyunca bellekte tutabilen bir mimariye sahiptir. Bu mimari, daha uzun süreli bağımlılıkları öğrenmeyi sağlar.

LSTM’in büyük veriler üzerinde RNN’den daha iyi çalışmasını sağlayan LSTM hücresinde birbiri ile iletişim halinde olan 4 farklı katman bulunurken standart bir RNN hücresinde sadece 1 tane tanh katmanı bulunur.

LSTM’in birbiri ile iletişimde olan 4 farklı katmanını incelemeye başlayarak LSTM ağının derinlerine inelim.

Yukarıdaki figürde de görüldüğü gibi bir LSTM hücresinde veriyi güncellemek veya unutmak amacıyla sigmoid ve tanh fonksiyonlarından yararlanılır.

Sigmoid Fonksiyonu

Sigmoid fonksiyonu doğrusal olmayan bir aktivasyon fonksiyonudur. Sigmoid fonksiyonu verileri 0 ve 1 arasına sıkıştırır. Fonksiyon çıktısı 0 olursa bilgi unutulmuş kabul edilir. Benzer şekilde 1 le sonuçlanırsa bilgi korunur. Böylece sigmoid fonksiyonu verilerin unutulmasına veya güncellenmesine yardımcı olur.

Tanh Fonksiyonu

Hiperbolik tanjant fonksiyonu sigmoid fonksiyonuna çok benzer bir yapıya sahiptir. Tanh fonksiyonu sigmoid fonksiyonu gibi doğrusal olmayan bir fonksiyondur ancak tanh fonksiyonunun aralığı sigmoidden farklı olarak (-1,1) dir. Yani tanh fonksiyonu girdi olarak aldığı verileri (-1,1) arasına sıkıştırır.

Bir LSTM hücresinde unutma kapısı, giriş kapısı ve çıkış kapısı olmak üzere 3 farklı kapı bulunmaktadır.

Unutma Kapısı (Forget Gate)

Unutma kapısı LSTM hücresinin ilk kapısıdır. Unutma kapısında hangi bilgilere dikkat edileceğine, hangi bilgilerin göz ardı edileceğine karar verilir. Hücreye girdi olarak gelen veri(h(t-1) ve X(t)) sigmoid fonksiyonundan geçirilir. Sigmoid fonksiyonu (0,1) arasında değerler üreterek bilgiyi günceller. Güncellenen bilgi f(t) hatırlanmak üzere cell state ilerler.

Forget Gate Equation

Giriş Kapısı ( Input Gate)

Giriş kapısında bir önceki hücrenin çıktısı olan h(t-1) ve mevcut zaman adımında girdi olarak gelen X(t), sigmoid ve tanh fonksiyonundan geçirilir. Her iki fonksiyonda da güncellenen bilgiler çarpılarak cell state ilerler. Cell statede mevcut cell statedeki bilgilerle toplanarak güncellenen bilgi cell statede bir sonraki zaman adımının girdisi olan h(t)’nin belirlendiği çıkış kapısına ilerler. Kısaca giriş kapısı cell state güncellemesi yapar.

Input Gate Equation
Input Modulation Gate Equation

Çıkış Kapısı (Output Gate)

Çıkış kapısında hücreye bir önceki adımdan gelen h(t-1) ve mevcut adımda gelen X(t) hücredeki üçüncü sigmoid fonksiyonundan geçirilir. Cell statedeki bilgi ise çıkış kapısında tanh fonksiyonundan geçirilerek sigmoid fonksiyonun çıktısyla çarpılıp bir sonraki adımın girdisini h(t) oluştururur.

Output Gate Equation
Hidden State Equation

Sonuç olarak kapıları özetlemek gerekirse, unutma kapısı gelen bilgilerden hangilerin gerekli olduğunu belirler. Giriş kapısı, mevcut adımda hangi bilgilerin eklenebileceğine karar verir ve çıkış kapısı bir sonraki adımın girdisini oluşturur.

Yukarıda zaman adımı olarak bahsettiğim adımlar birçok kez tekrarlanır. Örneğin, önceki 30 günlük fiyatlandırma verilerine göre sonraki günlerin hisse senedi fiyatını tahmin etmeye çalışıyorsanız, adımlar 30 kez tekrarlanacaktır. Başka bir deyişle, modeliniz yarının fiyatını tahmin etmek için yinelemeli olarak 30 çıktı h(t) üretecektir.

LSTM ağında en son adım olarak doğrusal bir katman uygulamamız gerekiyor. Bu doğrusal katman adımı yalnızca bir kez ve en sonunda gerçekleşir, bu nedenle genellikle bir LSTM hücresinin diyagramlarına dahil edilmez.

Yazıyı buraya kadar okuyanlara teşekkür ederim. Umarım bu yazı LSTM ağlarını anlamanıza yardımcı olmuştur.

Kaynakça

https://towardsdatascience.com/how-the-lstm-improves-the-rnn-1ef156b75121

https://ashutoshtripathi.com/2021/07/02/what-is-the-main-difference-between-rnn-and-lstm-nlp-rnn-vs-lstm/

https://www.pluralsight.com/guides/introduction-to-lstm-units-in-rnn

https://towardsdatascience.com/lstm-networks-a-detailed-explanation-8fae6aefc7f9

--

--