Kaybolan ve patlayan gradyanlar

Keras ile Dil Modellemesi için Yinelenen Sinir Ağları (RNN)

David Cecchini

Data Scientist

RNN modellerini eğitme

Cümlenin sonuna kadar bir giriş sözcükten diğerine ileri yayılımı ve zaman içinde ağırlıkların güncellendiği geri yayılımı gösteren, açılmış RNN modeli

Keras ile Dil Modellemesi için Yinelenen Sinir Ağları (RNN)

İleri yayılım aşamasını ve ilgili değişkenlerin matematiksel tanımını gösterir

Örnek: $$a_2 = f(W_a, a_1, x_2)$$

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

Keras ile Dil Modellemesi için Yinelenen Sinir Ağları (RNN)

Matematiksel tanımlarla geri yayılım aşamasını gösterir

Unutmayın:

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

$a_T$, $a_{T-1}$’e; o da $a_{T-2}$ ve $W_a$’ya vb. bağlıdır!

Keras ile Dil Modellemesi için Yinelenen Sinir Ağları (RNN)

BPTT devamı

Türevleri hesaplamak şuna yol açar

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

  • $(W_a)^{t-1}$ 0’a yakınsayabilir

  • veya $+\infty$’ye sapabilir!

Keras ile Dil Modellemesi için Yinelenen Sinir Ağları (RNN)

Gradyan sorunlarına çözümler

Bazı çözümler bilinir:

Patlayan gradyanlar

  • Gradyan kırpma / ölçekleme

Kaybolan gradyanlar

  • W matrisini daha iyi başlatın
  • Düzenlileştirme kullanın
  • tanh / sigmoid / softmax yerine ReLU kullanın
  • LSTM veya GRU hücreleri kullanın!
Keras ile Dil Modellemesi için Yinelenen Sinir Ağları (RNN)

Hadi pratik yapalım!

Keras ile Dil Modellemesi için Yinelenen Sinir Ağları (RNN)

Preparing Video For Download...