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, kursun bir parçasıdır
Python ile TensorFlow’a Giriş
Egzersiz 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ı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
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))