Gradienți care dispar și explozie de gradienți

Rețele Neuronale Recurente (RNN) pentru Modelare a Limbajului cu Keras

David Cecchini

Data Scientist

Antrenarea modelelor RNN

Versiunea desfășurată a modelului RNN, care arată faza de propagare înainte de la un cuvânt de intrare la următorul până la sfârșitul propoziției, și faza de propagare înapoi care actualizează ponderile în timp

Rețele Neuronale Recurente (RNN) pentru Modelare a Limbajului cu Keras

Afișează faza de propagare înainte cu definițiile matematice ale variabilelor implicate

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

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

Rețele Neuronale Recurente (RNN) pentru Modelare a Limbajului cu Keras

Arată faza de propagare înapoi cu definițiile matematice

Rețineți că:

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

$a_T$ depinde și de $a_{T-1}$, care depinde de $a_{T-2}$ și $W_a$, și așa mai departe!

Rețele Neuronale Recurente (RNN) pentru Modelare a Limbajului cu Keras

Continuarea BPTT

Calculul derivatelor conduce la

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

  • $(W_a)^{t-1}$ poate converge la 0

  • sau diverge la $+\infty$!

Rețele Neuronale Recurente (RNN) pentru Modelare a Limbajului cu Keras

Soluții la problemele gradienților

Există câteva soluții cunoscute:

Explozie de gradienți

  • Tăierea / scalarea gradienților

Gradienți care dispar

  • Inițializarea mai bună a matricei W
  • Utilizarea regularizării
  • Utilizarea ReLU în loc de tanh / sigmoid / softmax
  • Utilizarea celulelor LSTM sau GRU!
Rețele Neuronale Recurente (RNN) pentru Modelare a Limbajului cu Keras

Să exersăm!

Rețele Neuronale Recurente (RNN) pentru Modelare a Limbajului cu Keras

Preparing Video For Download...