Neural Network yang punya "memori" - mampu memproses data sekuensial seperti teks, kata per kata
Mengapa RNN? Masalah dengan Neural Network Biasa
Neural Network Biasa (Feedforward)
- Memproses semua input sekaligus
- Tidak mengerti urutan
- "kucing makan ikan" = "ikan makan kucing"
- Input harus ukuran tetap
RNN
- Memproses input satu per satu (sekuensial)
- Mengingat konteks sebelumnya via hidden state
- Memahami urutan kata
- Bisa menerima input panjang bervariasi
1. RNN Dasar - Memproses Kata per Kata
RNN membaca kata satu per satu. Setiap langkah, ia menggabungkan kata baru dengan "memori" dari kata-kata sebelumnya (hidden state).
Hidden State = Memori: Bayangkan Anda membaca buku. Setiap kata yang Anda baca, otak Anda menggabungkan kata baru dengan pemahaman kalimat sejauh ini. Hidden state adalah "pemahaman sejauh ini" dari RNN.
2. LSTM - Long Short-Term Memory
RNN biasa punya masalah: ia melupakan informasi dari kata-kata yang jauh (vanishing gradient). LSTM menyelesaikan ini dengan "gerbang" yang mengontrol apa yang diingat dan dilupakan.
3 Gerbang LSTM:
1. Forget Gate (Gerbang Lupa): Memutuskan informasi apa yang harus dilupakan dari memori lama
2. Input Gate (Gerbang Input): Memutuskan informasi baru apa yang disimpan ke memori
3. Output Gate (Gerbang Output): Memutuskan bagian memori mana yang menjadi output
Analogi: Seperti menulis catatan. Forget gate = menghapus catatan lama yang tidak relevan. Input gate = menulis catatan baru. Output gate = memilih catatan mana yang dibaca saat ini.
3. Sequence-to-Sequence: Fondasi Menuju Transformer
Dengan menggabungkan dua RNN (encoder + decoder), kita bisa mengubah satu sekuens ke sekuens lain - misalnya terjemahan bahasa. Ini adalah cikal bakal arsitektur encoder-decoder.
Masalah Seq2Seq: Semua informasi input dikompresi menjadi satu vektor (bottleneck). Untuk kalimat panjang, informasi bisa hilang. Ini yang memotivasi penemuan Attention Mechanism dan akhirnya Transformer di halaman berikutnya!