1. Konsep Dasar LSTM

LSTM adalah versi “pintar” dari RNN yang dirancang khusus untuk menangani memori jangka panjang dan mengurangi risiko Vanishing Gradient Problem.

  • Cell State (): Ini adalah inovasi utama LSTM, bertindak seperti “jalan tol” memori yang memungkinkan informasi mengalir lurus dari masa lalu ke masa depan tanpa banyak perubahan.

  • Hidden State (): Memori jangka pendek yang juga berfungsi sebagai output langkah waktu tersebut.

  • Gerbang (Gates): LSTM menggunakan mekanisme gerbang (dengan fungsi aktivasi sigmoid) untuk mengontrol arus informasi:

    1. Forget Gate (): Memutuskan informasi lama mana yang akan dihapus dari Cell State.

    2. Input Gate (): Memutuskan informasi baru mana yang akan ditambahkan ke Cell State.

    3. Output Gate (): Memutuskan informasi apa yang akan dikeluarkan dari Cell State ke Hidden State berikutnya.

    4. Catatan: Semua gerbang dalam LSTM bekerja secara independen dan tidak saling memengaruhi secara langsung.

2. Step-by-Step Forward Propagation LSTM

Perhitungan LSTM pada satu timestep () wajib dikerjakan secara berurutan langkah demi langkah. Jangan melompat!

Persiapan Awal:

  • Inisialisasi awal biasanya dan .

  • Matriks bobot masukan: .

  • Matriks bobot hidden: .

  • Vektor bias: .

Urutan Kalkulasi per Timestep:

  1. Hitung Forget Gate (): Menggunakan dan . Aktivasi: sigmoid.

  2. Hitung Input Gate (): Menggunakan dan . Aktivasi: sigmoid.

  3. Hitung Kandidat Cell State (): Informasi baru yang akan diusulkan. Aktivasi: tanh.

  4. Hitung Output Gate (): Menggunakan dan . Aktivasi: sigmoid.

  5. Update Cell State Baru (): Kalikan memori lama dengan , lalu tambahkan usulan memori baru yang sudah dikalikan .

  6. Update Hidden State Baru ():

    Ambil Cell State baru, saring pakai tanh, lalu kalikan dengan .

  7. Hitung Prediksi (): (Hanya jika diminta sesuai arsitektur)

3. Detail Algoritmik & Rumus Penting

1. Rumus Lengkap Forward Propagation LSTM:

(Sangat disarankan disalin ke cheat sheet secara berurutan)

f^{(t)} = \sigma(U_f \cdot x^{(t)} + W_f \cdot h^{(t-1)} + b_f)$$$$i^{(t)} = \sigma(U_i \cdot x^{(t)} + W_i \cdot h^{(t-1)} + b_i)$$$$\tilde{C}^{(t)} = \tanh(U_c \cdot x^{(t)} + W_c \cdot h^{(t-1)} + b_c)$$$$o^{(t)} = \sigma(U_o \cdot x^{(t)} + W_o \cdot h^{(t-1)} + b_o)$$$$C^{(t)} = (f^{(t)} * C^{(t-1)}) + (i^{(t)} * \tilde{C}^{(t)})$$$$h^{(t)} = o^{(t)} * \tanh(C^{(t)})

_(Catatan: Tanda _ pada rumus dan adalah perkalian elemen-per-elemen / element-wise multiplication, BUKAN dot product matriks).*

2. Rumus Menghitung Jumlah Parameter Bobot (Soal No. 9):

  • = Dimensi Input

  • = Jumlah unit LSTM (Hidden size)

  • = Jumlah unit Output (jika ada Dense Layer tambahan)

  • Angka merepresentasikan 4 komponen dalam blok LSTM ().

Contoh Perhitungan (Dari Soal No 9):

  • Input size () = 5

  • Hidden size/LSTM unit () = 10

  • Output size () = 2

  • Total Parameter =

4. Kesalahan Umum Pengerjaan Soal (⚠️ RED FLAGS LSTM)

Berdasarkan koreksi Bagian III (Soal 1-8 dan Soal 10) pada PDF, perhatikan jebakan ini:

  1. “LSTM menghilangkan vanishing gradient sepenuhnya” (SALAH!).

    • LSTM hanya mengurangi risiko secara signifikan melalui Cell State, BUKAN menghilangkannya hingga 0% tak mungkin terjadi.
  2. Salah Menggunakan Fungsi Aktivasi (SANGAT FATAL!).

    • Sering tertukar! Ingat aturan emas ini:

      • Gerbang (Gate) yang fungsinya “membuka/menutup” rentang 0-1 () WAJIB pakai sigmoid.

      • State yang isinya nilai data () WAJIB pakai tanh.

    • LSTM tidak menggunakan ReLU.

  3. Bingung Fungsi Tiap Gerbang.

    • Input gate berfungsi menambahkan informasi baru ke cell state.

    • Forget gate berfungsi MENGHAPUS informasi lama (jangan terbalik dengan input gate).

  4. Perhitungan Berhenti di Tengah Jalan (Soal 10).

    • Banyak mahasiswa menghitung panjang-panjang hingga mendapatkan nilai , lalu merasa sudah selesai. Padahal, arsitektur di soal seringkali memiliki layer output tambahan (meminta nilai ). Pastikan baca soal sampai akhir apakah nilai prediksi juga ditanyakan!
  5. Kesalahan Operasi Aljabar pada Update Cell State.

    • Saat menghitung , operasinya adalah perkalian biasa antara dua skalar/vektor sejajar, bukan perkalian matriks dot product. Kesalahan hitung disini akan membuat nilai timestep berikutnya hancur total.