Gradient Descent
Gradyan inişi, kayıp fonksiyonunun gradyanına göre ağırlıkları tekrar tekrar güncelleyerek modelleri eğitir. Öğrenme oranları, SGD, momentum ve Adam ele alınır.
Gradyan inişi, doğrusal regresyondan büyük sinir ağlarına kadar çoğu makine öğrenimi modelini eğiten yinelemeli bir optimizasyon algoritmasıdır. Her adımda, kayıp işlevinin her model ağırlığına göre gradyanı hesaplanır ve her ağırlık, kaybın en hızlı düştüğü yön olan gradyanın ters yönünde küçük bir adım atılarak güncellenir. Güncelleme kuralı w ← w − η∇L(w) şeklindedir; burada η, öğrenme oranıdır. Yaygın bir benzetmeye göre kalın sisli dağdan inen bir yürüyüşçü vadiyi göremez; ayağının altındaki eğimi hissederek aşağı doğru tekrar tekrar adım atar ve bunu zemin düzleşene kadar sürdürür.
Gradyan İnişi Nasıl Çalışır#
Her yineleme üç bölümden oluşur. İleri geçiş tahminleri ve kaybı hesaplar, geri yayılım kaybın her ağırlığa göre gradyanını hesaplar ve optimize edici ağırlıkları günceller. Gradyanın çok değişkenli kalkülüsteki tanımına göre gradyan, kayıp yüzeyinde yokuş yukarı yönü gösterir; bu nedenle gradyanın çıkarılması ağırlıkları yokuş aşağı taşır.
Varyantlar, her adımda ne kadar veri kullanıldığına göre farklılaşır. Yığın gradyan inişi, tüm eğitim verisi kümesinin tam gradyanını hesaplar; bu yöntem doğrudur, ancak büyük veri kümelerinde yavaştır. Stokastik gradyan inişi (SGD), gradyanı tek bir örnekten tahmin eder; derin öğrenmede standart olan mini yığın gradyan inişi ise yığın boyutu onlarca ila binlerce örnek arasında olacak şekilde ortalama alarak GPU'ları meşgul tutar. Mini yığın gradyanlarındaki gürültü, ağırlıkların eyer noktalarını ve keskin minimumları aşmasına da yardımcı olur. Eğitim kümesinin tamamından bir kez geçmek bir dönemdir.
Öğrenme Oranını Seçme#
Öğrenme oranı adım boyutunu belirler ve genellikle gradyan inişinde ayarlanacak ilk hiperparametredir. Oran çok küçükse minimuma doğru yavaşça ilerlemek hesaplama kaynaklarını boşa harcar; çok büyükse minimum aşılır. Kuadratik bir kayıpta, kayıp eğriliğinin 2'ye bölünmesiyle bulunan değeri aşan herhangi bir oran, her adımın minimumdan bir öncekinden daha uzağa düşmesine neden olur. Aşağıdaki kod parçası, eğriliği 2 olan (w − 2)² ifadesini PyTorch kullanarak üç farklı öğrenme oranıyla en aza indirir:
import torch
# Minimize loss(w) = (w - 2)^2, whose minimum is at w = 2, with three learning rates
for lr in [0.1, 0.5, 1.1]:
w = torch.tensor(5.0, requires_grad=True)
for step in range(20):
loss = (w - 2) ** 2
loss.backward() # w.grad now holds the slope 2 * (w - 2)
with torch.no_grad():
w -= lr * w.grad # step against the gradient
w.grad.zero_()
print(f"Learning rate {lr}: w = {w.item():.4f} after 20 steps")0,1 oranında ağırlık 20 adımdan sonra hâlâ 2,0346 değerindedir; 0,5 oranı eğriliğin tersine eşit olduğundan ağırlığı tam olarak 2,0000 değerine getirir; 1,1 oranında ise w, her adımda büyüyen bir farkla minimumu aşarak 117,0129 değerine ulaşır. Gerçek eğitim zamanlamaları kısa bir ısınmayla başlar ve ardından oranı, genellikle kosinüs eğrisiyle, düşürür; böylece ilk adımlar kararlı kalır ve son adımlarda ağırlıklar tam değerlerine oturur.
Momentum, Adam ve Modern Optimize Ediciler#
Standart gradyan inişi, kayıp yüzeyindeki dar vadiler arasında zikzak çizer; bu nedenle eğitimlerin çoğunda gelişmiş güncelleme kuralları kullanılır. Momentum, geçmiş gradyanların hareketli ortalamasını biriktirip bu yönde ilerler; böylece salınımı bastırır ve tutarlı yönlerdeki ilerlemeyi hızlandırır. Adam iyileştiricisi, her ağırlığa kendine özgü uyarlanabilir adım boyutu vermek için her parametrenin kareli gradyanlarını da izler; AdamW ise ağırlık azalmasını bu güncellemeden ayırır. Muon, tek bir yönün adıma baskın gelmemesi için her 2B ağırlık matrisinin momentum güncellemesini Newton-Schulz yinelemeleriyle ortogonalleştirir. Ultralytics YOLO26 eğitiminde optimizer="auto", sınıf sayısına göre ayarlanmış öğrenme oranıyla 10.000 iterasyona kadar süren çalışmalar için AdamW'yi seçer; daha uzun çalışmalar içinse evrişim ve doğrusal ağırlıklara Muon tarzı ortogonalleştirilmiş güncellemeler ekleyen MuSGD kullanılır.
Gerçek Dünya Uygulamaları#
Gradyan inişi, neredeyse her derin öğrenme sisteminin arkasındaki eğitim mekanizmasıdır. Otonom araçlarda nesne algılama ağlarını, milyonlarca karede yayaları, işaretleri ve araçları çevreleyen tahmin kutularıyla etiketli kutular arasındaki farkı azaltacak şekilde ayarlar. Tıbbi görüntü analizinde, MRI ve BT taramalarında tümörleri sağlıklı dokudan ayıran evrişimli sinir ağlarını eğitir. Büyük dil modelleri de genellikle trilyonlarca belirteç üzerinde AdamW kullanılarak aynı şekilde eğitilir.
Gradyan İnişi ve İlgili Kavramlar#
- Geri yayılım: Geri yayılım, zincir kuralını kullanarak gradyanları hesaplar; gradyan inişi ise ağırlıkları güncellemek için bu gradyanları kullanır. Her eğitim adımında bu iki işlem art arda yürütülür ve çoğu zaman birlikte anılır.
- Kayıp işlevi: Kayıp işlevi, model tahminlerinin ne kadar hatalı olduğunu puanlar; gradyan inişi ise bu puanı düşüren yöntemdir.
- Patlayan gradyan: Derin ağlarda gradyanlar kontrolsüz biçimde büyüdüğünde gradyan inişi yıkıcı adımlar atar; gradyan kırpma, her güncellemeden önce gradyan normunu üst sınırda tutarak bunu önler.
- Evrimsel Algoritmalar: Bu gradyansız yöntemler, gradyanları hesaplamadan örnekleyip adayları seçerek arama yapar; bu nedenle hiperparametre seçimleri gibi türevlenemeyen hedeflere uygundur.










