Mengenal Algoritma Long Short Term Memory (LSTM)
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.
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 dimaan RNN mempu memberikan prediksi yang telah 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 dari atas neural network dan beberapa blok memori yang berbeda. Blok memori ini disebut sebagai cell. State dari cell dan hidden state akan diteruskancke cell berikutnya.
Seperti yang ditunjukkan pada gambar di bawah, bangun berbentuk persegi panjang berwarna biru adalah ilustrasi cell pada LSTM.
Forget Gate
Forrget gate berfungsi untuk menghapus informasi yang tidak lagi digunakan pada cell.
Caranya adalah dengan mengevaluasi output niner 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 melelui fungsi aktivasi dan menghasilkan output biner.
Apabila outputnya bernilai 0, maka informasi dianggap tidak berguna dan bisa dihapus. Begitu sebaliknya, apabila outputnya bernilai 1 makan informasi tersebut disimpan untuk penggunaan dimasa mendatang.
Input Gate
Penambahan informasi yang berguna ke cell state dilakukan oleh input gate.
Pertama, informasi diatur menggunakan fungsi sigmoid dan menyaring nilai yang disimpan, proses ini mirip dengan forget gate yang menggunakan input h(t-1) dan x(t).
Kemudian, setelah itu sebuah vektor dibuat menggunakan fungsi tanh yang memberikan ouput 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.
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 menggangantikan 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 SLTM
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.
Komentar
Posting Komentar