Gradien menghilang dan meledak

Recurrent Neural Networks (RNN) untuk Pemodelan Bahasa dengan Keras

David Cecchini

Data Scientist

Melatih model RNN

Versi unrolled dari model RNN, menampilkan fase forward propagation dari satu kata input ke berikutnya hingga akhir kalimat, dan fase back-propagation yang memperbarui bobot seiring waktu

Recurrent Neural Networks (RNN) untuk Pemodelan Bahasa dengan Keras

Tampilkan fase forward propagation dengan definisi matematis variabel yang terlibat

Contoh: $$a_2 = f(W_a, a_1, x_2)$$

$$= f(W_a, f(W_a, a_0, x_1), x_2)$$

Recurrent Neural Networks (RNN) untuk Pemodelan Bahasa dengan Keras

Menampilkan fase back-propagation dengan definisi matematis

Ingat bahwa:

$$ a_T = f(W_a, a_{T-1}, x_T) $$

$a_T$ juga bergantung pada $a_{T-1}$ yang bergantung pada $a_{T-2}$ dan $W_a$, dan seterusnya!

Recurrent Neural Networks (RNN) untuk Pemodelan Bahasa dengan Keras

Lanjutan BPTT

Menghitung turunan menghasilkan

$$ \frac{\partial a_t}{\partial W_a} = (W_a)^{t-1}g(X) $$

  • $(W_a)^{t-1}$ dapat konvergen ke 0

  • atau divergen ke $+\infty$!

Recurrent Neural Networks (RNN) untuk Pemodelan Bahasa dengan Keras

Solusi untuk masalah gradien

Beberapa solusi yang dikenal:

Exploding gradients

  • Gradient clipping / scaling

Vanishing gradients

  • Inisialisasi matriks W dengan lebih baik
  • Gunakan regularisasi
  • Gunakan ReLU alih-alih tanh / sigmoid / softmax
  • Gunakan sel LSTM atau GRU!
Recurrent Neural Networks (RNN) untuk Pemodelan Bahasa dengan Keras

Ayo berlatih!

Recurrent Neural Networks (RNN) untuk Pemodelan Bahasa dengan Keras

Preparing Video For Download...