Mulai sekarangMulai gratis

Masalah exploding gradient

Dalam latihan video, Anda mempelajari dua masalah yang dapat muncul saat bekerja dengan model RNN: vanishing gradient dan exploding gradient.

Latihan ini membahas masalah exploding gradient, menunjukkan bahwa turunan suatu fungsi dapat meningkat secara eksponensial, serta cara mengatasinya dengan teknik sederhana.

Data sudah dimuat ke lingkungan sebagai X_train, X_test, y_train dan y_test.

Anda akan menggunakan pengoptimal Stochastic Gradient Descent (SGD) dan Mean Squared Error (MSE) sebagai fungsi loss.

Pada langkah pertama, Anda akan mengamati gradient yang meledak dengan menghitung MSE pada himpunan latih dan uji. Pada langkah 2, Anda akan mengubah pengoptimal menggunakan parameter clipvalue untuk menyelesaikan masalah tersebut.

Stochastic Gradient Descent di Keras dimuat sebagai SGD.

Latihan ini merupakan bagian dari kursus

Recurrent Neural Networks (RNN) untuk Pemodelan Bahasa dengan Keras

Lihat Kursus

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

# 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' % (____, ____))
Edit dan Jalankan Kode