Ultralytics YOLO27: Bekleme listesine katıl.
YOLO'yu lisansla
Ultralytics Sözlüğüne dön

Adam Optimizer

Adam, momentumu parametre başına adım boyutlarıyla birleştirir ve bu boyutları yakın geçmişteki gradyan büyüklüklerine göre ölçekler. Güncelleme kuralı, varsayılan değerler, AdamW ve Adam ile SGD karşılaştırması.

Uyarlamalı Moment Tahmini'nin kısaltması olan Adam optimize edicisi, sinir ağlarını eğitmek için kullanılan ve her parametreye kendi uyarlamalı adım büyüklüğünü veren bir optimizasyon algoritmasıdır. Kingma ve Ba'nın Adam: Stokastik Optimizasyon için Bir Yöntem adlı çalışmasında tanıtılan yöntem, geçmiş gradyanların ve karelerinin hareketli ortalamalarını kullanarak stokastik gradyan inişini (SGD) geliştirir. İlk aşamalarda hızlı ilerlemesi ve esnek varsayılan ayarları, Adam'ı derin öğrenmede en yaygın başlangıç optimize edicisi hâline getirmiştir; AdamW varyantı ise dönüştürücüleri ve büyük dil modellerini eğitmek için standart tercihtir.

Adam Nasıl Çalışır#

Eğitim, her ağırlığın gradyanına göre tekrar tekrar adım atarak bir kayıp fonksiyonunu en aza indirir. Standart SGD, her gradyanı aynı öğrenme oranıyla çarpar. Adam, her parametre için iki ek değer tutar ve her adımda bu değerleri mevcut gradyandan günceller: t ve g.

  1. Birinci moment (momentum): m = β1·m + (1 − β1)·g; güncellemenin tutarlı bir yönde ilerlemesini sağlayan, üstel olarak azalan gradyan ortalaması.
  2. İkinci moment: v = β2·v + (1 − β2)·g²; her parametrenin gradyanlarının genellikle ne kadar büyük olduğunu izleyen, karelenmiş gradyanların azalan ortalaması.
  3. Yanlılık düzeltmesi: m̂ = m / (1 − β1^t) ve v̂ = v / (1 − β2^t); her iki ortalamanın da sıfırdan başlamasını telafi eder.
  4. Güncelleme: θ = θ − lr · m̂ / (√v̂ + ε).

Çalışmanın varsayılan değerleri, PyTorch'un torch.optim.Adam uygulamasında da kullanılır: lr = 0.001, β1 = 0.9, β2 = 0.999 ve ε = 1e-8. √v̂ ile bölmek, her adımı parametrenin tipik gradyan büyüklüğüne göre normalleştirir; böylece gradyanlar ister çok küçük ister çok büyük olsun adımlar öğrenme oranına yakın kalır. Ayrıca m̂ içinde pozitif ve negatif gradyanların birbirini götürdüğü gürültülü yönlerde adımlar küçülür. Aşağıdaki kod parçası, gradyan ölçekleri 1.000 kat farklı olan iki parametrede SGD ve Adam'ın ilk adımını karşılaştırır:

import torch

# Two parameters whose gradients differ in scale by 1,000x
scale = torch.tensor([1000.0, 1.0])

for name, optimizer_cls in [("SGD", torch.optim.SGD), ("Adam", torch.optim.Adam)]:
    w = torch.zeros(2, requires_grad=True)
    optimizer = optimizer_cls([w], lr=0.001)

    loss = (scale * w).sum()  # gradient is [1000, 1]
    loss.backward()
    optimizer.step()
    print(f"{name} first step: {[round(v, 4) for v in w.tolist()]}")

SGD, birinci parametreyi -1,0'a, ikinciyi -0,001'e taşır; gradyanları izleyen bu fark 1.000 kattır. Adam ise normalleştirilmiş adımı ham büyüklüğü yerine gradyanın yönüne ve tutarlılığına bağlı olduğundan her iki parametreyi de tam olarak öğrenme oranı olan -0,001 kadar hareket ettirir.

Adam ve AdamW#

Yaygın uygulamasında Adam, bir düzenlileştirme türü olan ağırlık çürümesini gradyana eklenen bir L2 cezası olarak uygular. Bu ceza da diğer her şeyle birlikte √v̂ değerine bölündüğünden, büyük gradyanlı ağırlıklar çok az düzenlileştirilir. Loshchilov ve Hutter'ın ayrıştırılmış ağırlık çürümesi yöntemi, uyarlamalı güncellemeden bağımsız olarak her adımda ağırlıkları doğrudan küçülterek bu sorunu çözer. Makalenin deneylerinde ortaya çıkan AdamW, görüntü sınıflandırmada Adam'dan daha iyi genelleme sağladı ve torch.optim.AdamW olarak kullanılabilir.

Adam ve SGD Karşılaştırması#

Momentumlu SGD, tek bir genel öğrenme oranı kullanır ve her parametre için bir arabellek saklar; Adam ise 32 bit duyarlıkta parametre başına iki değer, yani 8 bayt saklar. Bu da 7 milyar parametreli bir model için 56 GB optimize edici durumu demektir. Adam genellikle başlangıçta daha hızlı ilerler, öğrenme oranına daha az duyarlıdır ve dönüştürücüleri SGD'den çok daha güvenilir biçimde eğitir. İyi ayarlanmış SGD, evrişimli görüntü modellerinde çoğu zaman aynı veya daha iyi son doğruluğa ulaşır. Wilson ve diğerleri, test ettikleri görüntü sınıflandırma ve dil görevlerinde uyarlamalı yöntemlerin çoğu zaman SGD'den daha kötü genelleme yaptığını buldu.

Ultralytics YOLO eğitimi bu dengeyi yansıtır: Varsayılan optimizer="auto", sınıf sayısına göre ayarlanmış bir başlangıç öğrenme oranıyla, 10.000 iterasyona kadar olan çalışmalarda AdamW'yi seçer; daha uzun programlarda ise SGD ile Muon'un hibriti olan MuSGD'ye geçer. Optimize ediciyi açıkça ayarlarken öğrenme oranını da ayarlaman gerekir; çünkü varsayılan lr0=0.01, SGD için uygundur ve olağan Adam oranının on katıdır.

from ultralytics import YOLO

# Önceden eğitilmiş bir YOLO26n modeli yükle
model = YOLO("yolo26n.pt")

# AdamW ile ve Adam'a uygun bir başlangıç öğrenme oranı kullanarak eğit
results = model.train(data="coco8.yaml", epochs=5, optimizer="AdamW", lr0=0.001)

YOLO26 Adam ailesinden bir optimize ediciyle eğitildiğinde, momentum argümanı (varsayılan 0.937) β1 değerini belirler; β2 ise 0.999 değerinde sabit kalır.

  • AdaGrad: Her adımı geçmiş tüm gradyanların kareleri toplamının kareköküne böler; dolayısıyla adım büyüklükleri yalnızca küçülür. Bu yöntem seyrek özellikler için uygundur ancak uzun eğitim çalışmalarını yavaşlatır.
  • RMSProp: AdaGrad'ın hareketli toplamını, karelenmiş gradyanların üstel olarak azalan ortalamasıyla değiştirir. Adam, esasen momentum ve yanlılık düzeltmesi eklenmiş RMSProp'tur.
  • Muon: Gizli katmanların 2B ağırlık matrisleri için kullanılan bu optimize edici, her momentum güncellemesini Newton–Schulz iterasyonlarıyla ortogonalleştirir ve parametre başına tek bir durum arabelleği tutar; bu, Adam'ın optimize edici durumunun yarısıdır.

Çözümleri keşfet

Sporda bilgisayarlı görü

Sporda bilgisayarlı görü

Ultralytics YOLO'nun oyuncu ve top takibi, performans analitiği, antrenörlük içgörüleri ve sporcu rehabilitasyonuyla spor alanında görsel yapay zekâyı nasıl güçlendirdiğini keşfet.
Daha fazla bilgi edin
Hava görüntüleri için bilgisayarlı görü

Hava görüntüleri için bilgisayarlı görü

İHA ve hava görüntülerini Ultralytics YOLO ile tarım, su ürünleri yetiştiriciliği, koruma çalışmaları ve jeo-uzamsal analiz için gerçek zamanlı içgörülere dönüştür.
Daha fazla bilgi edin
Havacılıkta bilgisayarlı görü

Havacılıkta bilgisayarlı görü

Uçak denetimi, pistteki yabancı madde tespiti, havaalanı yer operasyonları ve kompozit malzeme kusurlarının tespiti için Ultralytics YOLO ile havacılık ve uzay sektöründe bilgisayarlı görü uygula.
Daha fazla bilgi edin
Güvenlikte bilgisayarlı görü

Güvenlikte bilgisayarlı görü

Ultralytics YOLO modelleriyle her sahayı koru. Görsel yapay zekâ; çevre izleme, tehdit tespiti, plaka tanıma ve iş yeri güvenliğini destekler.
Daha fazla bilgi edin
Robotikte bilgisayarlı görü

Robotikte bilgisayarlı görü

Ultralytics YOLO modelleriyle daha akıllı makinelere güç ver. Robotikte görsel yapay zekâ; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü destekler.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Görüntü yapay zekâsı; paket denetimini, ayrıştırmayı, araç takibini ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Perakendede bilgisayarlı görü

Perakendede bilgisayarlı görü

Ultralytics YOLO modelleriyle perakendeyi yeniden tasarla. Görüntü yapay zekâsı; envanter takibini, raf izlemeyi, kuyruk yönetimini ve daha kapsamlı müşteri analizlerini mümkün kılar.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

Sağlık hizmetlerinde bilgisayarlı görü

Ultralytics YOLO modelleriyle sağlık çözümleri geliştir. Sağlık hizmetlerinde görüntü yapay zekâsı; daha hızlı tıbbi görüntüleme, daha akıllı tanı ve hasta takibini mümkün kılar.
Daha fazla bilgi edin
Üretimde bilgisayarlı görü

Üretimde bilgisayarlı görü

Ultralytics YOLO modelleriyle üretimi optimize et. Görsel yapay zekâ; kalite kontrolünü, kusur tespitini, kişisel koruyucu donanım uyumunu ve montaj hattı otomasyonunu destekler.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görüden yararlan. Görsel yapay zekâ; daha akıllı yollar için yol güvenliğini, sürüş desteğini ve araç otomasyonunu ileri taşır.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görüntü yapay zekâsı kazandır. Daha yüksek ve akıllı verim için mahsul izleme, hayvan takibi ve hassas tarımı destekle.
Daha fazla bilgi edin

Geleceğin yapay zekasını birlikte inşa edelim!

Makine öğreniminin geleceğine yolculuğuna başla