Part 9: Sequences and Time

RNN, GRU, dan LSTM: Ketika Urutan Itu Penting

1. Masalah Memori

Coba lengkapi kalimat ini: "Saya lahir di Perancis, jadi saya lancar bahasa .....".
Anda bisa menjawab "Perancis" karena anda mengingat kata "Perancis" di awal kalimat.

Standard Neural Network (dan CNN) tidak punya memori. Setiap input diproses secara independen. Mereka tidak tahu apa yang terjadi 1 detik yang lalu. Ini buruk untuk: Teks, Suara, Video, dan Data Saham.

2. Recurrent Neural Networks (RNN)

RNN punya "Loop". Output dari langkah sebelumnya dimasukkan lagi menjadi Input untuk langkah berikutnya.

The Feedback Loop
$$ h_t = \tanh(W \cdot [h_{t-1}, x_t] + b) $$
  • $x_t$: Input saat ini (kata "bahasa").
  • $h_{t-1}$: Hidden State (ingatan) dari masa lalu (kata "Perancis").
  • $h_t$: Ingatan baru yang sudah diperbarui.
Masalah Utama: Vanishing Gradient

RNN punya "ingatan pendek". Jika kalimatnya sangat panjang, RNN lupa kata pertama saat sampai di kata terakhir. Ini terjadi karena saat Backpropagation, gradien dikalikan terus menerus dengan angka kecil (< 1), sehingga lama-lama menjadi 0. RNN berhenti belajar dari masa lalu yang jauh.

3. Solusi: LSTM & GRU

Long Short-Term Memory (LSTM) diciptakan untuk memiliki "Ingatan Panjang". Bayangkan LSTM punya Jalan Tol khusus untuk informasi penting agar tidak hilang.

LSTM (Si Kompleks)

Punya 3 Gerbang (Gates) untuk mengatur memori:

  • Forget Gate: Apa yang harus dilupakan? (Misal: Lupa subjek lama saat ganti paragraf).
  • Input Gate: Apa info baru yang penting disimpan?
  • Output Gate: Apa yang harus dikeluarkan sekarang?
GRU (Si Efisien)

Versi sederhana dari LSTM.

  • Hanya punya 2 Gerbang: Update Gate dan Reset Gate.
  • Lebih cepat dilatih daripada LSTM.
  • Performa seringkali setara LSTM.

Apa Langkah Berikutnya?

Kita sudah bisa memproses Gambar (CNN) dan Teks (RNN). Tapi kadang data kita terlalu besar dan berisik. Bagaimana cara memadatkannya?

Lanjut ke Part 10: Autoencoders