Lompat ke konten Lompat ke sidebar Lompat ke footer

Mengenal Algoritma Long Short Term Memory (LSTM)

Pada artikel sebelumnya telah dibahas mengenai algoritma RNN. Di kesempatan ini kita akan membahas mengenai algoritma deep learning lain yang juga populer yakni Long Short Term Memory atau disingkat LSTM.

Apa itu algoritma Long Short Term Memory (LSTM)? Simak artikel berikut.

Daftar Isi

Pengertian Algoritma Long Short Term Memory (LSTM)

LSTM (Long Short Term Memory) merupakan algoritma Deep Learning yang populer dan cocok digunakan untuk membuat prediksi dan klasifikasi yang berhubungan dengan waktu.

Mengenal Algoritma Long Short Term Memory (LSTM)

Algoritma ini bisa dikatakan pengembangan atau salah satu jenis dari algoritma RNN (Recurrent Neural Network). Dalam algoritma RNN, output dari langkah terakhir diumpankan kembali sebagai input pada langkah yang sedang aktif. Namun, algoritma RNN memiliki kekurangan yaitu tidak dapat memprediksi kata yang disimpan dalam memori jangka panjang.

Nah, algoritma LSTM dirancang untuk mengatasi kelemahan tersebut, namun tetap mempertahankan kelebihan yang ada pada algoritma RNN dimana RNN mampu memberikan prediksi yang lebih akurat dari informasi terbaru.

Algoritma LSTM pertama kali dikembangkan oleh Hochreiter dan Schmidhuber.  Algoritma ini mampu menyimpan informasi untuk jangka waktu yang lama. Hal ini kemudian dapat digunakan untuk memproses, memprediksi, dan mengklasifikasikan informasi berdasarkan data deret waktu.

Arsitektur Algoritma LSTM

Struktur algoritma LSTM terdiri atas neural network dan beberapa blok memori yang berbeda. Blok memori ini disebut sebagai cell.  State dari cell dan hidden state akan diteruskan ke cell berikutnya.

Seperti yang ditunjukkan pada gambar di bawah, bangun berbentuk persegi panjang berwarna biru adalah ilustrasi cell pada LSTM.

Long Short Term Memory (LSTM)
Sumber: projectpro.io

Informasi yang dikumpulkan oleh algoritma LSTM kemudian akan disimpan oleh cell dan manipulasi memori dilakukan oleh komponen yang disebut dengan gate. Ada tiga jenis gate pada algoritma LSTM, di antaranya  Forget gate, Input gate, dan  Output gate.

Forget gate

Forget gate berfungsi untuk menghapus Informasi yang tidak lagi digunakan pada cell. 

Caranya adalah dengan mengevaluasi output biner dari dua input x(t) dan output cell sebelumnya h(t-1) dikalikan dengan matriks bobot kemudian ditambahkan dengan nilai bias. Nilai yang didapat kemudian dilewatkan melalui fungsi aktivasi dan menghasilkan output biner. 

Forget gate LSTM
Sumber: geeksforgeeks.org

Apabila outputnya bernilai 0, maka informasi dianggap tidak lagi berguna dan bisa dihapus. Begitu sebaliknya, apabila outputnya bernilai 1 maka informasi tersebut disimpan untuk penggunaan di masa mendatang.

Input gate

Penambahan informasi yang berguna ke cell state dilakukan oleh input gate. 

Pertama, informasi diatur menggunakan fungsi sigmoid dan menyaring nilai yang akan disimpan, prosesnya mirip dengan forget gate yang menggunakan input h(t-1) dan x(t). 

Sumber: geeksforgeeks.org

Kemudian, setelah itu sebuah vektor dibuat menggunakan fungsi tanh yang memberikan output dari -1 hingga +1, yang berisi semua kemungkinan nilai dari h(t-1) dan x(t). Terakhir, nilai-nilai vektor dan nilai-nilai yang diatur dikalikan untuk mendapatkan informasi yang berguna.

Output gate

Tugas mengekstraksi informasi yang berguna dari cell state saat ini untuk disajikan sebagai nilai keluaran dilakukan oleh output gate. 

Pertama, sebuah vektor dibangkitkan dengan menerapkan fungsi tanh pada sel. Kemudian, informasi tersebut diatur menggunakan fungsi sigmoid dan menyaring nilai-nilai yang akan disimpan menggunakan input h_t-1 dan x_t. Terakhir, nilai vektor dan nilai yang diatur dikalikan untuk dikirim sebagai output dan input ke sel berikutnya.

Sumber: geeksforgeeks.org

Cara Kerja Algoritma LSTM

Secara sederhana, cara kerja algoritma LSTM dapat dijabarkan dalam langkah-langkah berikut:

Langkah 1: LSTM memutuskan informasi apa yang harus tetap utuh dan apa yang harus dibuang dari cell state. Lapisan sigmoid bertanggung jawab untuk membuat keputusan ini.

Langkah 2: LSTM menentukan informasi baru apa yang harus disimpan dan menggantikan yang tidak relevan yang berhasil diidentifikasi pada langkah 1. Fungsi tanh dan sigmoid memainkan peran penting dalam mengidentifikasi informasi yang relevan.

Langkah 3: Output ditentukan dengan bantuan cell state yang sekarang akan menjadi versi yang difilter karena fungsi sigmoid dan tanh yang diterapkan.

Kelebihan dan Kekurangan Algoritma LSTM

Kelebihan algoritma LSTM

Kelebihan LSTM bila dibandingkan dengan RNN konvensional ialah

  • LSTM mampu memodelkan urutan kronologis dan dependensi jarak jauh.
  • Cenderung lebih baik untuk masalah memori pendek karena adanya modifikasi formula pada memori internal

Kelemahan algoritma LSTM

Sedangkan kekurangan dari LSTM, yaitu:

  • Terjadi peningkatan kompleksitas komputasi dibandingkan dengan RNN karena lebih banyak parameter untuk dipelajari.
  • Memori yang dibutuhkan lebih tinggi daripada RNN konvensional karena adanya beberapa memori cell.
  • Cenderung terjadi masalah overfitting.

Penutup

Sebagai kesimpulan, algoritma LSTM adalah jenis khusus dari RNN yang bisa menyimpan informasi untuk jangka waktu yang lama karena adanya blok memori tambahan yang disebut sebagai cell. Dengan begitu, kelemahan yang ada di RNN dapat diatasi dengan algoritma ini.

Demikianlah penjelasan mengenai algoritma Long Short Term Memory (LSTM). Apabila tertarik mengenai artikel seputar algoritma deep learning seperti ini, Anda bisa mengunjungi rubrik Deep Learning.

Salam!

Referensi

Trivusi
Trivusi Ikatlah ilmu dengan menulis. Menebar manfaat dengan berbagi :)

Posting Komentar untuk "Mengenal Algoritma Long Short Term Memory (LSTM)"