Mulai sekarangMulai 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 merupakan bagian dari kursus

Pendahuluan TensorFlow di Python

Lihat Kursus

Instruksi 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 langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

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