Patlayan gradyan problemi
Video egzersizinde, RNN modelleriyle çalışırken ortaya çıkabilecek iki sorunu öğrendin: sönümlenen ve patlayan gradyan problemleri.
Bu egzersiz, patlayan gradyan problemini inceliyor; bir fonksiyonun türevinin üstel olarak artabileceğini gösteriyor ve bunu basit bir teknikle nasıl çözeceğini anlatıyor.
Veriler çalışma ortamında zaten X_train, X_test, y_train ve y_test olarak yüklü.
Bir Stochastic Gradient Descent (SGD) iyileştirici (optimizer) ve kayıp fonksiyonu olarak Mean Squared Error (MSE) kullanacaksın.
İlk adımda, eğitim ve test kümelerinde MSE hesaplayarak gradyanın nasıl patladığını gözlemleyeceksin. 2. adımda ise clipvalue parametresini kullanarak iyileştiriciyi değiştirip sorunu çözeceksin.
Keras'ta Stochastic Gradient Descent SGD olarak yüklenir.
Bu egzersiz
Keras ile Dil Modellemesi için Yinelenen Sinir Ağları (RNN)
kursunun bir parçasıdırUygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# Create a Keras model with one hidden Dense layer
model = Sequential()
model.add(Dense(25, input_dim=20, activation='relu', kernel_initializer=he_uniform(seed=42)))
model.add(Dense(1, activation='linear'))
# Compile and fit the model
model.compile(loss='mean_squared_error', optimizer=____(learning_rate=0.01, momentum=0.9))
history = model.fit(X_train, y_train, validation_data=(____, ____), epochs=100, verbose=0)
# See Mean Square Error for train and test data
train_mse = model.____(X_train, y_train, verbose=0)
test_mse = model.evaluate(X_test, y_test, verbose=0)
# Print the values of MSE
print('Train: %.3f, Test: %.3f' % (____, ____))