LSTM (Long Short Term Memory)

Varellino Gallan
Bina Nusantara IT Division
4 min readMar 29, 2023

Sebelum mempelajari tentang LSTM, kita harus memahami Artificial Neural Network (ANN) dan Recurrent Neural Network (RNN).

Artificial Neural Network (ANN)

Artificial Neural Network (ANN) merupakan algoritma yang terinspirasi dari sistem kerja tubuh manusia yang terdiri dari jaringan kompleks antar neuron yang saling berhubungan. Neuron merupakan unit sederhana yang menerima input dan menghasilkan output. Salah satu bentuk neural network sederhana adalah feed-forward neural networks. Feed-forward neural networks terdiri dari sekumpulan neuron yang dikelompokkan ke dalam 3 layer yaitu input layer, intermediate hidden layer, dan output layer. Feed-forward neural networks dapat dikembangkan untuk penyelesaian permasalahan time series dengan cara mengambil sinyal dari langkah sebelumnya dan memasukkan ulang ke dalam jaringan. Jaringan dengan hubungan berulang ini disebut sebagai RNN (Recurrent Neural Networks).

Image from wikipedia

Recurrent Neural Networks (RNN)

RNN (Recurrent Neural Network) adalah salah satu jenis arsitektur ANN yang digunakan untuk memproses data urutan atau rangkaian, seperti teks, audio, atau data waktu. RNN memiliki kemampuan untuk mengingat informasi dari waktu sebelumnya dan menggunakan informasi itu untuk menghasilkan output pada waktu saat ini.

Pada dasarnya, RNN adalah jaringan saraf dengan sambungan siklik, yang memungkinkan informasi untuk disimpan dan diakses dari waktu sebelumnya dalam proses pengolahan. Arsitektur RNN memungkinkan model untuk mengambil keputusan yang lebih cerdas dalam memproses data urutan, karena model dapat mempertimbangkan konteks sebelumnya saat memproses setiap elemen dalam urutan.

RNN memiliki kelemahan hanya mampu melihat sinyal sebelumnya sebanyak kurang lebih 10 langkah. Hal ini disebabkan karena RNN memiliki masalah dalam mempelajari ketergantungan jarak jauh dalam data urutan karena sifatnya yang mengalami vanishing gradient. Akibatnya, RNN sering mengalami kesulitan dalam mengingat informasi dari jarak waktu yang lama dan hanya mampu mengingat informasi terbatas dari waktu sebelumnya. Kekurangan dari RNN ini sudah diperbaiki dengan terciptanya LSTM (Long Short-Term Memory).

Image from https://towardsdatascience.com/introducing-recurrent-neural-networks-f359653d7020

LSTM (Long Short-Term Memory)

LSTM merupakan modifikasi dari RNN yang memiliki memory dan banyak jenis gerbang yaitu input gate, forget gate, dan output gate. LSTM mampu mempelajari lebih dari 1000 langkah sebelumnya tergantung pada kompleksitas jaringan.

Image from wikipedia

Konsep inti dari LSTM adalah cell state dan 4 gates pada LSTM. Cell state merupakan alat yang berfungsi membawa informasi penting yang sudah melalui seluruh gates pada 1 cell LSTM menuju cell berikutnya. Komponen yang terdapat pada LSTM:

  • Forget gate memutuskan informasi mana yang akan disimpan ataupun di buang. Forget gate akan menerima informasi yang berupa hidden state yang berasal dari cell sebelumnya dan informasi baru yang berasal dari input saat ini, kemudiana informasi tersebut akan di gabung dan diproses dengan menggunakan fungsi sigmoid yang akan menghasilkan hasil berupa 0 hingga 1. Semakin dekat hasil yang diperoleh dengan 0 maka berarti informasi akan di buang, sebaliknya semakin dekata dengan 1 maka informasi akan disimpan.
Image from http://colah.github.io/posts/2015-08-Understanding-LSTMs/
  • Input gate akan menerima informasi yang berupa hidden state yang berasal dari cell sebelumnya dan informasi baru yang berasal dari input saat ini, kemudian informasi tersebut akan di gabung dan diproses dengan menggunakan fungsi sigmoid dan fungsi tanh. Hasil dari fungsi sigmoid akan mengubah nilai menjadi 0 hingga 1 untuk menentukan informasi mana yang akan di update. Semakin dekat dengan 0 berarti informasi tidak penting, semakin dekat denan 1 berarti informasi penting. Hasil dari fungsi tanh berupa nilai -1 hingga 1 digunakan untuk mendukung agar cell dapat mempelajari informasi dengan lebih baik.
Image from http://colah.github.io/posts/2015-08-Understanding-LSTMs/
  • Output gate akan menentukan hidden state yang akan dikirim ke cell selanjutnya. Output gate akan menerima informasi yang berupa hidden state yang berasal dari cell sebelumnya dan informasi baru yang berasal dari input saat ini kemudian informasi akan digabung dan diproses dengan fungsi sigmoid. Cell state yang baru kemudian akan di proses melalui fungsi tanh. Hasil dari fungsi tanh akan dikalikan dengan hasil dari fungsi sigmoid untuk memeroleh informasi yang akan disimpan pada hidden state yang baru. Hidden state dan Cell state yang baru kemudian akan diteruskan ke cell selanjutnya.
Image from http://colah.github.io/posts/2015-08-Understanding-LSTMs/

Kesimpulan

LSTM merupakan modifikasi dari RNN yang digunakan untuk dapat mempelajari data lebih dari 1000 langkah sebelumnya. LSTM terdiri dari 3 komponen utama yaitu input gate, foreget gate, dan output gate. Komponen komponen ini digunakan untuk memengaruhi nilai yang tersimpan dalam cell state yang akan membawa informasi melewati seluruh cell yang terdapat pada sebuah network.

Reference

  • Smagulova, K., & James, A. P. (2019). A survey on LSTM memristive neural network architectures and applications. European Physical Journal: Special Topics, 228(10), 2313–2324. https://doi.org/10.1140/epjst/e2019-900046-x
  • Staudemeyer, R. C., & Morris, E. R. (2019). Understanding LSTM — a tutorial into Long Short-Term Memory Recurrent Neural Networks. 1–42. http://arxiv.org/abs/1909.09586
  • Graves, A. (2013). Generating Sequences With Recurrent Neural Networks. 1–43. http://arxiv.org/abs/1308.0850
  • Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press.

--

--