CodeBlanks Logo Icon CodeBlanks

Autograd nedir?

Autograd, tensor işlemlerinin gradyanlarını otomatik hesaplar.

Autograd nedir?

Sinir ağlarını eğitmek, kaybın her parametreye göre türevini (gradyanını) bilmeyi gerektirir. Autograd, tensörlerle yapılan işlemleri kaydeder ve zincir kuralını uygulayarak bu türevleri otomatik hesaplar:

x = torch.tensor(3.0, requires_grad=True)
y = x ** 2 + 2 * x      # y = x² + 2x
y.backward()            # dy/dx hesapla
print(x.grad.item())    # 8.0  (2x + 2, x = 3)

Milyonlarca parametreli ağlarda türevleri elle yazmak imkânsızdır; autograd derin öğrenmeyi pratik yapan temel araçtır.

Gradyan ne söyler?

Gradyan, kaybın en hızlı arttığı yönü gösterir. Parametreyi gradyanın tersi yönünde küçük bir adım oynatmak kaybı azaltır; bu, gradyan inişinin (gradient descent) özüdür:

w = torch.tensor(5.0, requires_grad=True)
kayip = (w - 2) ** 2       # en küçüğü w = 2
kayip.backward()
print(w.grad.item())       # 6.0: pozitif, w'yi azalt
with torch.no_grad():
    w -= 0.1 * w.grad      # w = 4.4, 2'ye yaklaştı

Bu döngü binlerce kez tekrarlanınca parametreler kaybı en aza indiren değerlere ilerler.

Uygulama İlk türev

x = torch.tensor(2.0, requires_grad=True) için y = x ** 3 - 4 * x hesapla ve backward() çağır. y.item() ve x.grad.item() değerlerini aynı satırda yazdır.

Başlangıç kodu

model.py
import torch

# buraya yaz

Örnek çözüm

model.py
import torch

x = torch.tensor(2.0, requires_grad=True)
y = x ** 3 - 4 * x
y.backward()
print(y.item(), x.grad.item())

Beklenen çıktı

0.0 8.0

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 <code>y = 3 * x ** 2</code> için x = 2 iken <code>x.grad</code> kaç olur?

  • 6
  • 24
  • 3
  • 12 Doğru cevap

Açıklama: dy/dx = 6x; x = 2 için 12.

2 Türevleri hesaplat.

Soru
kayip.____()
Cevap
kayip.backward()

Açıklama: backward() kayıptan geriye doğru tüm gradyanları hesaplar.

3 Kavramları eşleştir.

Kavram Anlamı
requires_grad Türevi izlenir
backward() Gradyanları hesapla
x.grad Hesaplanan türev
gradyan inişi Tersi yönde adım

İleri seviye bölümündeki tüm dersler