Optimasi dengan gradien
Anda diberikan fungsi loss, \(y = x^{2}\), yang ingin diminimalkan. Anda dapat melakukannya dengan menghitung kemiringan menggunakan operasi GradientTape() pada berbagai nilai x. Jika kemiringan bernilai positif, Anda dapat menurunkan loss dengan menurunkan x. Jika bernilai negatif, Anda dapat menurunkan loss dengan menaikkan x. Inilah cara kerja gradient descent.

Dalam praktiknya, Anda akan menggunakan operasi tensorflow tingkat tinggi untuk melakukan gradient descent secara otomatis. Namun, pada latihan ini, Anda akan menghitung kemiringan pada nilai x -1, 1, dan 0. Operasi berikut tersedia: GradientTape(), multiply(), dan Variable().
Latihan ini adalah bagian dari kursus
Pendahuluan TensorFlow di Python
Petunjuk latihan
- Definisikan
xsebagai variabel dengan nilai awalx0. - Tetapkan fungsi loss,
y, sama denganxdikalikanx. Jangan gunakan operator overloading. - Atur fungsi agar mengembalikan gradien
yterhadapx.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
def compute_gradient(x0):
# Define x as a variable with an initial value of x0
x = ____(x0)
with GradientTape() as tape:
tape.watch(x)
# Define y using the multiply operation
y = ____
# Return the gradient of y with respect to x
return tape.gradient(____, ____).numpy()
# Compute and print gradients at x = -1, 1, and 0
print(compute_gradient(-1.0))
print(compute_gradient(1.0))
print(compute_gradient(0.0))