• Home
  • About
  • Archives
  • Contact
  • Projects
Logo

  • Machine Learning
  • Research

Cara Kerja Long Short-Term Memory (LSTM) | Catatan Penelitian #11

21 February 2021
Rifqi Fauzi Rahmadzani
0 Comments
  • Email
  • Facebook
  • Twitter
  • Pinterest
  • LinkedIn
21 February 2021
0 Comments

Long Short-Term Memory (LSTM) merupakan model varian dari Recurrent Neural Network (RNN). LSTM muncul karena dapat mengingat informasi jangka panjang (long term dependency) LSTM menggantikan simpul hidden layer di RNN dengan sel LSTM yang yang berfungsi untuk menyimpan informasi sebelumnya. Dalam LSTM terdapat tiga gerbang yang mengendalikan penggunaan dan memperbarui informasi terks terdahulu yaitu input gate, forget gate, dan ouput gate. Sel memori dan tiga gerbang dirancang untuk dapat membaca, menyimpan, dan memperbarui informasi terdahulu [1].

Arsitektur LSTM dikembangkan sebagai solusi dari masalah vanishing gradient yang ditemui pada RNN konvensional. Vanishing gradient disebabkan karena gradien yang semakin mengecil hingga layer terakhir membuat nilai bobot tidak berubah sehingga menyebabkan tidak pernah memperoleh hasil yang lebih baik atau konvergen. Sebaliknya gradien yang semakin membesar menyebabkan nilai bobot pada beberapa layer juga ikut membesar sehingga algoritma optimasi menjadi divergen atau desebut exploding gradient. Seperti pada Gambar 1 arsitektur RNN tidak dapat mengingat hal-hal yang telah terjadi di jaringan dalam jangka waktu panjang. Gambar 2 memperlihatkan ilustrasi memory block pada LSTM dengan single layer [2]. Sedangkan Gambar 3 menunjukkan komponen dalam LSTM.

Gambar 1 Struktur RNN dengan single layer
Gambar 2 Struktur LSTM dengan single layer
Gambar 3 Komponen LSTM

Terlihat pada Gambar 3.0 beberapa fungsi aktivasi seperti sigmoid dan tang digunakan untuk mengolah data yang masuk.

Fungsi Sigmoid

Fungsi aktivasi sigmoid bertugas untuk mentransformasikan nilai antara -1 dan 1 menjadi nilai antara 0 dan 1. Hal ini membantu untuk memperbarui atau melupakan data karena setiap angka yang dikalikan 0 hasilnya adalah 0, sehingga menyebabkan nilai menghilang atau dilupakan. Di sisi lain angka yang dikalikan 1 nilainya akan tetap sama, sehingga nilai tersebut dapat disimpan.

Fungsi Tanh

Fungsi aktivasi tanh digunakan untuk mengatur nilai yang melalui jaringan selalu berada dekat antara -1 dan 1.

Ketika vektor melalui jaringan akan mengalami banyak transformasi karena berbagai operasi matematika. Berikut ilustrasi perbandingan transformasi vektor tanpa menggunakan aktivasi tanh dan menggunakan aktivasi tanh.

Transformasi vektor tanpa menggunakan aktivasi tanh
Transformasi vektor menggunakan aktivasi tanh

Langkah LSTM

Terdapat beberapa tahapan pada LSTM dalam memproses input datanya.

1. Forget Gate

Langkah pertama dimulai melalui komponen forget gate (ft). Terdapat beberapa tahapan pada LSTM dalam memproses input datanya. Pada bagian ini informasi yang kurang dibutuhkan atau tidak terlalu memiliki makna terhadap kasus yang diolah akan dihilangkan menggunakan fungsi sigmoid. Data xt adalah input data (vektor input x dalam timestep t) dan ht-1 adalah vektor hidden state dalam timestep sebelumnya t-1). Persamaan 1 menunjukkan perhitungan nilai forget gate.

Persamaan 1

2. Input Gate

Langkah berikutnya, informasi diolah melalui komponen input gate (it) menggunakan perhitungan pada Persamaan 2. Proses ini akan memilah dan menentukan informasi tertentu yang akan diperbarui ke bagian cell state dengan menggunakan fungsi aktivasi tanh. Pada langkah ini juga membentuk kandidat vektor baru menggunakan fungsi aktivasi tanh yang akan ditambahkan pada bagian cell state ~ct menggunakan perhitungan pada Persamaan 3.

Persamaan 2
Persamaan 3

3. Cell State

Selanjutnya memperbarui nilai cell state lama ct-1 menjadi cell state baru ct melalui Persamaan 4.

Persamaan 4

4. Output Gate

Terakhir terjadi pada komponen output gate. Dengan menjalankan sigmoid untuk menghasilkan nilai output pada hidden state dan menempatkan cell state pada tanh. Setelah menghasilkan nilai output sigmoid dan nilai output tanh kedua hasil aktivasi tersebut dilakukan perkalian sebelum menuju langkah selanjutnya. Perhitungan output terjadi pada Persamaan 5 dan 6.

Persamaan 5
Persamaan 6

Setelah itu akan menghasilkan nilai klasifikasi dari keseluruhan perhitungan pada proses LSTM.

Referensi

[1] S. Hochreiter dan J. Urgen Schmidhuber, “Long Short-Term Memory,” Neural Comput., vol. 9, no. 8, hal. 1735–1780, 1997.

[2] https://colah.github.io/posts/2015-08-Understanding-LSTMs/

[3] https://towardsdatascience.com/illustrated-guide-to-lstms-and-gru-s-a-step-by-step-explanation-44e9eb85bf21 (animation)

  • Email
  • Facebook
  • Twitter
  • Pinterest
  • LinkedIn
Previous

Membuat Model FastText Menggunakan Compiler C++ Dan Library Gensim Python | Catatan Penelitian #10

Latest One

Cara Kerja Long Short-Term Memory (LSTM) | Catatan Penelitian #11

The Author

Rifqi Fauzi Rahmadzani

Being someone who is able to contend with my interest and to learn new imaginative, intuitive, and communicative things. The greatest hope of my ability can be beneficial to others.

  • facebook
  • twitter
  • instagram
  • linkedin

Leave A Comment Cancel reply

author image

The Author

Rifqi Fauzi Rahmadzani

  • facebook
  • twitter
  • instagram

Being someone who is able to contend with my interest and to learn new imaginative, intuitive, and communicative things. The greatest hope of my ability can be beneficial to others.

Logo

© 2021 Rifqifai.com. Developed by Rifqi Fauzi Rahmadzani