Gradyanlarla optimize etme
Amacın, en aza indirmek istediğin bir kayıp fonksiyonu olan $y = x^{2}$’yi kullanmak. Bunu, farklı x değerlerinde GradientTape() işlemiyle eğimi (slope) hesaplayarak yapabilirsin. Eğim pozitifse, x’i azaltarak kaybı düşürebilirsin. Negatifse, x’i artırarak kaybı düşürebilirsin. Gradyan inişi (gradient descent) bu şekilde çalışır.

Pratikte, gradyan inişini otomatik olarak yapmak için üst düzey bir tensorflow işlemi kullanırsın. Ancak bu egzersizde, x değerleri -1, 1 ve 0 için eğimi hesaplayacaksın. Kullanabileceğin işlemler: GradientTape(), multiply(), ve Variable().
Bu egzersiz
Python ile TensorFlow’a Giriş
kursunun bir parçasıdırEgzersiz talimatları
x’i, başlangıç değerix0olan bir değişken olarak tanımla.- Kayıp fonksiyonu
y’yi,xilex’in çarpımına eşitle. Operatör aşırı yüklemesini (operator overloading) kullanma. - Fonksiyonun,
y’ninx’e göre gradyanını döndürmesini sağla.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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))