CodeBlanks Logo Icon CodeBlanks

Özet - Optimizasyon

Bu grupta SGD, Adam ve learning rate'i öğrendin.

Özet: optimizasyon

Bu grupta:

  • Optimize ediciler gradyanı adıma çevirir; arayüz zero_grad() + step().
  • SGD p -= lr·g; momentum tutarlı yönleri biriktirir.
  • Adam m ve v ortalamalarıyla parametre başına uyarlamalı adım atar; ilk adım ≈ lr, ölçekten bağımsız.
  • Öğrenme oranı en önemli ayardır; ısınma, kosinüs ve OneCycle zamanlayıcıları.
  • zero_grad konumu, weight_decay ve AdamW.

Uygulama Kötü ölçekli kayıp

f(w) = 100·(w₀ - 1)² + (w₁ - 2)² fonksiyonunu w = [0, 0]'dan 100 adımda küçült: bir kez SGD(lr=0.009), bir kez Adam(lr=0.1) ile. Her optimize edici için son w'yi round(..., 2) uygulanmış liste olarak alt alta yazdır (önce SGD).

Başlangıç kodu

model.py
import torch

# buraya yaz

Örnek çözüm

model.py
import torch

for yap in [lambda p: torch.optim.SGD(p, lr=0.009), lambda p: torch.optim.Adam(p, lr=0.1)]:
    w = torch.zeros(2, requires_grad=True)
    opt = yap([w])
    for _ in range(100):
        opt.zero_grad()
        (100 * (w[0] - 1) ** 2 + (w[1] - 2) ** 2).backward()
        opt.step()
    print([round(v, 2) for v in w.tolist()])

Beklenen çıktı

[1.0, 1.67]
[1.0, 2.01]

Soru ve cevaplar

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

1 Kötü ölçeklenmiş (bir yönde çok dik) bir kayıpta hangisi genellikle daha hızlı ilerler?

  • İkisi aynı
  • Hiçbiri
  • Adam Doğru cevap
  • Momentumsuz SGD

Açıklama: Adam her yönü kendi gradyan ölçeğine göre normalleştirir.

2 Ayrık ağırlık azaltmalı Adam kur.

Soru
opt = torch.optim.____(model.parameters(), lr=1e-3, weight_decay=0.01)
Cevap
opt = torch.optim.AdamW(model.parameters(), lr=1e-3, weight_decay=0.01)

Açıklama: AdamW ağırlık azaltmayı uyarlamalı adımdan ayırır.

3 Optimize edicileri özelliklerle eşleştir.

Kavram Anlamı
SGD Basit, gradyanla orantılı
SGD + momentum Hız birikimi
Adam Uyarlamalı, ölçekten bağımsız
AdamW Transformer varsayılanı

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