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, kursun bir parçasıdır
Keras ile Dil Modellemesi için Yinelenen Sinir Ağları (RNN)
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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' % (____, ____))