Back to Pembelajaran Mesin Lanjut

Vanishing Gradient Problem in RNNs

Questions/Cues

  • Mengapa vanishing gradient terjadi pada RNN?
  • Bagaimana fungsi aktivasi memengaruhi propagasi gradien?
  • Apa dampak eksponensial perkalian gradien?
  • Solusi alternatif selain LSTM untuk masalah ini
  • Perbedaan vanishing vs exploding gradient

Reference Points

  • Lecture_IF3270_RNN.pptx (Slides 6, 8)
  • Goodfellow et al. Deep Learning (Chapter 10)
  • Raschka Machine Learning with PyTorch (Chapter 15)

Pengertian Vanishing Gradient Problem

Vanishing Gradient Problem adalah fenomena dalam pelatihan jaringan saraf berulang (RNN) di mana gradien error menjadi semakin kecil saat propagasi mundur melalui lapisan waktu. Hal ini menyebabkan:

  • Bobot jaringan tidak terupdate secara signifikan pada lapisan awal
  • Pembelajaran jangka panjang (long-term dependencies) menjadi tidak mungkin
  • Konvergensi model melambat atau berhenti sama sekali Masalah ini terutama kritis pada RNN karena sifatnya yang berulang (recurrent). Setiap langkah waktu setara dengan lapisan tambahan dalam jaringan feedforward yang sangat dalam. Contoh: RNN dengan 100 langkah waktu setara dengan jaringan feedforward 100 lapisan.

Penyebab Matematis

Penyebab utama vanishing gradient terletak pada aturan rantai (chain rule) dalam kalkulus diferensial. Dalam RNN, gradien error ∂E/∂W dihitung dengan mengalikan serangkaian turunan parsial:

∂E/∂W = ∂E/∂h_t * ∂h_t/∂h_{t-1} * ∂h_{t-1}/∂h_{t-2} * ... * ∂h_1/∂W

Jika setiap elemen ∂h_t/∂h_{t-1} bernilai < 1 (karena fungsi aktivasi tanh/sigmoid yang memiliki turunan maksimal 1), hasil perkalian akan mengecil secara eksponensial seiring bertambahnya langkah waktu. Contoh numerik: jika rata-rata turunan parsial = 0.8, setelah 50 langkah waktu gradien akan menjadi 0.8⁵⁰ ≈ 1.4e-05 (nyaris nol).

Dampak pada Pelatihan Model

  1. Gagal mempelajari ketergantungan jangka panjang: Model hanya mampu mengingat pola dalam rentang waktu pendek (misal 5-10 langkah)
  2. Stagnasi parameter: Bobot di lapisan awal tetap statis meski pelatihan berlanjut
  3. Bias terhadap informasi terbaru: Model menjadi terlalu fokus pada input terkini dan mengabaikan konteks historis Contoh nyata: Pada analisis sentimen kalimat panjang, model mungkin hanya mempertimbangkan kata terakhir (“Saya suka film ini tapi aktingnya buruk, alur ceritanya kacau, dan endingnya tidak memuaskan → positif?“)

Solusi Umum (Non-LSTM)

1. Fungsi Aktivasi ReLU: Memiliki turunan konstan 1 untuk input positif, mencegah perkalian gradien mengecil. Namun rentan terhadap exploding gradient. 2. Inisialisasi Bobot Ortogonal: Mempertahankan norma gradien dengan menginisialisasi matriks bobot recurrent sebagai matriks ortogonal (WᵀW = I) 3. Gradient Clipping: Membatasi nilai maksimum gradien selama backpropagation:

grad_norm = np.linalg.norm(gradients)
if grad_norm > threshold:
gradients *= threshold / grad_norm

4. Skip Connections: Menambahkan jalur langsung yang melewati beberapa lapisan waktu (residual connections), memungkinkan gradien mengalir tanpa melalui fungsi aktivasi.

Summary

Vanishing gradient pada RNN terjadi karena perkalian eksponensial gradien kecil melalui banyak langkah waktu, terutama saat menggunakan fungsi aktivasi seperti tanh/sigmoid. Masalah ini menghambat pembelajaran ketergantungan jangka panjang dan menyebabkan stagnasi parameter. Solusi alternatif termasuk penggunaan ReLU, inisialisasi ortogonal, gradient clipping, dan arsitektur residual, sementara LSTM (tidak dibahas detail di sini) merupakan solusi khusus melalui mekanisme gating.