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.
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 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.
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.
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
Posting Komentar untuk "Mengenal Algoritma Long Short Term Memory (LSTM)"
Komentar SPAM akan disensor. Harap gunakan kalimat yang tidak menjurus pada SARA dan pornografi.