MulaiMulai sekarang secara gratis

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.

The image shows a plot of y equals x squared. It also shows the gradient at x equals -1, x equals 0, and x equals 1.

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

Lihat Kursus

Petunjuk latihan

  • Definisikan x sebagai variabel dengan nilai awal x0.
  • Tetapkan fungsi loss, y, sama dengan x dikalikan x. Jangan gunakan operator overloading.
  • Atur fungsi agar mengembalikan gradien y terhadap x.

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))
Edit dan Jalankan Kode