Menghindari local minima
Soal sebelumnya menunjukkan betapa mudahnya terjebak pada local minima. Kita memiliki masalah optimasi sederhana dengan satu variabel, dan gradient descent tetap gagal menemukan global minimum ketika harus melewati local minima terlebih dahulu. Salah satu cara untuk menghindari masalah ini adalah menggunakan momentum, yang memungkinkan optimizer menembus local minima. Kita akan kembali menggunakan fungsi loss dari soal sebelumnya, yang telah didefinisikan dan tersedia untuk Anda sebagai loss_function().

Beberapa optimizer di tensorflow memiliki parameter momentum, termasuk SGD dan RMSprop. Anda akan menggunakan RMSprop pada latihan ini. Perhatikan bahwa x_1 dan x_2 kali ini diinisialisasi dengan nilai yang sama. Selain itu, keras.optimizers.RMSprop() juga telah diimpor untuk Anda dari tensorflow.
Latihan ini adalah bagian dari kursus
Pendahuluan TensorFlow di Python
Petunjuk latihan
- Atur operasi
opt_1untuk menggunakan learning rate 0.01 dan momentum 0.99. - Atur
opt_2untuk menggunakan optimizer root mean square propagation (RMS) dengan learning rate 0.01 dan momentum 0.00. - Definisikan operasi minimization untuk
opt_2. - Cetak
x_1danx_2sebagai arraynumpy.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Initialize x_1 and x_2
x_1 = Variable(0.05,float32)
x_2 = Variable(0.05,float32)
# Define the optimization operation for opt_1 and opt_2
opt_1 = keras.optimizers.RMSprop(learning_rate=____, momentum=____)
opt_2 = ____
for j in range(100):
opt_1.minimize(lambda: loss_function(x_1), var_list=[x_1])
# Define the minimization operation for opt_2
____
# Print x_1 and x_2 as numpy arrays
print(____, ____)