Long Short Term Memory (LSTM)

LSTM merupakan salah satu jenis dari Recurrent Neural Network (RNN) dimana dilakukan modifikasi pada RNN dengan menambahkan memory cell yang dapat menyimpan informasi untuk jangka waktu yang lama (Manaswi, 2018). LSTM diusulkan sebagai solusi untuk mengatasi terjadinya vanishing gradient pada RNN saat memproses data sequential yang panjang.

Gambar 1 Arsitektur LSTM

Permasalahan vanishing gradient ini mengakibatkan RNN gagal dalam menangkap long term dependencies (Saxena & Sukumar, 2018), sehingga mengurangi akurasi dari suatu prediksi pada RNN (Zhao, Chen, Wu, Chen, & Liu, 2017).

Gambar 1 menggambarkan arsitektur dari LSTM. Dalam LSTM terdapat 3 gate yaitu input gate, forget gate dan output gate. Proses komputasi pada LSTM dilakukan dengan tahapan berikut (Chung & Shin, 2018):
Nilai dari suatu input hanya dapat disimpan ke dalam cell state hanya jika diijinkan oleh input gate. Perhitungan dari nilai pada input gate dan kandidat dari cell state dilakukan dengan menggunakan persamaan (1) dan (2) .

i_t= σ(W_i x_t+U_i h_(t-1)+b_i )                                                                                  (1)

Dimana i_t adalah nilai dari input gate, W_i adalah bobot untuk nilai input pada waktu ke t, x_t adalah nilai input pada waktu ke t, U_i adalah bobot untuk nilai output dari waktu ke t-1, h_(t-1) adalah nilai output dari waktu ke t-1 dan b_i adalah bias pada input gate dan σ adalah fungsi sigmoid.

C_t= tanh⁡(W_c x_t+U_i h_(c-1)+ b_c )                                                                             (2)

Dimana C_t adalah nilai kandidat cell state, W_c adalah bobot untuk nilai input pada cell ke c, x_t adalah nilai input pada waktu ke t, U_i adalah bobot untuk nilai output dari cell ke c-1, h_(c-1) adalah nilai output dari cell ke c-1 dan b_c adalah bias pada cell ke c dan tanh adalah fungsi hyperbolic tangent. Kemudian nilai dari forget gate dihitung dengan menggunakan persamaan (3).

 f_t= σ(W_f x_t+U_f h_(t-1)+b_f )                                                                                      (3)

Dimana f_t adalah nilai dari forget gate, W_f adalah bobot untuk nilai input pada waktu ke t, x_t adalah nilai input pada waktu ke t, U_f adalah bobot untuk nilai output dari waktu ke t-1, h_(t-1) adalah nilai output dari waktu ke t-1 dan b_f adalah bias pada forget gate dan σ adalah fungsi sigmoid.
Selanjutnya memory cell state dihitung menggunakan persamaan (4)

C_t= i_t* C_t+ f_t* C_(t-1)                                                                                           (4)

Dimana C_t adalah nilai memory cell state, i_t adalah nilai dari input gate, C_t adalah nilai kandidat memory cell state, f_t adalah nilai forget gate dan C_(t-1) adalah nilai memory cell state pada cell sebelumnya.
Setelah dihasilkan memory cell state yang baru, nilai dari output gate dapat dihitung dengan menggunakan persamaaan (5).

o_t= σ(W_o x_t+U_o h_(t-1)+b_o )                                                                                  (5)

Dimana o_t adalah nilai dari output gate, W_o adalah bobot untuk nilai input pada waktu ke t, x_t adalah nilai input pada waktu ke t, U_o adalah bobot untuk nilai output dari waktu ke t-1, h_(t-1) adalah nilai output dari waktu ke t-1 dan b_o adalah bias pada output gate dan σ adalah fungsi sigmoid. Nilai output final dihitung dengan menggunakan persamaan (6).

h_t= o_t*tanh⁡(C_t)                                                                                              (6)

Dimana h_t adalah output final, o_t adalah nilai output gate, C_t adalah nilai memory cell state yang baru dan tanh adalah fungsi hyperbolic tangent.

 

References

Manaswi, N. K. (2018). Deep Learning with Applications Using Python. Apress.

Zhao, Z., Chen, W., Wu, X., Chen, P. C., & Liu, J. (2017). LSTM network: a deep learning approach for short-term traffic forecast. IET Intelligent Transport Systems11(2), 68-75.

Chung, H., & Shin, K. S. (2018). Genetic algorithm-optimized long short-term memory network for stock market prediction. Sustainability10(10), 3765.

Abba Suganda Girsang